1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun * fs/f2fs/acl.h
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6*4882a593Smuzhiyun * http://www.samsung.com/
7*4882a593Smuzhiyun *
8*4882a593Smuzhiyun * Portions of this code from linux/fs/ext2/acl.h
9*4882a593Smuzhiyun *
10*4882a593Smuzhiyun * Copyright (C) 2001-2003 Andreas Gruenbacher, <agruen@suse.de>
11*4882a593Smuzhiyun */
12*4882a593Smuzhiyun #ifndef __F2FS_ACL_H__
13*4882a593Smuzhiyun #define __F2FS_ACL_H__
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun #include <linux/posix_acl_xattr.h>
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun #define F2FS_ACL_VERSION 0x0001
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun struct f2fs_acl_entry {
20*4882a593Smuzhiyun __le16 e_tag;
21*4882a593Smuzhiyun __le16 e_perm;
22*4882a593Smuzhiyun __le32 e_id;
23*4882a593Smuzhiyun };
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun struct f2fs_acl_entry_short {
26*4882a593Smuzhiyun __le16 e_tag;
27*4882a593Smuzhiyun __le16 e_perm;
28*4882a593Smuzhiyun };
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun struct f2fs_acl_header {
31*4882a593Smuzhiyun __le32 a_version;
32*4882a593Smuzhiyun };
33*4882a593Smuzhiyun
34*4882a593Smuzhiyun #ifdef CONFIG_F2FS_FS_POSIX_ACL
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun extern struct posix_acl *f2fs_get_acl(struct inode *, int);
37*4882a593Smuzhiyun extern int f2fs_set_acl(struct inode *, struct posix_acl *, int);
38*4882a593Smuzhiyun extern int f2fs_init_acl(struct inode *, struct inode *, struct page *,
39*4882a593Smuzhiyun struct page *);
40*4882a593Smuzhiyun #else
41*4882a593Smuzhiyun #define f2fs_get_acl NULL
42*4882a593Smuzhiyun #define f2fs_set_acl NULL
43*4882a593Smuzhiyun
f2fs_init_acl(struct inode * inode,struct inode * dir,struct page * ipage,struct page * dpage)44*4882a593Smuzhiyun static inline int f2fs_init_acl(struct inode *inode, struct inode *dir,
45*4882a593Smuzhiyun struct page *ipage, struct page *dpage)
46*4882a593Smuzhiyun {
47*4882a593Smuzhiyun return 0;
48*4882a593Smuzhiyun }
49*4882a593Smuzhiyun #endif
50*4882a593Smuzhiyun #endif /* __F2FS_ACL_H__ */
51