^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0-only */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /* -*- mode: c; c-basic-offset: 8; -*-
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * vim: noexpandtab sw=8 ts=8 sts=0:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) * acl.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) * Copyright (C) 2004, 2008 Oracle. All rights reserved.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #ifndef OCFS2_ACL_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #define OCFS2_ACL_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #include <linux/posix_acl_xattr.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) struct ocfs2_acl_entry {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) __le16 e_tag;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) __le16 e_perm;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) __le32 e_id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) struct posix_acl *ocfs2_iop_get_acl(struct inode *inode, int type);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) int ocfs2_iop_set_acl(struct inode *inode, struct posix_acl *acl, int type);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) extern int ocfs2_acl_chmod(struct inode *, struct buffer_head *);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) extern int ocfs2_init_acl(handle_t *, struct inode *, struct inode *,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) struct buffer_head *, struct buffer_head *,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) struct ocfs2_alloc_context *,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) struct ocfs2_alloc_context *);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) #endif /* OCFS2_ACL_H */