18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Copyright (C) 2014 Anna Schumaker.
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * NFSv3-specific filesystem definitions and declarations
68c2ecf20Sopenharmony_ci */
78c2ecf20Sopenharmony_ci#ifndef __LINUX_FS_NFS_NFS3_FS_H
88c2ecf20Sopenharmony_ci#define __LINUX_FS_NFS_NFS3_FS_H
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci/*
118c2ecf20Sopenharmony_ci * nfs3acl.c
128c2ecf20Sopenharmony_ci */
138c2ecf20Sopenharmony_ci#ifdef CONFIG_NFS_V3_ACL
148c2ecf20Sopenharmony_ciextern struct posix_acl *nfs3_get_acl(struct inode *inode, int type);
158c2ecf20Sopenharmony_ciextern int nfs3_set_acl(struct inode *inode, struct posix_acl *acl, int type);
168c2ecf20Sopenharmony_ciextern int nfs3_proc_setacls(struct inode *inode, struct posix_acl *acl,
178c2ecf20Sopenharmony_ci		struct posix_acl *dfacl);
188c2ecf20Sopenharmony_ciextern ssize_t nfs3_listxattr(struct dentry *, char *, size_t);
198c2ecf20Sopenharmony_ciextern const struct xattr_handler *nfs3_xattr_handlers[];
208c2ecf20Sopenharmony_ci#else
218c2ecf20Sopenharmony_cistatic inline int nfs3_proc_setacls(struct inode *inode, struct posix_acl *acl,
228c2ecf20Sopenharmony_ci		struct posix_acl *dfacl)
238c2ecf20Sopenharmony_ci{
248c2ecf20Sopenharmony_ci	return 0;
258c2ecf20Sopenharmony_ci}
268c2ecf20Sopenharmony_ci#define nfs3_listxattr NULL
278c2ecf20Sopenharmony_ci#endif /* CONFIG_NFS_V3_ACL */
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci/* nfs3client.c */
308c2ecf20Sopenharmony_cistruct nfs_server *nfs3_create_server(struct fs_context *);
318c2ecf20Sopenharmony_cistruct nfs_server *nfs3_clone_server(struct nfs_server *, struct nfs_fh *,
328c2ecf20Sopenharmony_ci				     struct nfs_fattr *, rpc_authflavor_t);
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci/* nfs3super.c */
358c2ecf20Sopenharmony_ciextern struct nfs_subversion nfs_v3;
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci#endif /* __LINUX_FS_NFS_NFS3_FS_H */
38