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 - library routines for external data representa-
     tion

DESCRIPTION
     XDR library routines allow C programmers to describe simple data
     structures in a machine-independent fashion. Protocols such as remote
     procedure calls (RPC) use these routines to describe the format of the
     data.

     These routines require the creation of XDR handles [see
     xdrcreate(3N)].

     If you use one of the XDR functions, you must link the libnsl library
     at compilation (cc -lnsl).

   Routines

     See rpc(3N) for the definition of the XDR data structure.

     #include <rpc/xdr.h>

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

          xdrbool translates between booleans (C integers) and their
          external representations. When encoding data, this filter pro-
          duces values of either 1 or 0. This routine returns 1 if it
          succeeds, 0 otherwise.

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

          xdrchar translates between C characters and their external rep-
          resentations. This routine returns 1 if it succeeds, 0 otherwise.

          Note: encoded characters are not packed, and occupy 4 bytes each.
          For arrays of characters, it is worthwhile to consider xdrbytes,
          xdropaque or xdrstring [see xdrbytes, xdropaque and
          xdrstring in xdrcomplex(3N)].

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

          xdrdouble translates between C double precision numbers and
          their external representations. This routine returns 1 if it
          succeeds, 0 otherwise.






Page 1                       Reliant UNIX 5.44                Printed 11/98

xdr_simple(3N)                                               xdr_simple(3N)

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

          xdrenum translates between C enums (actually integers) and their
          external representations. This routine returns 1 if it succeeds,
          0 otherwise.

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

          xdrfloat translates between C floats and their external repre-
          sentations. This routine returns 1 if it succeeds, 0 otherwise.

     void
     xdrfree(xdrproct proc, char *objp);

          Generic freeing routine. The first argument is the XDR routine
          for the object being freed. The second argument is a pointer to
          the object itself.

          Note: the pointer passed to this routine is not freed, but what
          it points to is freed (recursively).

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

          xdrint translates between C integers and their external repre-
          sentations. This routine returns 1 if it succeeds, 0 otherwise.

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

          xdrlong translates between C long integers and their external
          representations. This routine returns 1 if it succeeds, 0 other-
          wise.

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

          xdrshort translates between C short integers and their external
          representations. This routine returns 1 if it succeeds, 0 other-
          wise.

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

          xdruchar translates between unsigned C characters and their
          external representations. This routine returns 1 if it succeeds,
          0 otherwise.

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


Page 2                       Reliant UNIX 5.44                Printed 11/98

xdr_simple(3N)                                               xdr_simple(3N)

          xdrulong translates between C unsigned long integers and their
          external representations. This routine returns 1 if it succeeds,
          0 otherwise.

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

          xdrushort translates between C unsigned short integers and
          their external representations. This routine returns 1 if it
          succeeds, 0 otherwise.

     boolt
     xdrvoid(void);

          This routine always returns 1. It may be passed to RPC routines
          that require a function parameter, where nothing is to be done.

SEE ALSO
     rpc(3N), xdradmin(3N), xdrcomplex(3N), xdrcreate(3N).



































Page 3                       Reliant UNIX 5.44                Printed 11/98

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