aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/linux/sunrpc/svc_xprt.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/linux/sunrpc/svc_xprt.h b/include/linux/sunrpc/svc_xprt.h
index 09de12b63c1d..405281e745d1 100644
--- a/include/linux/sunrpc/svc_xprt.h
+++ b/include/linux/sunrpc/svc_xprt.h
@@ -72,9 +72,14 @@ void svc_unreg_xprt_class(struct svc_xprt_class *);
72void svc_xprt_init(struct svc_xprt_class *, struct svc_xprt *, 72void svc_xprt_init(struct svc_xprt_class *, struct svc_xprt *,
73 struct svc_serv *); 73 struct svc_serv *);
74int svc_create_xprt(struct svc_serv *, char *, unsigned short, int); 74int svc_create_xprt(struct svc_serv *, char *, unsigned short, int);
75void svc_xprt_enqueue(struct svc_xprt *xprt);
75void svc_xprt_received(struct svc_xprt *); 76void svc_xprt_received(struct svc_xprt *);
76void svc_xprt_put(struct svc_xprt *xprt); 77void svc_xprt_put(struct svc_xprt *xprt);
77void svc_xprt_copy_addrs(struct svc_rqst *rqstp, struct svc_xprt *xprt); 78void svc_xprt_copy_addrs(struct svc_rqst *rqstp, struct svc_xprt *xprt);
79void svc_close_xprt(struct svc_xprt *xprt);
80void svc_delete_xprt(struct svc_xprt *xprt);
81int svc_port_is_privileged(struct sockaddr *sin);
82
78static inline void svc_xprt_get(struct svc_xprt *xprt) 83static inline void svc_xprt_get(struct svc_xprt *xprt)
79{ 84{
80 kref_get(&xprt->xpt_ref); 85 kref_get(&xprt->xpt_ref);
@@ -126,4 +131,26 @@ static inline unsigned short svc_xprt_remote_port(struct svc_xprt *xprt)
126 return svc_addr_port((struct sockaddr *)&xprt->xpt_remote); 131 return svc_addr_port((struct sockaddr *)&xprt->xpt_remote);
127} 132}
128 133
134static inline char *__svc_print_addr(struct sockaddr *addr,
135 char *buf, size_t len)
136{
137 switch (addr->sa_family) {
138 case AF_INET:
139 snprintf(buf, len, "%u.%u.%u.%u, port=%u",
140 NIPQUAD(((struct sockaddr_in *) addr)->sin_addr),
141 ntohs(((struct sockaddr_in *) addr)->sin_port));
142 break;
143
144 case AF_INET6:
145 snprintf(buf, len, "%x:%x:%x:%x:%x:%x:%x:%x, port=%u",
146 NIP6(((struct sockaddr_in6 *) addr)->sin6_addr),
147 ntohs(((struct sockaddr_in6 *) addr)->sin6_port));
148 break;
149
150 default:
151 snprintf(buf, len, "unknown address type: %d", addr->sa_family);
152 break;
153 }
154 return buf;
155}
129#endif /* SUNRPC_SVC_XPRT_H */ 156#endif /* SUNRPC_SVC_XPRT_H */