]>
Commit | Line | Data |
---|---|---|
ab7017a3 BS |
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 | ||
14 | struct 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 | struct list_head list; /* List of NFS versions */ | |
20 | }; | |
21 | ||
22 | int nfs_register_versions(void); | |
23 | void nfs_unregister_versions(void); | |
24 | ||
25 | #ifdef CONFIG_NFS_V2 | |
26 | int init_nfs_v2(void); | |
27 | void exit_nfs_v2(void); | |
28 | #else /* CONFIG_NFS_V2 */ | |
29 | static inline int __init init_nfs_v2(void) | |
30 | { | |
31 | return 0; | |
32 | } | |
33 | ||
34 | static inline void exit_nfs_v2(void) | |
35 | { | |
36 | } | |
37 | #endif /* CONFIG_NFS_V2 */ | |
38 | ||
39 | #ifdef CONFIG_NFS_V3 | |
40 | int init_nfs_v3(void); | |
41 | void exit_nfs_v3(void); | |
42 | #else /* CONFIG_NFS_V3 */ | |
43 | static inline int __init init_nfs_v3(void) | |
44 | { | |
45 | return 0; | |
46 | } | |
47 | ||
48 | static inline void exit_nfs_v3(void) | |
49 | { | |
50 | } | |
51 | #endif /* CONFIG_NFS_V3 */ | |
52 | ||
53 | #ifdef CONFIG_NFS_V4 | |
54 | int init_nfs_v4(void); | |
55 | void exit_nfs_v4(void); | |
56 | #else /* CONFIG_NFS_V4 */ | |
57 | static inline int __init init_nfs_v4(void) | |
58 | { | |
59 | return 0; | |
60 | } | |
61 | ||
62 | static inline void exit_nfs_v4(void) | |
63 | { | |
64 | } | |
65 | #endif /* CONFIG_NFS_V4 */ | |
66 | ||
67 | struct nfs_subversion *get_nfs_version(unsigned int); | |
68 | void put_nfs_version(struct nfs_subversion *); | |
69 | void register_nfs_version(struct nfs_subversion *); | |
70 | void unregister_nfs_version(struct nfs_subversion *); | |
71 | ||
72 | #endif /* __LINUX_INTERNAL_NFS_H */ |