xref: /openbmc/linux/fs/jffs2/acl.h (revision c00c310e)
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 
31aa98d7cfSKaiGai Kohei extern int jffs2_permission(struct inode *, int, struct nameidata *);
32aa98d7cfSKaiGai Kohei extern int jffs2_acl_chmod(struct inode *);
33aa98d7cfSKaiGai Kohei extern int jffs2_init_acl(struct inode *, struct inode *);
34c7afb0f9SKaiGai Kohei extern void jffs2_clear_acl(struct jffs2_inode_info *);
35aa98d7cfSKaiGai Kohei 
36aa98d7cfSKaiGai Kohei extern struct xattr_handler jffs2_acl_access_xattr_handler;
37aa98d7cfSKaiGai Kohei extern struct xattr_handler jffs2_acl_default_xattr_handler;
38aa98d7cfSKaiGai Kohei 
39aa98d7cfSKaiGai Kohei #else
40aa98d7cfSKaiGai Kohei 
41aa98d7cfSKaiGai Kohei #define jffs2_permission NULL
42aa98d7cfSKaiGai Kohei #define jffs2_acl_chmod(inode)		(0)
43aa98d7cfSKaiGai Kohei #define jffs2_init_acl(inode,dir)	(0)
44c7afb0f9SKaiGai Kohei #define jffs2_clear_acl(f)
45aa98d7cfSKaiGai Kohei 
46aa98d7cfSKaiGai Kohei #endif	/* CONFIG_JFFS2_FS_POSIX_ACL */
47