xdr_admin(3N)
xdr_admin: xdr_getpos, xdr_inline, xdrrec_eof, xdr_setpos, xdr_sizeof - library routines for external data representation
As shipped in IRIX 6.5.30. 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)