diff options
Diffstat (limited to 'include/linux/sunrpc/svc_xprt.h')
-rw-r--r-- | include/linux/sunrpc/svc_xprt.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/sunrpc/svc_xprt.h b/include/linux/sunrpc/svc_xprt.h index 986a5a07044b..6374805887a6 100644 --- a/include/linux/sunrpc/svc_xprt.h +++ b/include/linux/sunrpc/svc_xprt.h | |||
@@ -8,6 +8,7 @@ | |||
8 | #define SUNRPC_SVC_XPRT_H | 8 | #define SUNRPC_SVC_XPRT_H |
9 | 9 | ||
10 | #include <linux/sunrpc/svc.h> | 10 | #include <linux/sunrpc/svc.h> |
11 | #include <linux/module.h> | ||
11 | 12 | ||
12 | struct svc_xprt_ops { | 13 | struct svc_xprt_ops { |
13 | struct svc_xprt *(*xpo_create)(struct svc_serv *, | 14 | struct svc_xprt *(*xpo_create)(struct svc_serv *, |
@@ -34,11 +35,18 @@ struct svc_xprt_class { | |||
34 | struct svc_xprt { | 35 | struct svc_xprt { |
35 | struct svc_xprt_class *xpt_class; | 36 | struct svc_xprt_class *xpt_class; |
36 | struct svc_xprt_ops *xpt_ops; | 37 | struct svc_xprt_ops *xpt_ops; |
38 | struct kref xpt_ref; | ||
37 | }; | 39 | }; |
38 | 40 | ||
39 | int svc_reg_xprt_class(struct svc_xprt_class *); | 41 | int svc_reg_xprt_class(struct svc_xprt_class *); |
40 | void svc_unreg_xprt_class(struct svc_xprt_class *); | 42 | void svc_unreg_xprt_class(struct svc_xprt_class *); |
41 | void svc_xprt_init(struct svc_xprt_class *, struct svc_xprt *); | 43 | void svc_xprt_init(struct svc_xprt_class *, struct svc_xprt *); |
42 | int svc_create_xprt(struct svc_serv *, char *, unsigned short, int); | 44 | int svc_create_xprt(struct svc_serv *, char *, unsigned short, int); |
45 | void svc_xprt_put(struct svc_xprt *xprt); | ||
46 | |||
47 | static inline void svc_xprt_get(struct svc_xprt *xprt) | ||
48 | { | ||
49 | kref_get(&xprt->xpt_ref); | ||
50 | } | ||
43 | 51 | ||
44 | #endif /* SUNRPC_SVC_XPRT_H */ | 52 | #endif /* SUNRPC_SVC_XPRT_H */ |