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