Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
[linux-2.6/verdex.git] / include / linux / generic_acl.h
blob886f5faa08cb6f1ff8c84ff2da04e9144d01c9df
1 /*
2 * include/linux/generic_acl.h
4 * (C) 2005 Andreas Gruenbacher <agruen@suse.de>
6 * This file is released under the GPL.
7 */
9 #ifndef GENERIC_ACL_H
10 #define GENERIC_ACL_H
12 #include <linux/posix_acl.h>
13 #include <linux/posix_acl_xattr.h>
15 /**
16 * struct generic_acl_operations - filesystem operations
18 * Filesystems must make these operations available to the generic
19 * operations.
21 struct generic_acl_operations {
22 struct posix_acl *(*getacl)(struct inode *, int);
23 void (*setacl)(struct inode *, int, struct posix_acl *);
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 *);
36 #endif