diff options
Diffstat (limited to 'fs/jffs2/acl.h')
-rw-r--r-- | fs/jffs2/acl.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/fs/jffs2/acl.h b/fs/jffs2/acl.h new file mode 100644 index 000000000000..c98610b4e81c --- /dev/null +++ b/fs/jffs2/acl.h | |||
@@ -0,0 +1,46 @@ | |||
1 | /*-------------------------------------------------------------------------* | ||
2 | * File: fs/jffs2/acl.h | ||
3 | * POSIX ACL support on JFFS2 FileSystem | ||
4 | * | ||
5 | * Implemented by KaiGai Kohei <kaigai@ak.jp.nec.com> | ||
6 | * Copyright (C) 2006 NEC Corporation | ||
7 | * | ||
8 | * For licensing information, see the file 'LICENCE' in the jffs2 directory. | ||
9 | *-------------------------------------------------------------------------*/ | ||
10 | typedef struct { | ||
11 | jint16_t e_tag; | ||
12 | jint16_t e_perm; | ||
13 | jint32_t e_id; | ||
14 | } jffs2_acl_entry; | ||
15 | |||
16 | typedef struct { | ||
17 | jint16_t e_tag; | ||
18 | jint16_t e_perm; | ||
19 | } jffs2_acl_entry_short; | ||
20 | |||
21 | typedef struct { | ||
22 | jint32_t a_version; | ||
23 | } jffs2_acl_header; | ||
24 | |||
25 | #ifdef __KERNEL__ | ||
26 | #ifdef CONFIG_JFFS2_FS_POSIX_ACL | ||
27 | |||
28 | #define JFFS2_ACL_NOT_CACHED ((void *)-1) | ||
29 | |||
30 | extern int jffs2_permission(struct inode *, int, struct nameidata *); | ||
31 | extern int jffs2_acl_chmod(struct inode *); | ||
32 | extern int jffs2_init_acl(struct inode *, struct inode *); | ||
33 | extern void jffs2_clear_acl(struct inode *); | ||
34 | |||
35 | extern struct xattr_handler jffs2_acl_access_xattr_handler; | ||
36 | extern struct xattr_handler jffs2_acl_default_xattr_handler; | ||
37 | |||
38 | #else | ||
39 | |||
40 | #define jffs2_permission NULL | ||
41 | #define jffs2_acl_chmod(inode) (0) | ||
42 | #define jffs2_init_acl(inode,dir) (0) | ||
43 | #define jffs2_clear_acl(inode) | ||
44 | |||
45 | #endif /* CONFIG_JFFS2_FS_POSIX_ACL */ | ||
46 | #endif /* __KERNEL__ */ | ||