| 
									
										
										
										
											2012-11-29 13:28:09 +09:00
										 |  |  | /*
 | 
					
						
							| 
									
										
										
										
											2012-11-02 17:12:17 +09:00
										 |  |  |  * fs/f2fs/acl.h | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Copyright (c) 2012 Samsung Electronics Co., Ltd. | 
					
						
							|  |  |  |  *             http://www.samsung.com/
 | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Portions of this code from linux/fs/ext2/acl.h | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Copyright (C) 2001-2003 Andreas Gruenbacher, <agruen@suse.de> | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This program is free software; you can redistribute it and/or modify | 
					
						
							|  |  |  |  * it under the terms of the GNU General Public License version 2 as | 
					
						
							|  |  |  |  * published by the Free Software Foundation. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #ifndef __F2FS_ACL_H__
 | 
					
						
							|  |  |  | #define __F2FS_ACL_H__
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <linux/posix_acl_xattr.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define F2FS_ACL_VERSION	0x0001
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct f2fs_acl_entry { | 
					
						
							|  |  |  | 	__le16 e_tag; | 
					
						
							|  |  |  | 	__le16 e_perm; | 
					
						
							|  |  |  | 	__le32 e_id; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct f2fs_acl_entry_short { | 
					
						
							|  |  |  | 	__le16 e_tag; | 
					
						
							|  |  |  | 	__le16 e_perm; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct f2fs_acl_header { | 
					
						
							|  |  |  | 	__le32 a_version; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef CONFIG_F2FS_FS_POSIX_ACL
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-28 13:12:09 +09:00
										 |  |  | extern struct posix_acl *f2fs_get_acl(struct inode *, int); | 
					
						
							| 
									
										
										
										
											2013-12-20 05:16:45 -08:00
										 |  |  | extern int f2fs_set_acl(struct inode *inode, struct posix_acl *acl, int type); | 
					
						
							| 
									
										
										
										
											2013-10-28 13:17:54 +09:00
										 |  |  | extern int f2fs_init_acl(struct inode *, struct inode *, struct page *); | 
					
						
							| 
									
										
										
										
											2012-11-02 17:12:17 +09:00
										 |  |  | #else
 | 
					
						
							|  |  |  | #define f2fs_check_acl	NULL
 | 
					
						
							|  |  |  | #define f2fs_get_acl	NULL
 | 
					
						
							|  |  |  | #define f2fs_set_acl	NULL
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-28 13:17:54 +09:00
										 |  |  | static inline int f2fs_init_acl(struct inode *inode, struct inode *dir, | 
					
						
							|  |  |  | 							struct page *page) | 
					
						
							| 
									
										
										
										
											2012-11-02 17:12:17 +09:00
										 |  |  | { | 
					
						
							|  |  |  | 	return 0; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | #endif /* __F2FS_ACL_H__ */
 |