acl.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*
  2. * JFFS2 -- Journalling Flash File System, Version 2.
  3. *
  4. * Copyright © 2006 NEC Corporation
  5. *
  6. * Created by KaiGai Kohei <kaigai@ak.jp.nec.com>
  7. *
  8. * For licensing information, see the file 'LICENCE' in this directory.
  9. *
  10. */
  11. struct jffs2_acl_entry {
  12. jint16_t e_tag;
  13. jint16_t e_perm;
  14. jint32_t e_id;
  15. };
  16. struct jffs2_acl_entry_short {
  17. jint16_t e_tag;
  18. jint16_t e_perm;
  19. };
  20. struct jffs2_acl_header {
  21. jint32_t a_version;
  22. };
  23. #ifdef CONFIG_JFFS2_FS_POSIX_ACL
  24. #define JFFS2_ACL_NOT_CACHED ((void *)-1)
  25. extern int jffs2_permission(struct inode *, int);
  26. extern int jffs2_acl_chmod(struct inode *);
  27. extern int jffs2_init_acl_pre(struct inode *, struct inode *, int *);
  28. extern int jffs2_init_acl_post(struct inode *);
  29. extern void jffs2_clear_acl(struct jffs2_inode_info *);
  30. extern struct xattr_handler jffs2_acl_access_xattr_handler;
  31. extern struct xattr_handler jffs2_acl_default_xattr_handler;
  32. #else
  33. #define jffs2_permission (NULL)
  34. #define jffs2_acl_chmod(inode) (0)
  35. #define jffs2_init_acl_pre(dir_i,inode,mode) (0)
  36. #define jffs2_init_acl_post(inode) (0)
  37. #define jffs2_clear_acl(f)
  38. #endif /* CONFIG_JFFS2_FS_POSIX_ACL */