Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ xdr_simple(3) — Atari System V 1.1-06

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
         representation

   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 streams [see
         xdrcreate(3N)].

      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
               produces 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
               representations.  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.

         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.


   8/91                                                                 Page 1









   xdr_simple(3N)                                               xdr_simple(3N)


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

               xdrfloat translates between C floats and their external
               representations.  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
               representations.  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
               otherwise.

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

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

         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);

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



   Page 2                                                                 8/91









   xdr_simple(3N)                                               xdr_simple(3N)


         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).





































   8/91                                                                 Page 3





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