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