1 /*-------------------------------------------------------------------------* 2 * File: fs/jffs2/acl.h 3 * POSIX ACL support on JFFS2 FileSystem 4 * 5 * Implemented by KaiGai Kohei <kaigai@ak.jp.nec.com> 6 * Copyright (C) 2006 NEC Corporation 7 * 8 * For licensing information, see the file 'LICENCE' in the jffs2 directory. 9 *-------------------------------------------------------------------------*/ 10 struct jffs2_acl_entry { 11 jint16_t e_tag; 12 jint16_t e_perm; 13 jint32_t e_id; 14 }; 15 16 struct jffs2_acl_entry_short { 17 jint16_t e_tag; 18 jint16_t e_perm; 19 }; 20 21 struct jffs2_acl_header { 22 jint32_t a_version; 23 }; 24 25 #ifdef __KERNEL__ 26 #ifdef CONFIG_JFFS2_FS_POSIX_ACL 27 28 #define JFFS2_ACL_NOT_CACHED ((void *)-1) 29 30 extern int jffs2_permission(struct inode *, int, struct nameidata *); 31 extern int jffs2_acl_chmod(struct inode *); 32 extern int jffs2_init_acl(struct inode *, struct inode *); 33 extern void jffs2_clear_acl(struct inode *); 34 35 extern struct xattr_handler jffs2_acl_access_xattr_handler; 36 extern struct xattr_handler jffs2_acl_default_xattr_handler; 37 38 #else 39 40 #define jffs2_permission NULL 41 #define jffs2_acl_chmod(inode) (0) 42 #define jffs2_init_acl(inode,dir) (0) 43 #define jffs2_clear_acl(inode) 44 45 #endif /* CONFIG_JFFS2_FS_POSIX_ACL */ 46 #endif /* __KERNEL__ */ 47