162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (c) 2012 Netapp, Inc. All rights reserved. 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Function and structures exported by the NFS module 662306a36Sopenharmony_ci * for use by NFS version-specific modules. 762306a36Sopenharmony_ci */ 862306a36Sopenharmony_ci#ifndef __LINUX_INTERNAL_NFS_H 962306a36Sopenharmony_ci#define __LINUX_INTERNAL_NFS_H 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#include <linux/fs.h> 1262306a36Sopenharmony_ci#include <linux/sunrpc/sched.h> 1362306a36Sopenharmony_ci#include <linux/nfs_xdr.h> 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_cistruct nfs_subversion { 1662306a36Sopenharmony_ci struct module *owner; /* THIS_MODULE pointer */ 1762306a36Sopenharmony_ci struct file_system_type *nfs_fs; /* NFS filesystem type */ 1862306a36Sopenharmony_ci const struct rpc_version *rpc_vers; /* NFS version information */ 1962306a36Sopenharmony_ci const struct nfs_rpc_ops *rpc_ops; /* NFS operations */ 2062306a36Sopenharmony_ci const struct super_operations *sops; /* NFS Super operations */ 2162306a36Sopenharmony_ci const struct xattr_handler **xattr; /* NFS xattr handlers */ 2262306a36Sopenharmony_ci struct list_head list; /* List of NFS versions */ 2362306a36Sopenharmony_ci}; 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_cistruct nfs_subversion *get_nfs_version(unsigned int); 2662306a36Sopenharmony_civoid put_nfs_version(struct nfs_subversion *); 2762306a36Sopenharmony_civoid register_nfs_version(struct nfs_subversion *); 2862306a36Sopenharmony_civoid unregister_nfs_version(struct nfs_subversion *); 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci#endif /* __LINUX_INTERNAL_NFS_H */ 31