104 lines
2.5 KiB
C
104 lines
2.5 KiB
C
|
/****************************************************************************
|
||
|
****************************************************************************
|
||
|
***
|
||
|
*** 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
|