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 of primitive types

       SYNOPSIS
             cc [options] file -lnsl
             #include <rpc/xdr.h>
             bool_t xdr_bool(XDR *xdrs, bool_t *bp);
             bool_t xdr_char(XDR *xdrs, char *cp);
             bool_t xdr_double(XDR *xdrs, double *dp);
             bool_t xdr_enum(XDR *xdrs, enum_t *ep);
             bool_t xdr_float(XDR *xdrs, float *fp);
             void xdr_free(xdrproc_t proc, char *objp);
             bool_t xdr_int(XDR *xdrs, int *ip);
             bool_t xdr_long(XDR *xdrs, long *lp);
             bool_t xdr_short(XDR *xdrs, short *sp);
             bool_t xdr_u_char(XDR *xdrs, char *ucp);
             bool_t xdr_u_long(XDR *xdrs, unsigned long *ulp);
             bool_t xdr_u_short(XDR *xdrs, unsigned short *usp);
             bool_t xdr_void(void);

       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.

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



                           Copyright 1994 Novell, Inc.               Page 1













      xdr_simple(3N)                                        xdr_simple(3N)


                  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.

            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.




                          Copyright 1994 Novell, Inc.               Page 2













       xdr_simple(3N)                                        xdr_simple(3N)


             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.

             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.

       REFERENCES
             rpc(3N), xdr_admin(3N), xdr_complex(3N), xdr_create(3N)




                           Copyright 1994 Novell, Inc.               Page 3








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