1 /* 2 * include/linux/generic_acl.h 3 * 4 * (C) 2005 Andreas Gruenbacher <agruen@suse.de> 5 * 6 * This file is released under the GPL. 7 */ 8 9 #ifndef GENERIC_ACL_H 10 #define GENERIC_ACL_H 11 12 #include <linux/posix_acl.h> 13 #include <linux/posix_acl_xattr.h> 14 15 /** 16 * struct generic_acl_operations - filesystem operations 17 * 18 * Filesystems must make these operations available to the generic 19 * operations. 20 */ 21 struct generic_acl_operations { 22 struct posix_acl *(*getacl)(struct inode *, int); 23 void (*setacl)(struct inode *, int, struct posix_acl *); 24 }; 25 26 size_t generic_acl_list(struct inode *, struct generic_acl_operations *, int, 27 char *, size_t); 28 int generic_acl_get(struct inode *, struct generic_acl_operations *, int, 29 void *, size_t); 30 int generic_acl_set(struct inode *, struct generic_acl_operations *, int, 31 const void *, size_t); 32 int generic_acl_init(struct inode *, struct inode *, 33 struct generic_acl_operations *); 34 int generic_acl_chmod(struct inode *, struct generic_acl_operations *); 35 36 #endif 37