Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * fs/f2fs/acl.h
0004  *
0005  * Copyright (c) 2012 Samsung Electronics Co., Ltd.
0006  *             http://www.samsung.com/
0007  *
0008  * Portions of this code from linux/fs/ext2/acl.h
0009  *
0010  * Copyright (C) 2001-2003 Andreas Gruenbacher, <agruen@suse.de>
0011  */
0012 #ifndef __F2FS_ACL_H__
0013 #define __F2FS_ACL_H__
0014 
0015 #include <linux/posix_acl_xattr.h>
0016 
0017 #define F2FS_ACL_VERSION    0x0001
0018 
0019 struct f2fs_acl_entry {
0020     __le16 e_tag;
0021     __le16 e_perm;
0022     __le32 e_id;
0023 };
0024 
0025 struct f2fs_acl_entry_short {
0026     __le16 e_tag;
0027     __le16 e_perm;
0028 };
0029 
0030 struct f2fs_acl_header {
0031     __le32 a_version;
0032 };
0033 
0034 #ifdef CONFIG_F2FS_FS_POSIX_ACL
0035 
0036 extern struct posix_acl *f2fs_get_acl(struct inode *, int, bool);
0037 extern int f2fs_set_acl(struct user_namespace *, struct inode *,
0038             struct posix_acl *, int);
0039 extern int f2fs_init_acl(struct inode *, struct inode *, struct page *,
0040                             struct page *);
0041 #else
0042 #define f2fs_get_acl    NULL
0043 #define f2fs_set_acl    NULL
0044 
0045 static inline int f2fs_init_acl(struct inode *inode, struct inode *dir,
0046                 struct page *ipage, struct page *dpage)
0047 {
0048     return 0;
0049 }
0050 #endif
0051 #endif /* __F2FS_ACL_H__ */