blob: 94615e34bc868ca4f263abc99443831b4a2e4d83 [file] [log] [blame]
Dave Chinner0b61f8a2018-06-05 19:42:14 -07001// SPDX-License-Identifier: GPL-2.0
Linus Torvalds1da177e2005-04-16 15:20:36 -07002/*
Nathan Scott7b718762005-11-02 14:58:39 +11003 * Copyright (c) 2001-2005 Silicon Graphics, Inc.
4 * All Rights Reserved.
Linus Torvalds1da177e2005-04-16 15:20:36 -07005 */
6#ifndef __XFS_ACL_H__
7#define __XFS_ACL_H__
8
Christoph Hellwigef14f0c2009-06-10 17:07:47 +02009struct inode;
10struct posix_acl;
Linus Torvalds1da177e2005-04-16 15:20:36 -070011
Linus Torvalds1da177e2005-04-16 15:20:36 -070012#ifdef CONFIG_XFS_POSIX_ACL
Christoph Hellwigef14f0c2009-06-10 17:07:47 +020013extern struct posix_acl *xfs_get_acl(struct inode *inode, int type);
Christoph Hellwig2401dc22013-12-20 05:16:50 -080014extern int xfs_set_acl(struct inode *inode, struct posix_acl *acl, int type);
Jan Kara8ba35872017-06-26 08:48:18 -070015extern int __xfs_set_acl(struct inode *inode, struct posix_acl *acl, int type);
Linus Torvalds1da177e2005-04-16 15:20:36 -070016#else
Markus Trippelsdorfa5a7bbc2011-07-26 11:15:20 +020017static inline struct posix_acl *xfs_get_acl(struct inode *inode, int type)
18{
19 return NULL;
20}
Christoph Hellwig2401dc22013-12-20 05:16:50 -080021# define xfs_set_acl NULL
Christoph Hellwigef14f0c2009-06-10 17:07:47 +020022#endif /* CONFIG_XFS_POSIX_ACL */
Andreas Gruenbacher47e1bf62015-11-03 12:56:17 +110023
24extern void xfs_forget_acl(struct inode *inode, const char *name, int xflags);
25
Linus Torvalds1da177e2005-04-16 15:20:36 -070026#endif /* __XFS_ACL_H__ */