Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

rpcbind(1M)

rpcbind(3N)

rpc(3N)

rpc_svc_err(3N)

rpc_svc_create(3N)

rpc_svc_reg(3N)



rpc_svc_calls(3N)                UNIX System V                rpc_svc_calls(3N)


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.




10/89                                                                    Page 1







rpc_svc_calls(3N)                UNIX System V                rpc_svc_calls(3N)


      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)



































Page 2                                                                    10/89





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026