Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

rpc(3N)

xdr_admin(3N)

xdr_complex(3N)

xdr_create(3N)





   xdr_simple(3N)                                               xdr_simple(3N)


   NAME
         xdr_simple:   xdr_bool, xdr_char, xdr_double, xdr_enum, xdr_float,
         xdr_free, xdr_int, xdr_long, xdr_short, xdr_u_char, xdr_u_long,
         xdr_u_short, xdr_void - 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
         xdr_create(3N)].

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

         #include <rpc/xdr.h>

         bool_t
         xdr_bool(XDR *xdrs, bool_t *bp);

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

         bool_t
         xdr_char(XDR *xdrs, char *cp);

               xdr_char 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 xdr_bytes, xdr_opaque or xdr_string [see
               xdr_bytes, xdr_opaque and xdr_string in xdr_complex(3N)].

         bool_t
         xdr_double(XDR *xdrs, double *dp);

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

         bool_t
         xdr_enum(XDR *xdrs, enum_t *ep);

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


   7/91                                                                 Page 1









   xdr_simple(3N)                                               xdr_simple(3N)


         bool_t
         xdr_float(XDR *xdrs, float *fp);

               xdr_float translates between C floats and their external
               representations.  This routine returns 1 if it succeeds, 0
               otherwise.

         void
         xdr_free(xdrproc_t 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).

         bool_t
         xdr_int(XDR *xdrs, int *ip);

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

         bool_t
         xdr_long(XDR *xdrs, long *lp);

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

         bool_t
         xdr_short(XDR *xdrs, short *sp);

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

         bool_t
         xdr_u_char(XDR *xdrs, char *ucp);

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

         bool_t
         xdr_u_long(XDR *xdrs, unsigned long *ulp);

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



   Page 2                                                                 7/91









   xdr_simple(3N)                                               xdr_simple(3N)


         bool_t
         xdr_u_short(XDR *xdrs, unsigned short *usp);

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

         bool_t
         xdr_void(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), xdr_admin(3N), xdr_complex(3N), xdr_create(3N).





































   7/91                                                                 Page 3





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