acl.h revision 0cad6246
1/*
2 * JFFS2 -- Journalling Flash File System, Version 2.
3 *
4 * Copyright �� 2006  NEC Corporation
5 *
6 * Created by KaiGai Kohei <kaigai@ak.jp.nec.com>
7 *
8 * For licensing information, see the file 'LICENCE' in this directory.
9 *
10 */
11
12struct jffs2_acl_entry {
13	jint16_t	e_tag;
14	jint16_t	e_perm;
15	jint32_t	e_id;
16};
17
18struct jffs2_acl_entry_short {
19	jint16_t	e_tag;
20	jint16_t	e_perm;
21};
22
23struct jffs2_acl_header {
24	jint32_t	a_version;
25	struct jffs2_acl_entry	a_entries[];
26};
27
28#ifdef CONFIG_JFFS2_FS_POSIX_ACL
29
30struct posix_acl *jffs2_get_acl(struct inode *inode, int type, bool rcu);
31int jffs2_set_acl(struct user_namespace *mnt_userns, struct inode *inode,
32		  struct posix_acl *acl, int type);
33extern int jffs2_init_acl_pre(struct inode *, struct inode *, umode_t *);
34extern int jffs2_init_acl_post(struct inode *);
35
36#else
37
38#define jffs2_get_acl				(NULL)
39#define jffs2_set_acl				(NULL)
40#define jffs2_init_acl_pre(dir_i,inode,mode)	(0)
41#define jffs2_init_acl_post(inode)		(0)
42
43#endif	/* CONFIG_JFFS2_FS_POSIX_ACL */
44