Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

rpc(3N)

xdr_complex(3N)

xdr_create(3N)

xdr_simple(3N)



xdr_admin(3N)           LIBRARY FUNCTIONS           xdr_admin(3N)



NAME
     xdr_admin:  xdr_getpos, xdr_inline, xdrrec_eof, xdr_setpos -
     library routines for external data representation

DESCRIPTION
     XDR library routines allow C programmers to  describe  arbi-
     trary  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
     deal specifically with the management of the XDR stream.

  Routines
     See rpc(3N) for the definition of the XDR data structure.
     #include <rpc/xdr.h>
     u_int
     xdr_getpos(const XDR *xdrs);

          A macro that invokes the get-position  routine  associ-
          ated with the XDR stream, xdrs.  The routine returns an
          unsigned integer, which indicates the position  of  the
          XDR byte stream.  A desirable feature of XDR streams is
          that simple arithmetic works with this number, although
          the  XDR  stream  instances  need  not  guarantee this.
          Therefore, applications written for portability  should
          not depend on this feature.
          long *
          xdr_inline(XDR *xdrs; const int len);

          A macro that invokes  the  in-line  routine  associated
          with  the  XDR  stream,  xdrs.   The  routine returns a
          pointer to a contiguous piece of the  stream's  buffer;
          len  is  the  byte length of the desired buffer.  Note:
          pointer is cast to long *.

          Warning:  xdr_inline may return NULL (0) if  it  cannot
          allocate a contiguous piece of a buffer.  Therefore the
          behavior may vary among stream instances; it exists for
          the  sake  of efficiency, and  applications written for
          portability should not depend on this feature.
          bool_t
          xdrrec_eof(XDR *xdrs);

          This routine can be invoked only on streams created  by
          xdrrec_create.  After consuming the rest of the current
          record in the stream, this routine  returns  1  if  the
          stream has no more input, 0 otherwise.
          bool_t
          xdr_setpos(XDR *xdrs, const u_int pos);

          A macro that invokes the set position  routine  associ-
          ated  with the XDR stream xdrs.  The parameter pos is a
          position value obtained from xdr_getpos.  This  routine



                                                                1





xdr_admin(3N)           LIBRARY FUNCTIONS           xdr_admin(3N)



          returns  1  if  the  XDR stream was repositioned, and 0
          otherwise.

          Warning:  it is difficult to reposition some  types  of
          XDR  streams, so this routine may fail with one type of
          stream and succeed with another.   Therefore,  applica-
          tions written for portability should not depend on this
          feature.

SEE ALSO
     rpc(3N), xdr_complex(3N), xdr_create(3N), xdr_simple(3N).












































                                                                2



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