1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun * Copyright IBM Corporation, 2010
3*4882a593Smuzhiyun * Author Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * This program is free software; you can redistribute it and/or modify it
6*4882a593Smuzhiyun * under the terms of version 2.1 of the GNU Lesser General Public License
7*4882a593Smuzhiyun * as published by the Free Software Foundation.
8*4882a593Smuzhiyun *
9*4882a593Smuzhiyun * This program is distributed in the hope that it would be useful, but
10*4882a593Smuzhiyun * WITHOUT ANY WARRANTY; without even the implied warranty of
11*4882a593Smuzhiyun * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12*4882a593Smuzhiyun *
13*4882a593Smuzhiyun */
14*4882a593Smuzhiyun #ifndef FS_9P_ACL_H
15*4882a593Smuzhiyun #define FS_9P_ACL_H
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun #ifdef CONFIG_9P_FS_POSIX_ACL
18*4882a593Smuzhiyun extern int v9fs_get_acl(struct inode *, struct p9_fid *);
19*4882a593Smuzhiyun extern struct posix_acl *v9fs_iop_get_acl(struct inode *inode, int type);
20*4882a593Smuzhiyun extern int v9fs_acl_chmod(struct inode *, struct p9_fid *);
21*4882a593Smuzhiyun extern int v9fs_set_create_acl(struct inode *, struct p9_fid *,
22*4882a593Smuzhiyun struct posix_acl *, struct posix_acl *);
23*4882a593Smuzhiyun extern int v9fs_acl_mode(struct inode *dir, umode_t *modep,
24*4882a593Smuzhiyun struct posix_acl **dpacl, struct posix_acl **pacl);
25*4882a593Smuzhiyun extern void v9fs_put_acl(struct posix_acl *dacl, struct posix_acl *acl);
26*4882a593Smuzhiyun #else
27*4882a593Smuzhiyun #define v9fs_iop_get_acl NULL
v9fs_get_acl(struct inode * inode,struct p9_fid * fid)28*4882a593Smuzhiyun static inline int v9fs_get_acl(struct inode *inode, struct p9_fid *fid)
29*4882a593Smuzhiyun {
30*4882a593Smuzhiyun return 0;
31*4882a593Smuzhiyun }
v9fs_acl_chmod(struct inode * inode,struct p9_fid * fid)32*4882a593Smuzhiyun static inline int v9fs_acl_chmod(struct inode *inode, struct p9_fid *fid)
33*4882a593Smuzhiyun {
34*4882a593Smuzhiyun return 0;
35*4882a593Smuzhiyun }
v9fs_set_create_acl(struct inode * inode,struct p9_fid * fid,struct posix_acl * dacl,struct posix_acl * acl)36*4882a593Smuzhiyun static inline int v9fs_set_create_acl(struct inode *inode,
37*4882a593Smuzhiyun struct p9_fid *fid,
38*4882a593Smuzhiyun struct posix_acl *dacl,
39*4882a593Smuzhiyun struct posix_acl *acl)
40*4882a593Smuzhiyun {
41*4882a593Smuzhiyun return 0;
42*4882a593Smuzhiyun }
v9fs_put_acl(struct posix_acl * dacl,struct posix_acl * acl)43*4882a593Smuzhiyun static inline void v9fs_put_acl(struct posix_acl *dacl,
44*4882a593Smuzhiyun struct posix_acl *acl)
45*4882a593Smuzhiyun {
46*4882a593Smuzhiyun }
v9fs_acl_mode(struct inode * dir,umode_t * modep,struct posix_acl ** dpacl,struct posix_acl ** pacl)47*4882a593Smuzhiyun static inline int v9fs_acl_mode(struct inode *dir, umode_t *modep,
48*4882a593Smuzhiyun struct posix_acl **dpacl,
49*4882a593Smuzhiyun struct posix_acl **pacl)
50*4882a593Smuzhiyun {
51*4882a593Smuzhiyun return 0;
52*4882a593Smuzhiyun }
53*4882a593Smuzhiyun
54*4882a593Smuzhiyun #endif
55*4882a593Smuzhiyun #endif /* FS_9P_XATTR_H */
56