| /**************************************************************************** |
| **************************************************************************** |
| *** |
| *** This header was automatically generated from a Linux kernel header |
| *** of the same name, to make information necessary for userspace to |
| *** call into the kernel available to libc. It contains only constants, |
| *** structures, and macros generated from the original header, and thus, |
| *** contains no copyrightable information. |
| *** |
| **************************************************************************** |
| ****************************************************************************/ |
| #ifndef _LINUX_SUNRPC_CLNT_H |
| #define _LINUX_SUNRPC_CLNT_H |
| |
| #include <linux/sunrpc/msg_prot.h> |
| #include <linux/sunrpc/sched.h> |
| #include <linux/sunrpc/xprt.h> |
| #include <linux/sunrpc/auth.h> |
| #include <linux/sunrpc/stats.h> |
| #include <linux/sunrpc/xdr.h> |
| #include <linux/sunrpc/timer.h> |
| #include <asm/signal.h> |
| |
| struct rpc_portmap { |
| __u32 pm_prog; |
| __u32 pm_vers; |
| __u32 pm_prot; |
| __u16 pm_port; |
| unsigned char pm_binding : 1; |
| struct rpc_wait_queue pm_bindwait; |
| }; |
| |
| struct rpc_inode; |
| |
| struct rpc_clnt { |
| atomic_t cl_count; |
| atomic_t cl_users; |
| struct rpc_xprt * cl_xprt; |
| struct rpc_procinfo * cl_procinfo; |
| u32 cl_maxproc; |
| |
| char * cl_server; |
| char * cl_protname; |
| struct rpc_auth * cl_auth; |
| struct rpc_stat * cl_stats; |
| struct rpc_iostats * cl_metrics; |
| |
| unsigned int cl_softrtry : 1, |
| cl_intr : 1, |
| cl_autobind : 1, |
| cl_oneshot : 1, |
| cl_dead : 1; |
| |
| struct rpc_rtt * cl_rtt; |
| struct rpc_portmap * cl_pmap; |
| |
| int cl_nodelen; |
| char cl_nodename[UNX_MAXNODENAME]; |
| char cl_pathname[30]; |
| struct vfsmount * cl_vfsmnt; |
| struct dentry * cl_dentry; |
| struct rpc_clnt * cl_parent; |
| struct rpc_rtt cl_rtt_default; |
| struct rpc_portmap cl_pmap_default; |
| char cl_inline_name[32]; |
| }; |
| #define cl_timeout cl_xprt->timeout |
| #define cl_prog cl_pmap->pm_prog |
| #define cl_vers cl_pmap->pm_vers |
| #define cl_port cl_pmap->pm_port |
| #define cl_prot cl_pmap->pm_prot |
| |
| #define RPC_MAXVERSION 4 |
| struct rpc_program { |
| char * name; |
| u32 number; |
| unsigned int nrvers; |
| struct rpc_version ** version; |
| struct rpc_stat * stats; |
| char * pipe_dir_name; |
| }; |
| |
| struct rpc_version { |
| u32 number; |
| unsigned int nrprocs; |
| struct rpc_procinfo * procs; |
| }; |
| |
| struct rpc_procinfo { |
| u32 p_proc; |
| kxdrproc_t p_encode; |
| kxdrproc_t p_decode; |
| unsigned int p_bufsiz; |
| unsigned int p_count; |
| unsigned int p_timer; |
| u32 p_statidx; |
| char * p_name; |
| }; |
| |
| #define RPC_CONGESTED(clnt) (RPCXPRT_CONGESTED((clnt)->cl_xprt)) |
| #define RPC_PEERADDR(clnt) (&(clnt)->cl_xprt->addr) |
| |
| #endif |