1 /* -*- mode: c; c-basic-offset: 8; -*- 2 * vim: noexpandtab sw=8 ts=8 sts=0: 3 * 4 * acl.h 5 * 6 * Copyright (C) 2004, 2008 Oracle. All rights reserved. 7 * 8 * This program is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU General Public 10 * License version 2 as published by the Free Software Foundation. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * General Public License for more details. 16 */ 17 18 #ifndef OCFS2_ACL_H 19 #define OCFS2_ACL_H 20 21 #include <linux/posix_acl_xattr.h> 22 23 struct ocfs2_acl_entry { 24 __le16 e_tag; 25 __le16 e_perm; 26 __le32 e_id; 27 }; 28 29 #ifdef CONFIG_OCFS2_FS_POSIX_ACL 30 31 extern int ocfs2_check_acl(struct inode *, int); 32 extern int ocfs2_acl_chmod(struct inode *); 33 extern int ocfs2_init_acl(handle_t *, struct inode *, struct inode *, 34 struct buffer_head *, struct buffer_head *, 35 struct ocfs2_alloc_context *, 36 struct ocfs2_alloc_context *); 37 38 #else /* CONFIG_OCFS2_FS_POSIX_ACL*/ 39 40 #define ocfs2_check_acl NULL 41 static inline int ocfs2_acl_chmod(struct inode *inode) 42 { 43 return 0; 44 } 45 static inline int ocfs2_init_acl(handle_t *handle, 46 struct inode *inode, 47 struct inode *dir, 48 struct buffer_head *di_bh, 49 struct buffer_head *dir_bh, 50 struct ocfs2_alloc_context *meta_ac, 51 struct ocfs2_alloc_context *data_ac) 52 { 53 return 0; 54 } 55 56 #endif /* CONFIG_OCFS2_FS_POSIX_ACL*/ 57 58 #endif /* OCFS2_ACL_H */ 59