xdr_create
: xdr_destroy
, xdrmem_create
, xdrstdio_create
-library routines for external data representation stream creation
XDR
library routines allow C programmers to describe arbitrary data structures in a machine-independent fashion. Protocols such as communications calls use these routines to describe the format of the data.
These routines deal with the creation of XDR
streams. XDR
streams have to be created before any data can be translated into XDR
format.
#include <rpc/xdr.h>
void xdr_destroy(XDR *xdrs)
XDR
stream, xdrs
. Destruction usually involves freeing private data structures associated with the stream. Using xdrs
after invoking xdr_destroy
is undefined.
void xdrmem_create(XDR *xdrs, const caddr_t addr, const u_int size,
const enum xdr_op op)
XDR
stream object pointed to by xdrs
. The stream's data is written to, or read from, a chunk of memory at location addr
whose length is no more than size
bytes long. The op
determines the direction of the XDR
stream (either XDR_ENCODE
, XDR_DECODE
, or XDR_FREE
).
void xdrstdio_create(XDR *xdrs, FILE *file, const enum xdr_op op)
XDR
stream object pointed to by xdrs
. The XDR
stream data is written to, or read from, the standard I/O stream file
. The parameter op
determines the direction of the XDR
stream (either XDR_ENCODE
, XDR_DECODE
, or XDR_FREE
). Warning: the destroy routine associated with such XDR
streams calls fflush
on the file
stream, but never fclose
[see fclose
(3S)].
fclose
(3S), read
(2), rpc
(3I), write
(2), xdr_admin
(3I), xdr_complex
(3I), xdr_simple
(3I).