^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * Copyright (c) 2012 Netapp, Inc. All rights reserved.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) * Function and structures exported by the NFS module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) * for use by NFS version-specific modules.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) #ifndef __LINUX_INTERNAL_NFS_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) #define __LINUX_INTERNAL_NFS_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #include <linux/fs.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) #include <linux/sunrpc/sched.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #include <linux/nfs_xdr.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) struct nfs_subversion {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) struct module *owner; /* THIS_MODULE pointer */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) struct file_system_type *nfs_fs; /* NFS filesystem type */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) const struct rpc_version *rpc_vers; /* NFS version information */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) const struct nfs_rpc_ops *rpc_ops; /* NFS operations */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) const struct super_operations *sops; /* NFS Super operations */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) const struct xattr_handler **xattr; /* NFS xattr handlers */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) struct list_head list; /* List of NFS versions */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) struct nfs_subversion *get_nfs_version(unsigned int);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) void put_nfs_version(struct nfs_subversion *);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) void register_nfs_version(struct nfs_subversion *);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) void unregister_nfs_version(struct nfs_subversion *);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) #endif /* __LINUX_INTERNAL_NFS_H */