1 /****************************************************************************
2 ****************************************************************************
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
10 ****************************************************************************
11 ****************************************************************************/
12 #ifndef _LINUX_SUNRPC_CLNT_H
13 #define _LINUX_SUNRPC_CLNT_H
15 #include <linux/sunrpc/msg_prot.h>
16 #include <linux/sunrpc/sched.h>
17 #include <linux/sunrpc/xprt.h>
18 #include <linux/sunrpc/auth.h>
19 #include <linux/sunrpc/stats.h>
20 #include <linux/sunrpc/xdr.h>
21 #include <linux/sunrpc/timer.h>
22 #include <asm/signal.h>
29 unsigned char pm_binding : 1;
30 struct rpc_wait_queue pm_bindwait;
38 struct rpc_xprt * cl_xprt;
39 struct rpc_procinfo * cl_procinfo;
44 struct rpc_auth * cl_auth;
45 struct rpc_stat * cl_stats;
46 struct rpc_iostats * cl_metrics;
48 unsigned int cl_softrtry : 1,
54 struct rpc_rtt * cl_rtt;
55 struct rpc_portmap * cl_pmap;
58 char cl_nodename[UNX_MAXNODENAME];
60 struct vfsmount * cl_vfsmnt;
61 struct dentry * cl_dentry;
62 struct rpc_clnt * cl_parent;
63 struct rpc_rtt cl_rtt_default;
64 struct rpc_portmap cl_pmap_default;
65 char cl_inline_name[32];
67 #define cl_timeout cl_xprt->timeout
68 #define cl_prog cl_pmap->pm_prog
69 #define cl_vers cl_pmap->pm_vers
70 #define cl_port cl_pmap->pm_port
71 #define cl_prot cl_pmap->pm_prot
73 #define RPC_MAXVERSION 4
78 struct rpc_version ** version;
79 struct rpc_stat * stats;
86 struct rpc_procinfo * procs;
93 unsigned int p_bufsiz;
100 #define RPC_CONGESTED(clnt) (RPCXPRT_CONGESTED((clnt)->cl_xprt))
101 #define RPC_PEERADDR(clnt) (&(clnt)->cl_xprt->addr)