18360efbdSAlfred Perlstein.\" Copyright 1989 AT&T 28360efbdSAlfred Perlstein.\" $NetBSD: rpc.3,v 1.10 2000/06/02 23:11:12 fvdl Exp $ 38360efbdSAlfred Perlstein.Dd May 7, 1993 41b51e5d0SRuslan Ermilov.Dt RPC 3 51b51e5d0SRuslan Ermilov.Os 61b51e5d0SRuslan Ermilov.Sh NAME 71b51e5d0SRuslan Ermilov.Nm rpc 88360efbdSAlfred Perlstein.Nd library routines for remote procedure calls 91b51e5d0SRuslan Ermilov.Sh LIBRARY 101b51e5d0SRuslan Ermilov.Lb libc 111b51e5d0SRuslan Ermilov.Sh SYNOPSIS 1232eef9aeSRuslan Ermilov.In rpc/rpc.h 1332eef9aeSRuslan Ermilov.In netconfig.h 141b51e5d0SRuslan Ermilov.Sh DESCRIPTION 158360efbdSAlfred PerlsteinThese 168360efbdSAlfred Perlsteinroutines allow C language programs to make procedure 178360efbdSAlfred Perlsteincalls on other machines across a network. 188360efbdSAlfred PerlsteinFirst, the client sends a request to the server. 198360efbdSAlfred PerlsteinOn receipt of the request, the server calls a dispatch routine 208360efbdSAlfred Perlsteinto perform the requested service, and then sends back a reply. 211b51e5d0SRuslan Ermilov.Pp 228360efbdSAlfred PerlsteinAll 238360efbdSAlfred PerlsteinRPC routines require the header 24fe08efe6SRuslan Ermilov.In rpc/rpc.h . 258360efbdSAlfred PerlsteinRoutines that take a 268360efbdSAlfred Perlstein.Vt "struct netconfig" 278360efbdSAlfred Perlsteinalso require that 28fe08efe6SRuslan Ermilov.In netconfig.h 298360efbdSAlfred Perlsteinbe included. 308360efbdSAlfred Perlstein.Sh Nettype 318360efbdSAlfred PerlsteinSome of the high-level 328360efbdSAlfred PerlsteinRPC interface routines take a 338360efbdSAlfred Perlstein.Fa nettype 342efeeba5SRuslan Ermilovstring as one of the arguments 358360efbdSAlfred Perlstein(for example, 361b51e5d0SRuslan Ermilov.Fn clnt_create , 378360efbdSAlfred Perlstein.Fn svc_create , 388360efbdSAlfred Perlstein.Fn rpc_reg , 398360efbdSAlfred Perlstein.Fn rpc_call ) . 408360efbdSAlfred PerlsteinThis string defines a class of transports which can be used 418360efbdSAlfred Perlsteinfor a particular application. 428360efbdSAlfred Perlstein.Pp 432efeeba5SRuslan ErmilovThe 448360efbdSAlfred Perlstein.Fa nettype 452efeeba5SRuslan Ermilovargument 468360efbdSAlfred Perlsteincan be one of the following: 478360efbdSAlfred Perlstein.Bl -tag -width datagram_v 488360efbdSAlfred Perlstein.It netpath 498360efbdSAlfred PerlsteinChoose from the transports which have been 508360efbdSAlfred Perlsteinindicated by their token names in the 518360efbdSAlfred Perlstein.Ev NETPATH 528360efbdSAlfred Perlsteinenvironment variable. 538360efbdSAlfred Perlstein.Ev NETPATH 548360efbdSAlfred Perlsteinis unset or 558360efbdSAlfred Perlstein.Dv NULL , 568360efbdSAlfred Perlsteinit defaults to 578360efbdSAlfred Perlstein.Qq visible . 588360efbdSAlfred Perlstein.Qq netpath 598360efbdSAlfred Perlsteinis the default 608360efbdSAlfred Perlstein.Fa nettype . 618360efbdSAlfred Perlstein.It visible 628360efbdSAlfred PerlsteinChoose the transports which have the visible flag (v) 638360efbdSAlfred Perlsteinset in the 648360efbdSAlfred Perlstein.Pa /etc/netconfig 658360efbdSAlfred Perlsteinfile. 668360efbdSAlfred Perlstein.It circuit_v 678360efbdSAlfred PerlsteinThis is same as 688360efbdSAlfred Perlstein.Qq visible 698360efbdSAlfred Perlsteinexcept that it chooses only the connection oriented transports 708360efbdSAlfred Perlstein(semantics 718360efbdSAlfred Perlstein.Qq tpi_cots 7299064799SGarrett Wollmanor 738360efbdSAlfred Perlstein.Qq tpi_cots_ord ) 748360efbdSAlfred Perlsteinfrom the entries in the 758360efbdSAlfred Perlstein.Pa /etc/netconfig 768360efbdSAlfred Perlsteinfile. 778360efbdSAlfred Perlstein.It datagram_v 788360efbdSAlfred PerlsteinThis is same as 798360efbdSAlfred Perlstein.Qq visible 808360efbdSAlfred Perlsteinexcept that it chooses only the connectionless datagram transports 818360efbdSAlfred Perlstein(semantics 828360efbdSAlfred Perlstein.Qq tpi_clts ) 838360efbdSAlfred Perlsteinfrom the entries in the 848360efbdSAlfred Perlstein.Pa /etc/netconfig 858360efbdSAlfred Perlsteinfile. 868360efbdSAlfred Perlstein.It circuit_n 878360efbdSAlfred PerlsteinThis is same as 888360efbdSAlfred Perlstein.Qq netpath 898360efbdSAlfred Perlsteinexcept that it chooses only the connection oriented datagram transports 908360efbdSAlfred Perlstein(semantics 918360efbdSAlfred Perlstein.Qq tpi_cots 9299064799SGarrett Wollmanor 938360efbdSAlfred Perlstein.Qq tpi_cots_ord ) . 948360efbdSAlfred Perlstein.It datagram_n 958360efbdSAlfred PerlsteinThis is same as 968360efbdSAlfred Perlstein.Qq netpath 978360efbdSAlfred Perlsteinexcept that it chooses only the connectionless datagram transports 988360efbdSAlfred Perlstein(semantics 998360efbdSAlfred Perlstein.Qq tpi_clts ) . 1008360efbdSAlfred Perlstein.It udp 1018360efbdSAlfred PerlsteinThis refers to Internet UDP, both version 4 and 6. 1028360efbdSAlfred Perlstein.It tcp 1038360efbdSAlfred PerlsteinThis refers to Internet TCP, both version 4 and 6. 1048360efbdSAlfred Perlstein.El 1051b51e5d0SRuslan Ermilov.Pp 10699064799SGarrett WollmanIf 1078360efbdSAlfred Perlstein.Fa nettype 1088360efbdSAlfred Perlsteinis 1098360efbdSAlfred Perlstein.Dv NULL , 1108360efbdSAlfred Perlsteinit defaults to 1118360efbdSAlfred Perlstein.Qq netpath . 1128360efbdSAlfred PerlsteinThe transports are tried in left to right order in the 1138360efbdSAlfred Perlstein.Ev NETPATH 1148360efbdSAlfred Perlsteinvariable or in top to down order in the 1158360efbdSAlfred Perlstein.Pa /etc/netconfig 1168360efbdSAlfred Perlsteinfile. 1178360efbdSAlfred Perlstein.Sh Derived Types 1188360efbdSAlfred PerlsteinThe derived types used in the RPC interfaces are defined as follows: 1198360efbdSAlfred Perlstein.Bd -literal 1206b99842aSEd Schouten typedef uint32_t rpcprog_t; 1216b99842aSEd Schouten typedef uint32_t rpcvers_t; 1226b99842aSEd Schouten typedef uint32_t rpcproc_t; 1236b99842aSEd Schouten typedef uint32_t rpcprot_t; 1246b99842aSEd Schouten typedef uint32_t rpcport_t; 1258360efbdSAlfred Perlstein typedef int32_t rpc_inline_t; 1261b51e5d0SRuslan Ermilov.Ed 1278360efbdSAlfred Perlstein.Sh "Data Structures" 1288360efbdSAlfred PerlsteinSome of the data structures used by the 1298360efbdSAlfred PerlsteinRPC package are shown below. 1308360efbdSAlfred Perlstein.Sh "The AUTH Structure" 1318360efbdSAlfred Perlstein.Bd -literal 1328360efbdSAlfred Perlstein/* 1338360efbdSAlfred Perlstein * Authentication info. Opaque to client. 1348360efbdSAlfred Perlstein */ 1358360efbdSAlfred Perlsteinstruct opaque_auth { 1368360efbdSAlfred Perlstein enum_t oa_flavor; /* flavor of auth */ 1378360efbdSAlfred Perlstein caddr_t oa_base; /* address of more auth stuff */ 1388360efbdSAlfred Perlstein u_int oa_length; /* not to exceed MAX_AUTH_BYTES */ 1398360efbdSAlfred Perlstein}; 1408360efbdSAlfred Perlstein 1418360efbdSAlfred Perlstein/* 1428360efbdSAlfred Perlstein * Auth handle, interface to client side authenticators. 1438360efbdSAlfred Perlstein */ 1448360efbdSAlfred Perlsteintypedef struct { 1458360efbdSAlfred Perlstein struct opaque_auth ah_cred; 1468360efbdSAlfred Perlstein struct opaque_auth ah_verf; 1478360efbdSAlfred Perlstein struct auth_ops { 1488360efbdSAlfred Perlstein void (*ah_nextverf)(\|); 1498360efbdSAlfred Perlstein int (*ah_marshal)(\|); /* nextverf & serialize */ 1508360efbdSAlfred Perlstein int (*ah_validate)(\|); /* validate verifier */ 1518360efbdSAlfred Perlstein int (*ah_refresh)(\|); /* refresh credentials */ 1528360efbdSAlfred Perlstein void (*ah_destroy)(\|); /* destroy this structure */ 1538360efbdSAlfred Perlstein } *ah_ops; 1548360efbdSAlfred Perlstein caddr_t ah_private; 1558360efbdSAlfred Perlstein} AUTH; 1568360efbdSAlfred Perlstein.Ed 1578360efbdSAlfred Perlstein.Sh "The CLIENT Structure" 1588360efbdSAlfred Perlstein.Bd -literal 1598360efbdSAlfred Perlstein/* 1608360efbdSAlfred Perlstein * Client rpc handle. 1618360efbdSAlfred Perlstein * Created by individual implementations. 1628360efbdSAlfred Perlstein * Client is responsible for initializing auth. 1638360efbdSAlfred Perlstein */ 1648360efbdSAlfred Perlstein 1658360efbdSAlfred Perlsteintypedef struct { 1668360efbdSAlfred Perlstein AUTH *cl_auth; /* authenticator */ 1678360efbdSAlfred Perlstein struct clnt_ops { 1688360efbdSAlfred Perlstein enum clnt_stat (*cl_call)(); /* call remote procedure */ 1698360efbdSAlfred Perlstein void (*cl_abort)(); /* abort a call */ 1708360efbdSAlfred Perlstein void (*cl_geterr)(); /* get specific error code */ 1718360efbdSAlfred Perlstein bool_t (*cl_freeres)(); /* frees results */ 1728360efbdSAlfred Perlstein void (*cl_destroy)(); /* destroy this structure */ 1738360efbdSAlfred Perlstein bool_t (*cl_control)(); /* the ioctl() of rpc */ 1748360efbdSAlfred Perlstein } *cl_ops; 1758360efbdSAlfred Perlstein caddr_t cl_private; /* private stuff */ 1768360efbdSAlfred Perlstein char *cl_netid; /* network identifier */ 1778360efbdSAlfred Perlstein char *cl_tp; /* device name */ 1788360efbdSAlfred Perlstein} CLIENT; 1798360efbdSAlfred Perlstein.Ed 1808360efbdSAlfred Perlstein.Sh "The SVCXPRT structure" 1818360efbdSAlfred Perlstein.Bd -literal 1828360efbdSAlfred Perlsteinenum xprt_stat { 1838360efbdSAlfred Perlstein XPRT_DIED, 1848360efbdSAlfred Perlstein XPRT_MOREREQS, 1858360efbdSAlfred Perlstein XPRT_IDLE 1868360efbdSAlfred Perlstein}; 1878360efbdSAlfred Perlstein 1888360efbdSAlfred Perlstein/* 1898360efbdSAlfred Perlstein * Server side transport handle 1908360efbdSAlfred Perlstein */ 1918360efbdSAlfred Perlsteintypedef struct { 1928360efbdSAlfred Perlstein int xp_fd; /* file descriptor for the server handle */ 1938360efbdSAlfred Perlstein u_short xp_port; /* obsolete */ 1948360efbdSAlfred Perlstein const struct xp_ops { 1958360efbdSAlfred Perlstein bool_t (*xp_recv)(); /* receive incoming requests */ 1968360efbdSAlfred Perlstein enum xprt_stat (*xp_stat)(); /* get transport status */ 1978360efbdSAlfred Perlstein bool_t (*xp_getargs)(); /* get arguments */ 1988360efbdSAlfred Perlstein bool_t (*xp_reply)(); /* send reply */ 1998360efbdSAlfred Perlstein bool_t (*xp_freeargs)(); /* free mem allocated for args */ 2008360efbdSAlfred Perlstein void (*xp_destroy)(); /* destroy this struct */ 2018360efbdSAlfred Perlstein } *xp_ops; 2028360efbdSAlfred Perlstein int xp_addrlen; /* length of remote addr. Obsolete */ 2038360efbdSAlfred Perlstein struct sockaddr_in xp_raddr; /* Obsolete */ 2048360efbdSAlfred Perlstein const struct xp_ops2 { 2058360efbdSAlfred Perlstein bool_t (*xp_control)(); /* catch-all function */ 2068360efbdSAlfred Perlstein } *xp_ops2; 2078360efbdSAlfred Perlstein char *xp_tp; /* transport provider device name */ 2088360efbdSAlfred Perlstein char *xp_netid; /* network identifier */ 2098360efbdSAlfred Perlstein struct netbuf xp_ltaddr; /* local transport address */ 2108360efbdSAlfred Perlstein struct netbuf xp_rtaddr; /* remote transport address */ 2118360efbdSAlfred Perlstein struct opaque_auth xp_verf; /* raw response verifier */ 2128360efbdSAlfred Perlstein caddr_t xp_p1; /* private: for use by svc ops */ 2138360efbdSAlfred Perlstein caddr_t xp_p2; /* private: for use by svc ops */ 2148360efbdSAlfred Perlstein caddr_t xp_p3; /* private: for use by svc lib */ 2158360efbdSAlfred Perlstein int xp_type /* transport type */ 2168360efbdSAlfred Perlstein} SVCXPRT; 2178360efbdSAlfred Perlstein.Ed 2188360efbdSAlfred Perlstein.Sh "The svc_reg structure" 2198360efbdSAlfred Perlstein.Bd -literal 2208360efbdSAlfred Perlsteinstruct svc_req { 2218360efbdSAlfred Perlstein rpcprog_t rq_prog; /* service program number */ 2228360efbdSAlfred Perlstein rpcvers_t rq_vers; /* service protocol version */ 2238360efbdSAlfred Perlstein rpcproc_t rq_proc; /* the desired procedure */ 2248360efbdSAlfred Perlstein struct opaque_auth rq_cred; /* raw creds from the wire */ 2258360efbdSAlfred Perlstein caddr_t rq_clntcred; /* read only cooked cred */ 2268360efbdSAlfred Perlstein SVCXPRT *rq_xprt; /* associated transport */ 2278360efbdSAlfred Perlstein}; 2288360efbdSAlfred Perlstein.Ed 2298360efbdSAlfred Perlstein.Sh "The XDR structure" 2308360efbdSAlfred Perlstein.Bd -literal 2318360efbdSAlfred Perlstein/* 2328360efbdSAlfred Perlstein * XDR operations. 2338360efbdSAlfred Perlstein * XDR_ENCODE causes the type to be encoded into the stream. 2348360efbdSAlfred Perlstein * XDR_DECODE causes the type to be extracted from the stream. 2358360efbdSAlfred Perlstein * XDR_FREE can be used to release the space allocated by an XDR_DECODE 2368360efbdSAlfred Perlstein * request. 2378360efbdSAlfred Perlstein */ 2388360efbdSAlfred Perlsteinenum xdr_op { 2398360efbdSAlfred Perlstein XDR_ENCODE=0, 2408360efbdSAlfred Perlstein XDR_DECODE=1, 2418360efbdSAlfred Perlstein XDR_FREE=2 2428360efbdSAlfred Perlstein}; 2438360efbdSAlfred Perlstein/* 2448360efbdSAlfred Perlstein * This is the number of bytes per unit of external data. 2458360efbdSAlfred Perlstein */ 2468360efbdSAlfred Perlstein#define BYTES_PER_XDR_UNIT (4) 2478360efbdSAlfred Perlstein#define RNDUP(x) ((((x) + BYTES_PER_XDR_UNIT - 1) / 2488360efbdSAlfred Perlstein BYTES_PER_XDR_UNIT) \e * BYTES_PER_XDR_UNIT) 2498360efbdSAlfred Perlstein 2508360efbdSAlfred Perlstein/* 2518360efbdSAlfred Perlstein * A xdrproc_t exists for each data type which is to be encoded or 2528360efbdSAlfred Perlstein * decoded. The second argument to the xdrproc_t is a pointer to 2538360efbdSAlfred Perlstein * an opaque pointer. The opaque pointer generally points to a 2548360efbdSAlfred Perlstein * structure of the data type to be decoded. If this points to 0, 2558360efbdSAlfred Perlstein * then the type routines should allocate dynamic storage of the 2568360efbdSAlfred Perlstein * appropriate size and return it. 2578360efbdSAlfred Perlstein * bool_t (*xdrproc_t)(XDR *, caddr_t *); 2588360efbdSAlfred Perlstein */ 2598360efbdSAlfred Perlsteintypedef bool_t (*xdrproc_t)(); 2608360efbdSAlfred Perlstein 2618360efbdSAlfred Perlstein/* 2628360efbdSAlfred Perlstein * The XDR handle. 2638360efbdSAlfred Perlstein * Contains operation which is being applied to the stream, 2648360efbdSAlfred Perlstein * an operations vector for the particular implementation 2658360efbdSAlfred Perlstein */ 2668360efbdSAlfred Perlsteintypedef struct { 2678360efbdSAlfred Perlstein enum xdr_op x_op; /* operation; fast additional param */ 2688360efbdSAlfred Perlstein struct xdr_ops { 2698360efbdSAlfred Perlstein bool_t (*x_getlong)(); /* get a long from underlying stream */ 2708360efbdSAlfred Perlstein bool_t (*x_putlong)(); /* put a long to underlying stream */ 2718360efbdSAlfred Perlstein bool_t (*x_getbytes)(); /* get bytes from underlying stream */ 2728360efbdSAlfred Perlstein bool_t (*x_putbytes)(); /* put bytes to underlying stream */ 2738360efbdSAlfred Perlstein u_int (*x_getpostn)(); /* returns bytes off from beginning */ 2748360efbdSAlfred Perlstein bool_t (*x_setpostn)(); /* lets you reposition the stream */ 2758360efbdSAlfred Perlstein long * (*x_inline)(); /* buf quick ptr to buffered data */ 2768360efbdSAlfred Perlstein void (*x_destroy)(); /* free privates of this xdr_stream */ 2778360efbdSAlfred Perlstein } *x_ops; 2788360efbdSAlfred Perlstein caddr_t x_public; /* users' data */ 2798360efbdSAlfred Perlstein caddr_t x_private; /* pointer to private data */ 2808360efbdSAlfred Perlstein caddr_t x_base; /* private used for position info */ 281d7f15c94SJacques Vidrine u_int x_handy; /* extra private word */ 2828360efbdSAlfred Perlstein} XDR; 2838360efbdSAlfred Perlstein 2848360efbdSAlfred Perlstein/* 2858360efbdSAlfred Perlstein * The netbuf structure. This structure is defined in <xti.h> on SysV 2868360efbdSAlfred Perlstein * systems, but NetBSD / FreeBSD do not use XTI. 2878360efbdSAlfred Perlstein * 2888360efbdSAlfred Perlstein * Usually, buf will point to a struct sockaddr, and len and maxlen 2898360efbdSAlfred Perlstein * will contain the length and maximum length of that socket address, 2908360efbdSAlfred Perlstein * respectively. 2918360efbdSAlfred Perlstein */ 2928360efbdSAlfred Perlsteinstruct netbuf { 2938360efbdSAlfred Perlstein unsigned int maxlen; 2948360efbdSAlfred Perlstein unsigned int len; 2958360efbdSAlfred Perlstein void *buf; 2968360efbdSAlfred Perlstein}; 2978360efbdSAlfred Perlstein 2988360efbdSAlfred Perlstein/* 29957bd0fc6SJens Schweikhardt * The format of the address and options arguments of the XTI t_bind call. 3008360efbdSAlfred Perlstein * Only provided for compatibility, it should not be used other than 3018360efbdSAlfred Perlstein * as an argument to svc_tli_create(). 3028360efbdSAlfred Perlstein */ 3038360efbdSAlfred Perlstein 3048360efbdSAlfred Perlsteinstruct t_bind { 3058360efbdSAlfred Perlstein struct netbuf addr; 3068360efbdSAlfred Perlstein unsigned int qlen; 3078360efbdSAlfred Perlstein}; 3088360efbdSAlfred Perlstein.Ed 3098360efbdSAlfred Perlstein.Sh "Index to Routines" 3108360efbdSAlfred PerlsteinThe following table lists RPC routines and the manual reference 3118360efbdSAlfred Perlsteinpages on which they are described: 3121b51e5d0SRuslan Ermilov.Pp 3138360efbdSAlfred Perlstein.Bl -tag -width "authunix_create_default()" -compact 3148360efbdSAlfred Perlstein.It Em "RPC Routine" 3158360efbdSAlfred Perlstein.Em "Manual Reference Page" 3161b51e5d0SRuslan Ermilov.Pp 3178360efbdSAlfred Perlstein.It Fn auth_destroy 3188360efbdSAlfred Perlstein.Xr rpc_clnt_auth 3 3198360efbdSAlfred Perlstein.It Fn authdes_create 3208360efbdSAlfred Perlstein.Xr rpc_soc 3 3218360efbdSAlfred Perlstein.It Fn authnone_create 3228360efbdSAlfred Perlstein.Xr rpc_clnt_auth 3 3238360efbdSAlfred Perlstein.It Fn authsys_create 3248360efbdSAlfred Perlstein.Xr rpc_clnt_auth 3 3258360efbdSAlfred Perlstein.It Fn authsys_create_default 3268360efbdSAlfred Perlstein.Xr rpc_clnt_auth 3 3278360efbdSAlfred Perlstein.It Fn authunix_create 3288360efbdSAlfred Perlstein.Xr rpc_soc 3 3298360efbdSAlfred Perlstein.It Fn authunix_create_default 3308360efbdSAlfred Perlstein.Xr rpc_soc 3 3318360efbdSAlfred Perlstein.It Fn callrpc 3328360efbdSAlfred Perlstein.Xr rpc_soc 3 3338360efbdSAlfred Perlstein.It Fn clnt_broadcast 3348360efbdSAlfred Perlstein.Xr rpc_soc 3 3358360efbdSAlfred Perlstein.It Fn clnt_call 3368360efbdSAlfred Perlstein.Xr rpc_clnt_calls 3 3378360efbdSAlfred Perlstein.It Fn clnt_control 3388360efbdSAlfred Perlstein.Xr rpc_clnt_create 3 3398360efbdSAlfred Perlstein.It Fn clnt_create 3408360efbdSAlfred Perlstein.Xr rpc_clnt_create 3 34162947a57SAlfred Perlstein.It Fn clnt_create_timed 34262947a57SAlfred Perlstein.Xr rpc_clnt_create 3 34362947a57SAlfred Perlstein.It Fn clnt_create_vers 34462947a57SAlfred Perlstein.Xr rpc_clnt_create 3 34562947a57SAlfred Perlstein.It Fn clnt_create_vers_timed 34662947a57SAlfred Perlstein.Xr rpc_clnt_create 3 3478360efbdSAlfred Perlstein.It Fn clnt_destroy 3488360efbdSAlfred Perlstein.Xr rpc_clnt_create 3 3498360efbdSAlfred Perlstein.It Fn clnt_dg_create 3508360efbdSAlfred Perlstein.Xr rpc_clnt_create 3 3518360efbdSAlfred Perlstein.It Fn clnt_freeres 3528360efbdSAlfred Perlstein.Xr rpc_clnt_calls 3 3538360efbdSAlfred Perlstein.It Fn clnt_geterr 3548360efbdSAlfred Perlstein.Xr rpc_clnt_calls 3 3558360efbdSAlfred Perlstein.It Fn clnt_pcreateerror 3568360efbdSAlfred Perlstein.Xr rpc_clnt_create 3 3578360efbdSAlfred Perlstein.It Fn clnt_perrno 3588360efbdSAlfred Perlstein.Xr rpc_clnt_calls 3 3598360efbdSAlfred Perlstein.It Fn clnt_perror 3608360efbdSAlfred Perlstein.Xr rpc_clnt_calls 3 3618360efbdSAlfred Perlstein.It Fn clnt_raw_create 3628360efbdSAlfred Perlstein.Xr rpc_clnt_create 3 3638360efbdSAlfred Perlstein.It Fn clnt_spcreateerror 3648360efbdSAlfred Perlstein.Xr rpc_clnt_create 3 3658360efbdSAlfred Perlstein.It Fn clnt_sperrno 3668360efbdSAlfred Perlstein.Xr rpc_clnt_calls 3 3678360efbdSAlfred Perlstein.It Fn clnt_sperror 3688360efbdSAlfred Perlstein.Xr rpc_clnt_calls 3 3698360efbdSAlfred Perlstein.It Fn clnt_tli_create 3708360efbdSAlfred Perlstein.Xr rpc_clnt_create 3 3718360efbdSAlfred Perlstein.It Fn clnt_tp_create 3728360efbdSAlfred Perlstein.Xr rpc_clnt_create 3 37362947a57SAlfred Perlstein.It Fn clnt_tp_create_timed 37462947a57SAlfred Perlstein.Xr rpc_clnt_create 3 3758360efbdSAlfred Perlstein.It Fn clnt_udpcreate 3768360efbdSAlfred Perlstein.Xr rpc_soc 3 3778360efbdSAlfred Perlstein.It Fn clnt_vc_create 3788360efbdSAlfred Perlstein.Xr rpc_clnt_create 3 3798360efbdSAlfred Perlstein.It Fn clntraw_create 3808360efbdSAlfred Perlstein.Xr rpc_soc 3 3818360efbdSAlfred Perlstein.It Fn clnttcp_create 3828360efbdSAlfred Perlstein.Xr rpc_soc 3 3838360efbdSAlfred Perlstein.It Fn clntudp_bufcreate 3848360efbdSAlfred Perlstein.Xr rpc_soc 3 3858360efbdSAlfred Perlstein.It Fn get_myaddress 3868360efbdSAlfred Perlstein.Xr rpc_soc 3 3878360efbdSAlfred Perlstein.It Fn pmap_getmaps 3888360efbdSAlfred Perlstein.Xr rpc_soc 3 3898360efbdSAlfred Perlstein.It Fn pmap_getport 3908360efbdSAlfred Perlstein.Xr rpc_soc 3 3918360efbdSAlfred Perlstein.It Fn pmap_rmtcall 3928360efbdSAlfred Perlstein.Xr rpc_soc 3 3938360efbdSAlfred Perlstein.It Fn pmap_set 3948360efbdSAlfred Perlstein.Xr rpc_soc 3 3958360efbdSAlfred Perlstein.It Fn pmap_unset 3968360efbdSAlfred Perlstein.Xr rpc_soc 3 3978360efbdSAlfred Perlstein.It Fn registerrpc 3988360efbdSAlfred Perlstein.Xr rpc_soc 3 3998360efbdSAlfred Perlstein.It Fn rpc_broadcast 4008360efbdSAlfred Perlstein.Xr rpc_clnt_calls 3 4018360efbdSAlfred Perlstein.It Fn rpc_broadcast_exp 4028360efbdSAlfred Perlstein.Xr rpc_clnt_calls 3 4038360efbdSAlfred Perlstein.It Fn rpc_call 4048360efbdSAlfred Perlstein.Xr rpc_clnt_calls 3 4058360efbdSAlfred Perlstein.It Fn rpc_reg 4068360efbdSAlfred Perlstein.Xr rpc_svc_calls 3 4078360efbdSAlfred Perlstein.It Fn svc_create 4088360efbdSAlfred Perlstein.Xr rpc_svc_create 3 4098360efbdSAlfred Perlstein.It Fn svc_destroy 4108360efbdSAlfred Perlstein.Xr rpc_svc_create 3 4118360efbdSAlfred Perlstein.It Fn svc_dg_create 4128360efbdSAlfred Perlstein.Xr rpc_svc_create 3 4138360efbdSAlfred Perlstein.It Fn svc_dg_enablecache 4148360efbdSAlfred Perlstein.Xr rpc_svc_calls 3 4158360efbdSAlfred Perlstein.It Fn svc_fd_create 4168360efbdSAlfred Perlstein.Xr rpc_svc_create 3 4178360efbdSAlfred Perlstein.It Fn svc_fds 4188360efbdSAlfred Perlstein.Xr rpc_soc 3 4198360efbdSAlfred Perlstein.It Fn svc_freeargs 4208360efbdSAlfred Perlstein.Xr rpc_svc_reg 3 4218360efbdSAlfred Perlstein.It Fn svc_getargs 4228360efbdSAlfred Perlstein.Xr rpc_svc_reg 3 4238360efbdSAlfred Perlstein.It Fn svc_getcaller 4248360efbdSAlfred Perlstein.Xr rpc_soc 3 4258360efbdSAlfred Perlstein.It Fn svc_getreq 4268360efbdSAlfred Perlstein.Xr rpc_soc 3 4278360efbdSAlfred Perlstein.It Fn svc_getreqset 4288360efbdSAlfred Perlstein.Xr rpc_svc_calls 3 4298360efbdSAlfred Perlstein.It Fn svc_getrpccaller 4308360efbdSAlfred Perlstein.Xr rpc_svc_calls 3 4318360efbdSAlfred Perlstein.It Fn svc_kerb_reg 4328360efbdSAlfred Perlstein.Xr kerberos_rpc 3 4338360efbdSAlfred Perlstein.It Fn svc_raw_create 4348360efbdSAlfred Perlstein.Xr rpc_svc_create 3 4358360efbdSAlfred Perlstein.It Fn svc_reg 4368360efbdSAlfred Perlstein.Xr rpc_svc_calls 3 4378360efbdSAlfred Perlstein.It Fn svc_register 4388360efbdSAlfred Perlstein.Xr rpc_soc 3 4398360efbdSAlfred Perlstein.It Fn svc_run 4408360efbdSAlfred Perlstein.Xr rpc_svc_reg 3 4418360efbdSAlfred Perlstein.It Fn svc_sendreply 4428360efbdSAlfred Perlstein.Xr rpc_svc_reg 3 4438360efbdSAlfred Perlstein.It Fn svc_tli_create 4448360efbdSAlfred Perlstein.Xr rpc_svc_create 3 4458360efbdSAlfred Perlstein.It Fn svc_tp_create 4468360efbdSAlfred Perlstein.Xr rpc_svc_create 3 4478360efbdSAlfred Perlstein.It Fn svc_unreg 4488360efbdSAlfred Perlstein.Xr rpc_svc_calls 3 4498360efbdSAlfred Perlstein.It Fn svc_unregister 4508360efbdSAlfred Perlstein.Xr rpc_soc 3 4518360efbdSAlfred Perlstein.It Fn svc_vc_create 4528360efbdSAlfred Perlstein.Xr rpc_svc_create 3 4538360efbdSAlfred Perlstein.It Fn svcerr_auth 4548360efbdSAlfred Perlstein.Xr rpc_svc_err 3 4558360efbdSAlfred Perlstein.It Fn svcerr_decode 4568360efbdSAlfred Perlstein.Xr rpc_svc_err 3 4578360efbdSAlfred Perlstein.It Fn svcerr_noproc 4588360efbdSAlfred Perlstein.Xr rpc_svc_err 3 4598360efbdSAlfred Perlstein.It Fn svcerr_noprog 4608360efbdSAlfred Perlstein.Xr rpc_svc_err 3 4618360efbdSAlfred Perlstein.It Fn svcerr_progvers 4628360efbdSAlfred Perlstein.Xr rpc_svc_err 3 4638360efbdSAlfred Perlstein.It Fn svcerr_systemerr 4648360efbdSAlfred Perlstein.Xr rpc_svc_err 3 4658360efbdSAlfred Perlstein.It Fn svcerr_weakauth 4668360efbdSAlfred Perlstein.Xr rpc_svc_err 3 4678360efbdSAlfred Perlstein.It Fn svcfd_create 4688360efbdSAlfred Perlstein.Xr rpc_soc 3 4698360efbdSAlfred Perlstein.It Fn svcraw_create 4708360efbdSAlfred Perlstein.Xr rpc_soc 3 4718360efbdSAlfred Perlstein.It Fn svctcp_create 4728360efbdSAlfred Perlstein.Xr rpc_soc 3 4738360efbdSAlfred Perlstein.It Fn svcudp_bufcreate 4748360efbdSAlfred Perlstein.Xr rpc_soc 3 4758360efbdSAlfred Perlstein.It Fn svcudp_create 4768360efbdSAlfred Perlstein.Xr rpc_soc 3 4778360efbdSAlfred Perlstein.It Fn xdr_accepted_reply 4788360efbdSAlfred Perlstein.Xr rpc_xdr 3 4798360efbdSAlfred Perlstein.It Fn xdr_authsys_parms 4808360efbdSAlfred Perlstein.Xr rpc_xdr 3 4818360efbdSAlfred Perlstein.It Fn xdr_authunix_parms 4828360efbdSAlfred Perlstein.Xr rpc_soc 3 4838360efbdSAlfred Perlstein.It Fn xdr_callhdr 4848360efbdSAlfred Perlstein.Xr rpc_xdr 3 4858360efbdSAlfred Perlstein.It Fn xdr_callmsg 4868360efbdSAlfred Perlstein.Xr rpc_xdr 3 4878360efbdSAlfred Perlstein.It Fn xdr_opaque_auth 4888360efbdSAlfred Perlstein.Xr rpc_xdr 3 4898360efbdSAlfred Perlstein.It Fn xdr_rejected_reply 4908360efbdSAlfred Perlstein.Xr rpc_xdr 3 4918360efbdSAlfred Perlstein.It Fn xdr_replymsg 4928360efbdSAlfred Perlstein.Xr rpc_xdr 3 4938360efbdSAlfred Perlstein.It Fn xprt_register 4948360efbdSAlfred Perlstein.Xr rpc_svc_calls 3 4958360efbdSAlfred Perlstein.It Fn xprt_unregister 4968360efbdSAlfred Perlstein.Xr rpc_svc_calls 3 4978360efbdSAlfred Perlstein.El 4988360efbdSAlfred Perlstein.Sh FILES 4998360efbdSAlfred Perlstein.Bl -tag -width /etc/netconfig 5008360efbdSAlfred Perlstein.It Pa /etc/netconfig 5011b51e5d0SRuslan Ermilov.El 5021b51e5d0SRuslan Ermilov.Sh SEE ALSO 5038360efbdSAlfred Perlstein.Xr getnetconfig 3 , 5048360efbdSAlfred Perlstein.Xr getnetpath 3 , 5058360efbdSAlfred Perlstein.Xr rpc_clnt_auth 3 , 5068360efbdSAlfred Perlstein.Xr rpc_clnt_calls 3 , 5078360efbdSAlfred Perlstein.Xr rpc_clnt_create 3 , 5088360efbdSAlfred Perlstein.Xr rpc_svc_calls 3 , 5098360efbdSAlfred Perlstein.Xr rpc_svc_create 3 , 5108360efbdSAlfred Perlstein.Xr rpc_svc_err 3 , 5118360efbdSAlfred Perlstein.Xr rpc_svc_reg 3 , 5128360efbdSAlfred Perlstein.Xr rpc_xdr 3 , 513*4990a1c0SJoel Dahl.Xr rpcbind 3 , 5148360efbdSAlfred Perlstein.Xr xdr 3 , 5158360efbdSAlfred Perlstein.Xr netconfig 5 516