xref: /linux/fs/jffs2/acl.h (revision 13e83a49)
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;
25a3ac9730SMatthew Wilcox 	struct jffs2_acl_entry	a_entries[];
26de1f72faSKaiGai Kohei };
27aa98d7cfSKaiGai Kohei 
28aa98d7cfSKaiGai Kohei #ifdef CONFIG_JFFS2_FS_POSIX_ACL
29aa98d7cfSKaiGai Kohei 
300cad6246SMiklos Szeredi struct posix_acl *jffs2_get_acl(struct inode *inode, int type, bool rcu);
31*13e83a49SChristian Brauner int jffs2_set_acl(struct mnt_idmap *idmap, struct dentry *dentry,
32549c7297SChristian Brauner 		  struct posix_acl *acl, int type);
33d3fb6120SAl Viro extern int jffs2_init_acl_pre(struct inode *, struct inode *, umode_t *);
34cfc8dc6fSKaiGai Kohei extern int jffs2_init_acl_post(struct inode *);
35aa98d7cfSKaiGai Kohei 
36aa98d7cfSKaiGai Kohei #else
37aa98d7cfSKaiGai Kohei 
384e34e719SChristoph Hellwig #define jffs2_get_acl				(NULL)
39f2963d45SChristoph Hellwig #define jffs2_set_acl				(NULL)
40cfc8dc6fSKaiGai Kohei #define jffs2_init_acl_pre(dir_i,inode,mode)	(0)
41cfc8dc6fSKaiGai Kohei #define jffs2_init_acl_post(inode)		(0)
42aa98d7cfSKaiGai Kohei 
43aa98d7cfSKaiGai Kohei #endif	/* CONFIG_JFFS2_FS_POSIX_ACL */
44