xdr_admin(3N)

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

Showing IRIX 6.5.30 (default release). Last changed in IRIX 6.5.30.

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

DESCRIPTION
     XDR library routines allow C programmers to describe arbitrary 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 associated 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.

     xdr_long_t *
     xdr_inline(XDR *xdrs, 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.  The pointer is cast to 32 bits interger of type xdr_long_t
          and is aligned on 32 bits boundary.

          Note:  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 associated with the
          XDR stream xdrs.  The parameter pos is a position value obtained
          from xdr_getpos.  This routine returns 1 if the XDR stream was
          repositioned, and 0 otherwise.

          Note:  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, applications written for portability should not
          depend on this feature.

     unsigned long
     xdr_sizeof(xdrproc_t func, void *data);

          This routine returns the number of bytes  required  to encode data
          using  the  XDR  filter  function  func, excluding potential
          overhead such as  RPC  headers  or record  markers. 0 is returned on
          error. This information might be used to select between transport
          protocols,  or  to  determine  the  buffer size for various lower
          levels of RPC client and  server  creation  routines,  or  to
          allocate storage when XDR is used outside of the RPC subsystem.

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