summaryrefslogtreecommitdiffstats
path: root/libc/kernel/common/linux/sunrpc/clnt.h
diff options
context:
space:
mode:
Diffstat (limited to 'libc/kernel/common/linux/sunrpc/clnt.h')
-rw-r--r--libc/kernel/common/linux/sunrpc/clnt.h103
1 files changed, 103 insertions, 0 deletions
diff --git a/libc/kernel/common/linux/sunrpc/clnt.h b/libc/kernel/common/linux/sunrpc/clnt.h
new file mode 100644
index 0000000..a562ad9
--- /dev/null
+++ b/libc/kernel/common/linux/sunrpc/clnt.h
@@ -0,0 +1,103 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ *** 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