generic_acl.h 1002 B

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