xref: /netbsd-src/lib/libc/rpc/rpc.3 (revision 01869ca4d24a86379a68731bf9706a9f0820fe4e)
17df0ccbaSfvdl.\" @(#)rpc.3n 1.31 93/08/31 SMI; from SVr4
27df0ccbaSfvdl.\" Copyright 1989 AT&T
3*01869ca4Swiz.\"	$NetBSD: rpc.3,v 1.25 2017/07/03 21:32:49 wiz Exp $
47df0ccbaSfvdl.Dd May 7, 1993
57df0ccbaSfvdl.Dt RPC 3
67df0ccbaSfvdl.Os
77df0ccbaSfvdl.Sh NAME
87df0ccbaSfvdl.Nm rpc
97df0ccbaSfvdl.Nd library routines for remote procedure calls
107df0ccbaSfvdl.Sh LIBRARY
117df0ccbaSfvdl.Lb libc
127df0ccbaSfvdl.Sh SYNOPSIS
13472351e1Swiz.In rpc/rpc.h
14472351e1Swiz.In netconfig.h
157df0ccbaSfvdl.Sh DESCRIPTION
167df0ccbaSfvdlThese
177df0ccbaSfvdlroutines allow C language programs to make procedure
187df0ccbaSfvdlcalls on other machines across a network.
197df0ccbaSfvdlFirst, the client sends a request to the server.
207df0ccbaSfvdlOn receipt of the request, the server calls a dispatch routine
217df0ccbaSfvdlto perform the requested service, and then sends back a reply.
227df0ccbaSfvdl.Pp
237df0ccbaSfvdlAll
247df0ccbaSfvdlRPC routines require the header
251c3412faSjoerg.In rpc/rpc.h .
267df0ccbaSfvdlRoutines that take a
277df0ccbaSfvdl.Fa netconfig
287df0ccbaSfvdlstructure also require that
291c3412faSjoerg.In netconfig.h
307df0ccbaSfvdlbe included.
31117f593eSwiz.Ss Nettype
327df0ccbaSfvdlSome of the high-level
337df0ccbaSfvdlRPC interface routines take a
347df0ccbaSfvdl.Fa nettype
357df0ccbaSfvdlstring as one of the parameters
367df0ccbaSfvdl(for example,
377df0ccbaSfvdl.Fn clnt_create ,
387df0ccbaSfvdl.Fn svc_create ,
397df0ccbaSfvdl.Fn rpc_reg ,
407df0ccbaSfvdl.Fn rpc_call .
417df0ccbaSfvdlThis string defines a class of transports which can be used
427df0ccbaSfvdlfor a particular application.
437df0ccbaSfvdl.Pp
447df0ccbaSfvdl.Fa nettype
457df0ccbaSfvdlcan be one of the following:
467df0ccbaSfvdl.Bl -tag -width datagram_v
477df0ccbaSfvdl.It netpath
487df0ccbaSfvdlChoose from the transports which have been
497df0ccbaSfvdlindicated by their token names in the
507df0ccbaSfvdl.Ev NETPATH
517df0ccbaSfvdlenvironment variable.
5263d7b677ScgdIf
537df0ccbaSfvdl.Ev NETPATH
547df0ccbaSfvdlis unset or
557df0ccbaSfvdl.Dv NULL
567df0ccbaSfvdl, it defaults to
577df0ccbaSfvdl.Fa visible .
587df0ccbaSfvdl.Fa netpath
597df0ccbaSfvdlis the default
607df0ccbaSfvdl.Fa nettype .
617df0ccbaSfvdl.It visible
627df0ccbaSfvdlChoose the transports which have the visible flag (v)
637df0ccbaSfvdlset in the
647df0ccbaSfvdl.Pa /etc/netconfig
657df0ccbaSfvdlfile.
667df0ccbaSfvdl.It circuit_v
677df0ccbaSfvdlThis is same as
687df0ccbaSfvdl.Fa visible
697df0ccbaSfvdlexcept that it chooses only the connection oriented transports
707df0ccbaSfvdl(semantics
717df0ccbaSfvdl.Fa tpi_cots
7263d7b677Scgdor
737df0ccbaSfvdl.Fa tpi_cots_ord )
747df0ccbaSfvdlfrom the entries in the
757df0ccbaSfvdl.Pa /etc/netconfig
767df0ccbaSfvdlfile.
777df0ccbaSfvdl.It datagram_v
787df0ccbaSfvdlThis is same as
797df0ccbaSfvdl.Fa visible
807df0ccbaSfvdlexcept that it chooses only the connectionless datagram transports
817df0ccbaSfvdl(semantics
827df0ccbaSfvdl.Fa tpi_clts )
837df0ccbaSfvdlfrom the entries in the
847df0ccbaSfvdl.Pa /etc/netconfig
857df0ccbaSfvdlfile.
867df0ccbaSfvdl.It circuit_n
877df0ccbaSfvdlThis is same as
887df0ccbaSfvdl.Fa netpath
897df0ccbaSfvdlexcept that it chooses only the connection oriented datagram transports
907df0ccbaSfvdl(semantics
917df0ccbaSfvdl.Fa tpi_cots
9263d7b677Scgdor
937df0ccbaSfvdl.Fa tpi_cots_ord ) .
947df0ccbaSfvdl.It datagram_n
957df0ccbaSfvdlThis is same as
967df0ccbaSfvdl.Fa netpath
977df0ccbaSfvdlexcept that it chooses only the connectionless datagram transports
987df0ccbaSfvdl(semantics
997df0ccbaSfvdl.Fa tpi_clts ) .
1007df0ccbaSfvdl.It udp
1017df0ccbaSfvdlThis refers to Internet UDP, both version 4 and 6.
1027df0ccbaSfvdl.It tcp
1037df0ccbaSfvdlThis refers to Internet TCP, both version 4 and 6.
1047df0ccbaSfvdl.El
1057df0ccbaSfvdl.Pp
10663d7b677ScgdIf
107d749557cSjoerg.Fa nettype
1087df0ccbaSfvdlis
1097df0ccbaSfvdl.Dv NULL ,
1107df0ccbaSfvdlit defaults to
1117df0ccbaSfvdl.Fa netpath .
1127df0ccbaSfvdlThe transports are tried in left to right order in the
1137df0ccbaSfvdl.Ev NETPATH
1147df0ccbaSfvdlvariable or in top to down order in the
1157df0ccbaSfvdl.Pa /etc/netconfig
1167df0ccbaSfvdlfile.
117117f593eSwiz.Ss Derived Types
1187df0ccbaSfvdlThe derived types used in the RPC interfaces are defined as follows:
1197df0ccbaSfvdl.Bd -literal
120fd18408bSperry	typedef uint32_t rpcprog_t;
121fd18408bSperry	typedef uint32_t rpcvers_t;
122fd18408bSperry	typedef uint32_t rpcproc_t;
123fd18408bSperry	typedef uint32_t rpcprot_t;
124fd18408bSperry	typedef uint32_t rpcport_t;
1257df0ccbaSfvdl	typedef   int32_t rpc_inline_t;
1267df0ccbaSfvdl.Ed
127117f593eSwiz.Ss Data Structures
1287df0ccbaSfvdlSome of the data structures used by the
1297df0ccbaSfvdlRPC package are shown below.
130117f593eSwiz.Ss The AUTH Structure
1317df0ccbaSfvdl.Bd -literal
1327df0ccbaSfvdl/*
1337df0ccbaSfvdl * Authentication info. Opaque to client.
1347df0ccbaSfvdl */
1357df0ccbaSfvdlstruct opaque_auth {
1367df0ccbaSfvdl    enum_t    oa_flavor;    /* flavor of auth */
1377df0ccbaSfvdl    caddr_t    oa_base;    /* address of more auth stuff */
1387df0ccbaSfvdl    u_int    oa_length;    /* not to exceed MAX_AUTH_BYTES */
1397df0ccbaSfvdl};
14063d7b677Scgd
1417df0ccbaSfvdl/*
1427df0ccbaSfvdl * Auth handle, interface to client side authenticators.
1437df0ccbaSfvdl */
1447df0ccbaSfvdltypedef struct {
1457df0ccbaSfvdl    struct    opaque_auth    ah_cred;
1467df0ccbaSfvdl    struct    opaque_auth    ah_verf;
1477df0ccbaSfvdl    struct auth_ops {
1487df0ccbaSfvdl        void    (*ah_nextverf)(\|);
149*01869ca4Swiz        int    (*ah_marshal)(\|);    /* nextverf & serialize */
1507df0ccbaSfvdl        int    (*ah_validate)(\|);    /* validate verifier */
1517df0ccbaSfvdl        int    (*ah_refresh)(\|);    /* refresh credentials */
1527df0ccbaSfvdl        void    (*ah_destroy)(\|);    /* destroy this structure */
1537df0ccbaSfvdl    } *ah_ops;
1547df0ccbaSfvdl    caddr_t ah_private;
1557df0ccbaSfvdl} AUTH;
1567df0ccbaSfvdl.Ed
157117f593eSwiz.Ss The CLIENT Structure
1587df0ccbaSfvdl.Bd -literal
1597df0ccbaSfvdl/*
1607df0ccbaSfvdl * Client rpc handle.
1617df0ccbaSfvdl * Created by individual implementations.
1627df0ccbaSfvdl * Client is responsible for initializing auth.
1637df0ccbaSfvdl */
1647df0ccbaSfvdl
1657df0ccbaSfvdltypedef struct {
1667df0ccbaSfvdl    AUTH    *cl_auth;    /* authenticator */
1677df0ccbaSfvdl    struct clnt_ops {
1687df0ccbaSfvdl        enum clnt_stat    (*cl_call)();    /* call remote procedure */
1697df0ccbaSfvdl        void    (*cl_abort)();        /* abort a call */
1707df0ccbaSfvdl        void    (*cl_geterr)();        /* get specific error code */
1717df0ccbaSfvdl        bool_t    (*cl_freeres)();    /* frees results */
1727df0ccbaSfvdl        void    (*cl_destroy)();    /* destroy this structure */
1737df0ccbaSfvdl        bool_t    (*cl_control)();    /* the ioctl() of rpc */
1747df0ccbaSfvdl    } *cl_ops;
1757df0ccbaSfvdl    caddr_t    cl_private;    /* private stuff */
1767df0ccbaSfvdl    char    *cl_netid;    /* network identifier */
1777df0ccbaSfvdl    char    *cl_tp;        /* device name */
1787df0ccbaSfvdl} CLIENT;
1797df0ccbaSfvdl.Ed
180117f593eSwiz.Ss The SVCXPRT structure
1817df0ccbaSfvdl.Bd -literal
1827df0ccbaSfvdlenum xprt_stat {
1837df0ccbaSfvdl    XPRT_DIED,
1847df0ccbaSfvdl    XPRT_MOREREQS,
1857df0ccbaSfvdl    XPRT_IDLE
1867df0ccbaSfvdl};
1877df0ccbaSfvdl
1887df0ccbaSfvdl/*
1897df0ccbaSfvdl * Server side transport handle
1907df0ccbaSfvdl */
1917df0ccbaSfvdltypedef struct {
1927df0ccbaSfvdl    int    xp_fd;    /* file descriptor for the server handle */
1937df0ccbaSfvdl    u_short    xp_port;    /* obsolete */
1947df0ccbaSfvdl    const struct xp_ops {
1957df0ccbaSfvdl        bool_t    (*xp_recv)();    /* receive incoming requests */
1967df0ccbaSfvdl        enum xprt_stat    (*xp_stat)();    /* get transport status */
1977df0ccbaSfvdl        bool_t    (*xp_getargs)();    /* get arguments */
1987df0ccbaSfvdl        bool_t    (*xp_reply)();      /* send reply */
1997df0ccbaSfvdl        bool_t    (*xp_freeargs)(); /* free mem allocated for args */
2007df0ccbaSfvdl        void    (*xp_destroy)();    /* destroy this struct */
2017df0ccbaSfvdl    } *xp_ops;
2027df0ccbaSfvdl    int    xp_addrlen;    /* length of remote addr.  Obsolete */
2037df0ccbaSfvdl    struct sockaddr_in    xp_raddr; /* Obsolete */
2047df0ccbaSfvdl    const struct xp_ops2 {
2057df0ccbaSfvdl        bool_t    (*xp_control)();    /* catch-all function */
2067df0ccbaSfvdl    } *xp_ops2;
2077df0ccbaSfvdl    char    *xp_tp;    /* transport provider device name */
2087df0ccbaSfvdl    char    *xp_netid;    /* network identifier */
2097df0ccbaSfvdl    struct netbuf    xp_ltaddr;    /* local transport address */
2107df0ccbaSfvdl    struct netbuf    xp_rtaddr;    /* remote transport address */
2117df0ccbaSfvdl    struct opaque_auth    xp_verf;    /* raw response verifier */
2127df0ccbaSfvdl    caddr_t    xp_p1;    /* private: for use by svc ops */
2137df0ccbaSfvdl    caddr_t    xp_p2;    /* private: for use by svc ops */
2147df0ccbaSfvdl    caddr_t    xp_p3;    /* private: for use by svc lib */
2157df0ccbaSfvdl    int    xp_type    /* transport type */
2167df0ccbaSfvdl} SVCXPRT;
2177df0ccbaSfvdl.Ed
218b1e75a82Syamt.Ss The svc_req structure
2197df0ccbaSfvdl.Bd -literal
2207df0ccbaSfvdlstruct svc_req {
2217df0ccbaSfvdl    rpcprog_t    rq_prog;    /* service program number */
2227df0ccbaSfvdl    rpcvers_t    rq_vers;    /* service protocol version */
2237df0ccbaSfvdl    rpcproc_t    rq_proc;    /* the desired procedure */
2247df0ccbaSfvdl    struct opaque_auth    rq_cred;    /* raw creds from the wire */
2257df0ccbaSfvdl    caddr_t    rq_clntcred;    /* read only cooked cred */
2267df0ccbaSfvdl    SVCXPRT    *rq_xprt;    /* associated transport */
2277df0ccbaSfvdl};
2287df0ccbaSfvdl.Ed
229117f593eSwiz.Ss The XDR structure
2307df0ccbaSfvdl.Bd -literal
2317df0ccbaSfvdl/*
2327df0ccbaSfvdl * XDR operations.
2337df0ccbaSfvdl * XDR_ENCODE causes the type to be encoded into the stream.
2347df0ccbaSfvdl * XDR_DECODE causes the type to be extracted from the stream.
2357df0ccbaSfvdl * XDR_FREE can be used to release the space allocated by an XDR_DECODE
2367df0ccbaSfvdl * request.
2377df0ccbaSfvdl */
2387df0ccbaSfvdlenum xdr_op {
2397df0ccbaSfvdl    XDR_ENCODE=0,
2407df0ccbaSfvdl    XDR_DECODE=1,
2417df0ccbaSfvdl    XDR_FREE=2
2427df0ccbaSfvdl};
2437df0ccbaSfvdl/*
2447df0ccbaSfvdl * This is the number of bytes per unit of external data.
2457df0ccbaSfvdl */
2467df0ccbaSfvdl#define BYTES_PER_XDR_UNIT    (4)
2477df0ccbaSfvdl#define RNDUP(x)  ((((x) + BYTES_PER_XDR_UNIT - 1) /
2487df0ccbaSfvdl                   BYTES_PER_XDR_UNIT) \e * BYTES_PER_XDR_UNIT)
2497df0ccbaSfvdl
2507df0ccbaSfvdl/*
2517df0ccbaSfvdl * A xdrproc_t exists for each data type which is to be encoded or
2527df0ccbaSfvdl * decoded.  The second argument to the xdrproc_t is a pointer to
2537df0ccbaSfvdl * an opaque pointer.  The opaque pointer generally points to a
2547df0ccbaSfvdl * structure of the data type to be decoded.  If this points to 0,
2557df0ccbaSfvdl * then the type routines should allocate dynamic storage of the
2567df0ccbaSfvdl * appropriate size and return it.
2577df0ccbaSfvdl */
25876be87e1Splunkytypedef  bool_t (*xdrproc_t)(XDR *, const void *);
2597df0ccbaSfvdl
2607df0ccbaSfvdl/*
2617df0ccbaSfvdl * The XDR handle.
2627df0ccbaSfvdl * Contains operation which is being applied to the stream,
2637df0ccbaSfvdl * an operations vector for the particular implementation
2647df0ccbaSfvdl */
2657df0ccbaSfvdltypedef struct {
2667df0ccbaSfvdl    enum xdr_op    x_op;    /* operation; fast additional param */
2677df0ccbaSfvdl    struct xdr_ops {
2687df0ccbaSfvdl        bool_t    (*x_getlong)();    /* get a long from underlying stream */
2697df0ccbaSfvdl        bool_t    (*x_putlong)();    /* put a long to underlying stream */
2707df0ccbaSfvdl        bool_t    (*x_getbytes)(); /* get bytes from underlying stream */
2717df0ccbaSfvdl        bool_t    (*x_putbytes)(); /* put bytes to underlying stream */
2727df0ccbaSfvdl        u_int    (*x_getpostn)(); /* returns bytes off from beginning */
2737df0ccbaSfvdl        bool_t    (*x_setpostn)(); /* lets you reposition the stream */
2747df0ccbaSfvdl        long *    (*x_inline)();    /* buf quick ptr to buffered data */
2757df0ccbaSfvdl        void    (*x_destroy)();    /* free privates of this xdr_stream */
2767df0ccbaSfvdl    } *x_ops;
2777df0ccbaSfvdl    caddr_t    x_public;    /* users' data */
2787df0ccbaSfvdl    caddr_t    x_private;    /* pointer to private data */
2797df0ccbaSfvdl    caddr_t    x_base;    /* private used for position info */
2807df0ccbaSfvdl    int    x_handy;    /* extra private word */
2817df0ccbaSfvdl} XDR;
2827df0ccbaSfvdl
2837df0ccbaSfvdl/*
284*01869ca4Swiz * The netbuf structure. This structure is defined in <xti.h> on SysV
2857df0ccbaSfvdl * systems, but NetBSD does not use XTI.
2867df0ccbaSfvdl *
2877df0ccbaSfvdl * Usually, buf will point to a struct sockaddr, and len and maxlen
2887df0ccbaSfvdl * will contain the length and maximum length of that socket address,
2897df0ccbaSfvdl * respectively.
2907df0ccbaSfvdl */
2917df0ccbaSfvdlstruct netbuf {
2927df0ccbaSfvdl	unsigned int maxlen;
2937df0ccbaSfvdl	unsigned int len;
2947df0ccbaSfvdl	void *buf;
2957df0ccbaSfvdl};
2967df0ccbaSfvdl
2977df0ccbaSfvdl/*
298708eed19Sjschauma * The format of the address and options arguments of the XTI t_bind call.
2997df0ccbaSfvdl * Only provided for compatibility, it should not be used other than
3007df0ccbaSfvdl * as an argument to svc_tli_create().
3017df0ccbaSfvdl */
3027df0ccbaSfvdl
3037df0ccbaSfvdlstruct t_bind {
3047df0ccbaSfvdl	struct netbuf   addr;
3057df0ccbaSfvdl	unsigned int    qlen;
3067df0ccbaSfvdl};
3077df0ccbaSfvdl.Ed
308117f593eSwiz.Ss Index to Routines
3097df0ccbaSfvdlThe following table lists RPC routines and the manual reference
3107df0ccbaSfvdlpages on which they are described:
3117df0ccbaSfvdl.Bl -column "authunix_create_default()" "rpc_clnt_create(3)"
3127df0ccbaSfvdl.It Em "RPC Routine" Ta Em "Manual Reference Page"
3137df0ccbaSfvdl.Pp
3142e352fbfSwiz.It Fn auth_destroy Ta Xr rpc_clnt_auth 3
3152e352fbfSwiz.It Fn authdes_create Ta Xr rpc_soc 3
3162e352fbfSwiz.It Fn authnone_create Ta Xr rpc_clnt_auth 3
3172e352fbfSwiz.It Fn authsys_create Ta Xr rpc_clnt_auth 3
3182e352fbfSwiz.It Fn authsys_create_default Ta Xr rpc_clnt_auth 3
3192e352fbfSwiz.It Fn authunix_create Ta Xr rpc_soc 3
3202e352fbfSwiz.It Fn authunix_create_default Ta Xr rpc_soc 3
3212e352fbfSwiz.It Fn callrpc Ta Xr rpc_soc 3
3222e352fbfSwiz.It Fn clnt_broadcast Ta Xr rpc_soc 3
3232e352fbfSwiz.It Fn clnt_call Ta Xr rpc_clnt_calls 3
3242e352fbfSwiz.It Fn clnt_control Ta Xr rpc_clnt_create 3
3252e352fbfSwiz.It Fn clnt_create Ta Xr rpc_clnt_create 3
3262e352fbfSwiz.It Fn clnt_destroy Ta Xr rpc_clnt_create 3
3272e352fbfSwiz.It Fn clnt_dg_create Ta Xr rpc_clnt_create 3
3282e352fbfSwiz.It Fn clnt_freeres Ta Xr rpc_clnt_calls 3
3292e352fbfSwiz.It Fn clnt_geterr Ta Xr rpc_clnt_calls 3
3302e352fbfSwiz.It Fn clnt_pcreateerror Ta Xr rpc_clnt_create 3
3312e352fbfSwiz.It Fn clnt_perrno Ta Xr rpc_clnt_calls 3
3322e352fbfSwiz.It Fn clnt_perror Ta Xr rpc_clnt_calls 3
3332e352fbfSwiz.It Fn clnt_raw_create Ta Xr rpc_clnt_create 3
3342e352fbfSwiz.It Fn clnt_spcreateerror Ta Xr rpc_clnt_create 3
3352e352fbfSwiz.It Fn clnt_sperrno Ta Xr rpc_clnt_calls 3
3362e352fbfSwiz.It Fn clnt_sperror Ta Xr rpc_clnt_calls 3
3372e352fbfSwiz.It Fn clnt_tli_create Ta Xr rpc_clnt_create 3
3382e352fbfSwiz.It Fn clnt_tp_create Ta Xr rpc_clnt_create 3
3392e352fbfSwiz.It Fn clnt_udpcreate Ta Xr rpc_soc 3
3402e352fbfSwiz.It Fn clnt_vc_create Ta Xr rpc_clnt_create 3
3412e352fbfSwiz.It Fn clntraw_create Ta Xr rpc_soc 3
3422e352fbfSwiz.It Fn clnttcp_create Ta Xr rpc_soc 3
3432e352fbfSwiz.It Fn clntudp_bufcreate Ta Xr rpc_soc 3
3442e352fbfSwiz.It Fn get_myaddress Ta Xr rpc_soc 3
3452e352fbfSwiz.It Fn pmap_getmaps Ta Xr rpc_soc 3
3462e352fbfSwiz.It Fn pmap_getport Ta Xr rpc_soc 3
3472e352fbfSwiz.It Fn pmap_rmtcall Ta Xr rpc_soc 3
3482e352fbfSwiz.It Fn pmap_set Ta Xr rpc_soc 3
3492e352fbfSwiz.It Fn pmap_unset Ta Xr rpc_soc 3
3502e352fbfSwiz.It Fn registerrpc Ta Xr rpc_soc 3
3512e352fbfSwiz.It Fn rpc_broadcast Ta Xr rpc_clnt_calls 3
3522e352fbfSwiz.It Fn rpc_broadcast_exp Ta Xr rpc_clnt_calls 3
3532e352fbfSwiz.It Fn rpc_call Ta Xr rpc_clnt_calls 3
3542e352fbfSwiz.It Fn rpc_reg Ta Xr rpc_svc_calls 3
3552e352fbfSwiz.It Fn svc_create Ta Xr rpc_svc_create 3
3562e352fbfSwiz.It Fn svc_destroy Ta Xr rpc_svc_create 3
3572e352fbfSwiz.It Fn svc_dg_create Ta Xr rpc_svc_create 3
3582e352fbfSwiz.It Fn svc_dg_enablecache Ta Xr rpc_svc_calls 3
3592e352fbfSwiz.It Fn svc_fd_create Ta Xr rpc_svc_create 3
3602e352fbfSwiz.It Fn svc_fds Ta Xr rpc_soc 3
3612e352fbfSwiz.It Fn svc_freeargs Ta Xr rpc_svc_reg 3
3622e352fbfSwiz.It Fn svc_getargs Ta Xr rpc_svc_reg 3
3632e352fbfSwiz.It Fn svc_getcaller Ta Xr rpc_soc 3
3642e352fbfSwiz.It Fn svc_getreq Ta Xr rpc_soc 3
3652e352fbfSwiz.It Fn svc_getreqset Ta Xr rpc_svc_calls 3
3662e352fbfSwiz.It Fn svc_getrpccaller Ta Xr rpc_svc_calls 3
3672e352fbfSwiz.It Fn svc_kerb_reg Ta Xr kerberos_rpc 3
3682e352fbfSwiz.It Fn svc_raw_create Ta Xr rpc_svc_create 3
3692e352fbfSwiz.It Fn svc_reg Ta Xr rpc_svc_calls 3
3702e352fbfSwiz.It Fn svc_register Ta Xr rpc_soc 3
3712e352fbfSwiz.It Fn svc_run Ta Xr rpc_svc_reg 3
3722e352fbfSwiz.It Fn svc_sendreply Ta Xr rpc_svc_reg 3
3732e352fbfSwiz.It Fn svc_tli_create Ta Xr rpc_svc_create 3
3742e352fbfSwiz.It Fn svc_tp_create Ta Xr rpc_svc_create 3
3752e352fbfSwiz.It Fn svc_unreg Ta Xr rpc_svc_calls 3
3762e352fbfSwiz.It Fn svc_unregister Ta  Xr rpc_soc 3
3772e352fbfSwiz.It Fn svc_vc_create Ta Xr rpc_svc_create 3
3782e352fbfSwiz.It Fn svcerr_auth Ta Xr rpc_svc_err 3
3792e352fbfSwiz.It Fn svcerr_decode Ta Xr rpc_svc_err 3
3802e352fbfSwiz.It Fn svcerr_noproc Ta Xr rpc_svc_err 3
3812e352fbfSwiz.It Fn svcerr_noprog Ta Xr rpc_svc_err 3
3822e352fbfSwiz.It Fn svcerr_progvers Ta Xr rpc_svc_err 3
3832e352fbfSwiz.It Fn svcerr_systemerr Ta Xr rpc_svc_err 3
3842e352fbfSwiz.It Fn svcerr_weakauth Ta Xr rpc_svc_err 3
3852e352fbfSwiz.It Fn svcfd_create Ta Xr rpc_soc 3
3862e352fbfSwiz.It Fn svcraw_create Ta Xr rpc_soc 3
3872e352fbfSwiz.It Fn svctcp_create Ta Xr rpc_soc 3
3882e352fbfSwiz.It Fn svcudp_bufcreate Ta Xr rpc_soc 3
3892e352fbfSwiz.It Fn svcudp_create Ta Xr rpc_soc 3
3902e352fbfSwiz.It Fn xdr_accepted_reply Ta Xr rpc_xdr 3
3912e352fbfSwiz.It Fn xdr_authsys_parms Ta Xr rpc_xdr 3
3922e352fbfSwiz.It Fn xdr_authunix_parms Ta Xr rpc_soc 3
3932e352fbfSwiz.It Fn xdr_callhdr Ta Xr rpc_xdr 3
3942e352fbfSwiz.It Fn xdr_callmsg Ta Xr rpc_xdr 3
3952e352fbfSwiz.It Fn xdr_opaque_auth Ta Xr rpc_xdr 3
3962e352fbfSwiz.It Fn xdr_rejected_reply Ta Xr rpc_xdr 3
3972e352fbfSwiz.It Fn xdr_replymsg Ta Xr rpc_xdr 3
3982e352fbfSwiz.It Fn xprt_register Ta Xr rpc_svc_calls 3
3992e352fbfSwiz.It Fn xprt_unregister Ta Xr rpc_svc_calls 3
4007df0ccbaSfvdl.El
4017df0ccbaSfvdl.Sh FILES
4027df0ccbaSfvdl.Pa /etc/netconfig
4037df0ccbaSfvdl.Sh SEE ALSO
4047df0ccbaSfvdl.Xr getnetconfig 3 ,
4057df0ccbaSfvdl.Xr getnetpath 3 ,
4067df0ccbaSfvdl.Xr rpc_clnt_auth 3 ,
4077df0ccbaSfvdl.Xr rpc_clnt_calls 3 ,
4087df0ccbaSfvdl.Xr rpc_clnt_create 3 ,
4097df0ccbaSfvdl.Xr rpc_svc_calls 3 ,
4107df0ccbaSfvdl.Xr rpc_svc_create 3 ,
4117df0ccbaSfvdl.Xr rpc_svc_err 3 ,
4127df0ccbaSfvdl.Xr rpc_svc_reg 3 ,
4137df0ccbaSfvdl.Xr rpc_xdr 3 ,
4147df0ccbaSfvdl.Xr rpcbind 3 ,
4157df0ccbaSfvdl.Xr xdr 3 ,
416814224e5Swiz.Xr netconfig 5
417