rpc_svc_cls(3N)
rpc_svc_calls: rpc_reg, svc_reg, svc_unreg, xprt_register, xprt_unregister - library routines for registering servers
As shipped in IRIX 6.5.22. Unchanged since IRIX 6.5.
NAME rpc_svc_calls: rpc_reg, svc_reg, svc_unreg, xprt_register, xprt_unregister - library routines for registering servers DESCRIPTION These routines are a part of the RPC library which allows the RPC servers to register themselves with rpcbind [see rpcbind(1M)], and it associates the given program and version number with the dispatch function. Routines See rpc(3N) for the definition of the SVCXPRT data structure. #include <rpc/rpc.h> int rpc_reg(const u_long prognum, const u_long versnum, const u_long procnum, const char *(*procname), const xdrproc_t inproc, const xdrproc_t outproc, const char *nettype); Register program prognum, procedure procname, and version versnum with the RPC service package. If a request arrives for program prognum, version versnum, and procedure procnum, procname is called with a pointer to its parameter(s); procname should return a pointer to its static result(s); inproc is used to decode the parameters while outproc is used to encode the results. Procedures are registered on all available transports of the class nettype. nettype defines a class of transports which can be used for a particular application. If nettype is NULL, it defaults to netpath. This routine returns 0 if the registration succeeded, -1 otherwise. int svc_reg(const SVCXPRT *xprt, const u_long prognum, const u_long versnum, const void (*dispatch), const struct netconfig *netconf); Associates prognum and versnum with the service dispatch procedure, dispatch. If netconf is NULL, the service is not registered with the rpcbind service. If netconf is non-zero, then a mapping of the triple [prognum, versnum, netconf->nc_netid] to xprt->xp_ltaddr is established with the local rpcbind service. The svc_reg routine returns 1 if it succeeds, and 0 otherwise void svc_unreg(const u_long prognum, const u_long versnum); Remove, from the rpcbind service, all mappings of the double [prognum, versnum] to dispatch routines, and of the triple [prognum, versnum, *] to network address. void xprt_register(const SVCXPRT *xprt); After RPC service transport handle xprt is created, it is registered with the RPC service package. This routine modifies the global variable svc_fds. Service implementors usually do not need this routine. void xprt_unregister(const SVCXPRT *xprt); Before an RPC service transport handle xprt is destroyed, it unregisters itself with the RPC service package. This routine modifies the global variable svc_fds. Service implementors usually do not need this routine. SEE ALSO rpcbind(1M), rpcbind(3N), rpc(3N), rpc_svc_err(3N), rpc_svc_create(3N), rpc_svc_reg(3N)