xref: /freebsd/lib/libc/rpc/rpc.3 (revision dc36d6f9bb1753f3808552f3afd30eda9a7b206a)
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