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 struct posix_acl *ocfs2_iop_get_acl(struct inode *inode, int type); 30 int ocfs2_iop_set_acl(struct inode *inode, struct posix_acl *acl, int type); 31 int ocfs2_set_acl(handle_t *handle, 32 struct inode *inode, 33 struct buffer_head *di_bh, 34 int type, 35 struct posix_acl *acl, 36 struct ocfs2_alloc_context *meta_ac, 37 struct ocfs2_alloc_context *data_ac); 38 extern int ocfs2_acl_chmod(struct inode *, struct buffer_head *); 39 extern int ocfs2_init_acl(handle_t *, struct inode *, struct inode *, 40 struct buffer_head *, struct buffer_head *, 41 struct ocfs2_alloc_context *, 42 struct ocfs2_alloc_context *); 43 44 #endif /* OCFS2_ACL_H */ 45