xref: /openbmc/linux/fs/jffs2/acl.h (revision cfc8dc6f)
1652ecc20SKaiGai Kohei /*
2652ecc20SKaiGai Kohei  * JFFS2 -- Journalling Flash File System, Version 2.
3aa98d7cfSKaiGai Kohei  *
4c00c310eSDavid Woodhouse  * Copyright © 2006  NEC Corporation
5aa98d7cfSKaiGai Kohei  *
6652ecc20SKaiGai Kohei  * Created by KaiGai Kohei <kaigai@ak.jp.nec.com>
7652ecc20SKaiGai Kohei  *
8652ecc20SKaiGai Kohei  * For licensing information, see the file 'LICENCE' in this directory.
9652ecc20SKaiGai Kohei  *
10652ecc20SKaiGai Kohei  */
11c00c310eSDavid Woodhouse 
12de1f72faSKaiGai Kohei struct jffs2_acl_entry {
13aa98d7cfSKaiGai Kohei 	jint16_t	e_tag;
14aa98d7cfSKaiGai Kohei 	jint16_t	e_perm;
15aa98d7cfSKaiGai Kohei 	jint32_t	e_id;
16de1f72faSKaiGai Kohei };
17aa98d7cfSKaiGai Kohei 
18de1f72faSKaiGai Kohei struct jffs2_acl_entry_short {
19aa98d7cfSKaiGai Kohei 	jint16_t	e_tag;
20aa98d7cfSKaiGai Kohei 	jint16_t	e_perm;
21de1f72faSKaiGai Kohei };
22aa98d7cfSKaiGai Kohei 
23de1f72faSKaiGai Kohei struct jffs2_acl_header {
24aa98d7cfSKaiGai Kohei 	jint32_t	a_version;
25de1f72faSKaiGai Kohei };
26aa98d7cfSKaiGai Kohei 
27aa98d7cfSKaiGai Kohei #ifdef CONFIG_JFFS2_FS_POSIX_ACL
28aa98d7cfSKaiGai Kohei 
29aa98d7cfSKaiGai Kohei #define JFFS2_ACL_NOT_CACHED ((void *)-1)
30aa98d7cfSKaiGai Kohei 
319ed437c5SDavid Woodhouse extern struct posix_acl *jffs2_get_acl(struct inode *inode, int type);
32aa98d7cfSKaiGai Kohei extern int jffs2_permission(struct inode *, int, struct nameidata *);
33aa98d7cfSKaiGai Kohei extern int jffs2_acl_chmod(struct inode *);
34cfc8dc6fSKaiGai Kohei extern int jffs2_init_acl_pre(struct inode *, struct inode *, int *);
35cfc8dc6fSKaiGai Kohei extern int jffs2_init_acl_post(struct inode *);
36c7afb0f9SKaiGai Kohei extern void jffs2_clear_acl(struct jffs2_inode_info *);
37aa98d7cfSKaiGai Kohei 
38aa98d7cfSKaiGai Kohei extern struct xattr_handler jffs2_acl_access_xattr_handler;
39aa98d7cfSKaiGai Kohei extern struct xattr_handler jffs2_acl_default_xattr_handler;
40aa98d7cfSKaiGai Kohei 
41aa98d7cfSKaiGai Kohei #else
42aa98d7cfSKaiGai Kohei 
439ed437c5SDavid Woodhouse #define jffs2_get_acl(inode, type)		(NULL)
44cfc8dc6fSKaiGai Kohei #define jffs2_permission			(NULL)
45aa98d7cfSKaiGai Kohei #define jffs2_acl_chmod(inode)			(0)
46cfc8dc6fSKaiGai Kohei #define jffs2_init_acl_pre(dir_i,inode,mode)	(0)
47cfc8dc6fSKaiGai Kohei #define jffs2_init_acl_post(inode)		(0)
48c7afb0f9SKaiGai Kohei #define jffs2_clear_acl(f)
49aa98d7cfSKaiGai Kohei 
50aa98d7cfSKaiGai Kohei #endif	/* CONFIG_JFFS2_FS_POSIX_ACL */
51