Commit | Line | Data |
---|---|---|
0a8165d7 | 1 | /* |
af48b85b JK |
2 | * fs/f2fs/acl.h |
3 | * | |
4 | * Copyright (c) 2012 Samsung Electronics Co., Ltd. | |
5 | * http://www.samsung.com/ | |
6 | * | |
7 | * Portions of this code from linux/fs/ext2/acl.h | |
8 | * | |
9 | * Copyright (C) 2001-2003 Andreas Gruenbacher, <agruen@suse.de> | |
10 | * | |
11 | * This program is free software; you can redistribute it and/or modify | |
12 | * it under the terms of the GNU General Public License version 2 as | |
13 | * published by the Free Software Foundation. | |
14 | */ | |
15 | #ifndef __F2FS_ACL_H__ | |
16 | #define __F2FS_ACL_H__ | |
17 | ||
18 | #include <linux/posix_acl_xattr.h> | |
19 | ||
20 | #define F2FS_ACL_VERSION 0x0001 | |
21 | ||
22 | struct f2fs_acl_entry { | |
23 | __le16 e_tag; | |
24 | __le16 e_perm; | |
25 | __le32 e_id; | |
26 | }; | |
27 | ||
28 | struct f2fs_acl_entry_short { | |
29 | __le16 e_tag; | |
30 | __le16 e_perm; | |
31 | }; | |
32 | ||
33 | struct f2fs_acl_header { | |
34 | __le32 a_version; | |
35 | }; | |
36 | ||
37 | #ifdef CONFIG_F2FS_FS_POSIX_ACL | |
38 | ||
b8b60e1a | 39 | extern struct posix_acl *f2fs_get_acl(struct inode *, int); |
a6dda0e6 | 40 | extern int f2fs_set_acl(struct inode *inode, struct posix_acl *acl, int type); |
bce8d112 JK |
41 | extern int f2fs_init_acl(struct inode *, struct inode *, struct page *, |
42 | struct page *); | |
af48b85b JK |
43 | #else |
44 | #define f2fs_check_acl NULL | |
45 | #define f2fs_get_acl NULL | |
46 | #define f2fs_set_acl NULL | |
47 | ||
2ed2d5b3 | 48 | static inline int f2fs_init_acl(struct inode *inode, struct inode *dir, |
bce8d112 | 49 | struct page *ipage, struct page *dpage) |
af48b85b JK |
50 | { |
51 | return 0; | |
52 | } | |
53 | #endif | |
54 | #endif /* __F2FS_ACL_H__ */ |