Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ xdr_simple(3N) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

rpc(3N)

xdr_simple(3N)                                               xdr_simple(3N)

NAME
     xdrsimple: xdrbool, xdrchar, xdrdouble, xdrenum, xdrfloat,
     xdrfree, xdrint, xdrlong, xdrshort, xdruchar, xdrulong,
     xdrushort, xdrvoid - Bibliotheksroutinen für die externe Datendar-
     stellung

BESCHREIBUNG
     Diese XDR-Bibliotheksroutinen ermöglichen C-Programmierern die maschi-
     nenunabhängige Darstellung von einfachen Datenstrukturen. Protokolle
     wie das RPC verwenden diese Routinen für die Datendarstellung.

     Diese Routinen erfordern die Erzeugung von XDR-Handles [siehe
     xdrcreate(3N)].

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

   Routinen

     Die Definition der Datenstruktur XDR ist in rpc(3N) zu finden.

     #include <rpc/xdr.h>

     boolt
     xdrbool(XDR *xdrs, boolt *bp);

          xdrbool ist eine Umsetzung zwischen booleschen Werten (in C-
          Ganzzahlen) und ihrer externen Darstellung. Bei der Verschlüsse-
          lung von Daten erzeugt dieser Filter entweder den Wert 1 oder den
          Wert 0. Im Erfolgsfall liefert die Routine 1 zurück, ansonsten 0.

     boolt
     xdrchar(XDR *xdrs, char *cp);

          xdrchar ist eine Umsetzung zwischen Zeichen in C und ihrer
          externen Darstellung. Die Routine liefert im Erfolgsfall 1 anson-
          sten 0 zurück.

          Hinweis: Kodierte Daten werden nicht gepackt und belegen jeweils
          4 Bytes. Für Zeichenketten ist es ratsam, die Routinen xdrbytes,
          xdropaque oder xdrstring zu verwenden [siehe xdrbytes,
          xdropaque und xdrstring in xdrcomplex(3N)].

     boolt
     xdrdouble(XDR *xdrs, double *dp);

          xdrdouble ist eine Umsetzung zwischen dem C-Typ double und des-
          sen externer Darstellung. Die Routine liefert im Erfolgsfall 1
          und im Fehlerfall 0 zurück.






Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

xdr_simple(3N)                                               xdr_simple(3N)

     boolt
     xdrenum(XDR *xdrs, enumt *ep);

          xdrenum ist eine Umsetzung zwischen dem Typ enum (das sind nor-
          male Ganzzahlen) und dessen externer Darstellung. Die Routine
          liefert im Erfolgsfall 1 und im Fehlerfall 0 zurück.

     boolt
     xdrfloat(XDR *xdrs, float *fp);

          xdrfloat ist eine Umsetzung zwischen dem C-Typ float und dessen
          externer Darstellung. Die Routine liefert im Erfolgsfall 1 und im
          Fehlerfall 0 zurück.

     void
     xdrfree(xdrproct proc, char *objp);

          Dies ist eine generische Routine für die Freigabe von Speicher.
          Das erste Argument ist die zu verwendende XDR-Routine für das
          Objekt, das freigegeben werden soll. Das zweite Argument ist ein
          Zeiger auf das freizugebende Objekt.

          Hinweis: Der Zeiger, der der Routine übergeben wird, wird nicht
          freigegeben, jedoch wird alles (rekursiv) freigegeben, auf das
          der Zeiger verweist.

     boolt
     xdrint(XDR *xdrs, int *ip);

          xdrint ist eine Umsetzung zwischen C-Ganzzahlen und ihrer exter-
          nen Darstellung. Die Routine liefert im Erfolgsfall 1 und im Feh-
          lerfall 0 zurück.

     boolt
     xdrlong(XDR *xdrs, long *lp);

          xdrlong ist eine Umsetzung zwischen dem C-Typ long und dessen
          externer Darstellung. Die Routine liefert im Erfolgsfall 1 und im
          Fehlerfall 0 zurück.

     boolt
     xdrshort(XDR *xdrs, short *sp);

          xdrshort ist eine Umsetzung zwischen dem C-Typ short und dessen
          externer Darstellung. Die Routine liefert im Erfolgsfall 1 und im
          Fehlerfall 0 zurück.








Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

xdr_simple(3N)                                               xdr_simple(3N)

     boolt
     xdruchar(XDR *xdrs, char *ucp);

          xdruchar ist eine Umsetzung zwischen dem C-Typ unsigned und
          dessen externer Darstellung. Die Routine liefert im Erfolgsfall 1
          und im Fehlerfall 0 zurück.

     boolt
     xdrulong(XDR *xdrs, unsigned long *ulp);

          xdrulong ist eine Umsetzung zwischen dem C-Typ unsigned long
          und dessen externer Darstellung. Die Routine liefert im Erfolgs-
          fall 1 und im Fehlerfall 0 zurück.

     boolt
     xdrushort(XDR *xdrs, unsigned short *usp);

          xdrushort ist ein Umsetzung zwischen dem C-Typ unsigned short
          und dessen externer Darstellung. Die Routine liefert im Erfolgs-
          fall 1 und im Fehlerfall 0 zurück.

     boolt
     xdrvoid(void);

          Diese Routine liefert immer 1 zurück. Sie kann an RPC-Routinen
          übergeben werden, die zwar einen Funktionsparameter erwarten,
          diesen aber nicht auswerten.

SIEHE AUCH
     rpc(3N), xdradmin(3N), xdrcomplex(3N), xdrcreate(3N).
























Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

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