xref: /openbmc/linux/fs/jffs2/acl.h (revision 652ecc20)
1652ecc20SKaiGai Kohei /*
2652ecc20SKaiGai Kohei  * JFFS2 -- Journalling Flash File System, Version 2.
3aa98d7cfSKaiGai Kohei  *
4aa98d7cfSKaiGai Kohei  * Copyright (C) 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  */
11de1f72faSKaiGai Kohei struct jffs2_acl_entry {
12aa98d7cfSKaiGai Kohei 	jint16_t	e_tag;
13aa98d7cfSKaiGai Kohei 	jint16_t	e_perm;
14aa98d7cfSKaiGai Kohei 	jint32_t	e_id;
15de1f72faSKaiGai Kohei };
16aa98d7cfSKaiGai Kohei 
17de1f72faSKaiGai Kohei struct jffs2_acl_entry_short {
18aa98d7cfSKaiGai Kohei 	jint16_t	e_tag;
19aa98d7cfSKaiGai Kohei 	jint16_t	e_perm;
20de1f72faSKaiGai Kohei };
21aa98d7cfSKaiGai Kohei 
22de1f72faSKaiGai Kohei struct jffs2_acl_header {
23aa98d7cfSKaiGai Kohei 	jint32_t	a_version;
24de1f72faSKaiGai Kohei };
25aa98d7cfSKaiGai Kohei 
26aa98d7cfSKaiGai Kohei #ifdef __KERNEL__
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 *);
34aa98d7cfSKaiGai Kohei extern void jffs2_clear_acl(struct inode *);
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)
44aa98d7cfSKaiGai Kohei #define jffs2_clear_acl(inode)
45aa98d7cfSKaiGai Kohei 
46aa98d7cfSKaiGai Kohei #endif	/* CONFIG_JFFS2_FS_POSIX_ACL */
47aa98d7cfSKaiGai Kohei #endif	/* __KERNEL__ */
48