Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ svc_unreg(3N) — svr4 — mips UMIPS RISC/os 5.01

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)



RPCSVCCLS(3N-SVR4)RISC/os Reference Manual RPCSVCCLS(3N-SVR4)



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 ver-
     sion number with the dispatch function.

   Routines
     See rpc(3N) for the definition of the SVCXPRT data struc-
     ture.

     #include <rpc/rpc.h>

     int
     rpcreg(const ulong prognum, const ulong versnum,
          const ulong procnum, const char *(*procname),
          const xdrproct inproc, const xdrproct outproc,
          const char *nettype);

          Register program prognum, procedure procname, and ver-
          sion 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 avail-
          able transports of the class nettype.  nettype defines
          a class of transports which can be used for a particu-
          lar application.  If nettype is NULL, it defaults to
          netpath.  This routine returns 0 if the registration
          succeeded, -1 otherwise.

     int
     svcreg(const SVCXPRT *xprt, const ulong prognum, const ulong 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 svcreg routine returns 1 if it succeeds, and 0
          otherwise




                        Printed 11/19/92                   Page 1





RPCSVCCLS(3N-SVR4)RISC/os Reference Manual RPCSVCCLS(3N-SVR4)



     void
     svcunreg(const ulong prognum, const ulong 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
     xprtregister(const SVCXPRT *xprt);

          After RPC service transport handle xprt is created, it
          is registered with the RPC service package.  This rou-
          tine modifies the global variable svc_fds.  Service
          implementors usually do not need this routine.

     void
     xprtunregister(const SVCXPRT *xprt);

          Before an RPC service transport handle xprt is des-
          troyed, 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                 Printed 11/19/92



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