acl.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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 struct posix_acl *jffs2_get_acl(struct inode *inode, int type);
  26. extern int jffs2_permission(struct inode *, int, struct nameidata *);
  27. extern int jffs2_acl_chmod(struct inode *);
  28. extern int jffs2_init_acl_pre(struct inode *, struct inode *, int *);
  29. extern int jffs2_init_acl_post(struct inode *);
  30. extern void jffs2_clear_acl(struct jffs2_inode_info *);
  31. extern struct xattr_handler jffs2_acl_access_xattr_handler;
  32. extern struct xattr_handler jffs2_acl_default_xattr_handler;
  33. #else
  34. #define jffs2_get_acl(inode, type) (NULL)
  35. #define jffs2_permission (NULL)
  36. #define jffs2_acl_chmod(inode) (0)
  37. #define jffs2_init_acl_pre(dir_i,inode,mode) (0)
  38. #define jffs2_init_acl_post(inode) (0)
  39. #define jffs2_clear_acl(f)
  40. #endif /* CONFIG_JFFS2_FS_POSIX_ACL */