Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ rpc_svc_reg(3N) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

poll(2)

rpc(3N)

rpc_svc_reg(3N)                                             rpc_svc_reg(3N)

NAME
     rpcsvcreg: svcfreeargs, svcgetargs, svcgetreqset,
     svcgetrpccaller, svcrun, svcsendreply - Bibliotheksroutinen für
     RPC-Server

BESCHREIBUNG
     Diese Routinen sind Teil der RPC-Bibliothek, die es C-Programmen
     ermöglicht, ferne Prozeduraufrufe auf anderen Maschinen über ein Net-
     zwerk durchzuführen.

     Diese Routinen beziehen sich auf die Serverseite des RPC-Mechanismus.
     Einige von ihnen werden von der Server-Verteilerfunktion aufgerufen.
     Andere hingegen (wie z. B. svcrun) werden aufgerufen, wenn der Server
     gestartet wird.

     Wenn Sie eine der rpc-Funktionen verwenden, müssen Sie bei der Über-
     setzung die Bibliothek libnsl dazubinden (cc -lnsl).

   Routinen

     Eine Definition der Datenstruktur SVCXPRT ist in rpc(3N) beschrieben.

     #include <rpc/rpc.h>

     int
     svcfreeargs(const SVCXPRT *xprt, const xdrproct inproc, char *in);

          Ein Funktionsmakro, das alle Daten freigibt, die vom RPC/XDR-
          System bei der Dekodierung der Argumente für eine Dienstprozedur
          mittels svcgetargs allokiert wurden. Diese Routine liefert bei
          erfolgreicher Freigabe 1 zurück und im Fehlerfall 0.

     int
     svcgetargs(const SVCXPRT *xprt, const xdrproct inproc, caddrt *in);

          Ein Funktionsmakro, das die Argumente eines RPC-Auftrags bezüg-
          lich des Serverhandles xprt decodiert. Der Parameter in ist die
          Adresse, an der die Argumente abgelegt werden. inproc ist die
          XDR-Routine, die zur Dekodierung der Argumente verwendet wird.
          Die Routine liefert bei erfolgreicher Dekodierung 1 und im Feh-
          lerfall 0 zurück.

     void
     svcgetreqset(fdset *rdfds);

          Diese Routine ist nur von Interesse, wenn ein Programmierer
          svcrun nicht aufruft, sondern statt dessen eine asynchrone
          Ereignisverarbeitung implementiert. Sie wird aufgerufen, wenn
          poll festgestellt hat, daß ein RPC-Auftrag auf einem RPC-
          Dateideskriptor angekommen ist. rdfds ist ein Bitfeld für alle zu
          prüfenden Deskriptoren. Die Routine kehrt zurück, wenn alle
          Dateideskriptoren entsprechend dem Wert von rdfds verarbeitet



Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

rpc_svc_reg(3N)                                             rpc_svc_reg(3N)

          wurden.





















































Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

rpc_svc_reg(3N)                                             rpc_svc_reg(3N)

     struct netbuf *
     svcgetrpccaller(const SVCXPRT *xprt);

          Ermittelt die Netzwerkadresse eines Aufrufers, der die Prozedur
          aufgerufen hat, die mit dem RPC-Serverhandle xprt verbunden ist.

     void
     svcrun(void);

          Dies ist eine Routine, die nicht mehr zurückkehrt. Sie wartet auf
          die Ankunft von RPC-Aufträgen und ruft, wenn ein Auftrag ankommt,
          die entsprechende Dienstroutine mittels svcgetreqset auf. Danach
          wird der nächste RPC-Auftrag erwartet.

     int
     svcsendreply(const SVCXPRT *xprt, const xdrproct outproc,
          const caddrt *out);

          Wird von einer RPC-Verteilerfunktion aufgerufen, um die Ergeb-
          nisse eines fernen Prozeduraufrufs zu versenden. Der Parameter
          xprt ist das Serverhandle des Auftrags. outproc ist die XDR-
          Routine, die für die Kodierung der Ergebnisse verwendet wird. out
          ist die Adresse, an der sich die Ergebnisse befinden. Die Routine
          liefert im Erfolgsfall 1 und im Fehlerfall 0 zurück.

SIEHE AUCH
     poll(2), rpc(3N), rpcsvccalls(3N), rpcsvccreate(3N),
     rpcsvcerr(3N).


























Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

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