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
XDR
library routines allow C programmers to describe simple data structures in a machine-independent fashion. Protocols such as communications calls use these routines to describe the format of the data.
These routines require the creation of XDR
streams [see xdr_create(3I)].
#include <rpc/xdr.h>
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)
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
(3I)].
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 enum
s (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 float
s and their external representations. This routine returns 1
if it succeeds, 0
otherwise.
void xdr_free(xdrproc_t proc, char *objp)
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.
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)
1
. It may be passed to RPC routines that require a function parameter, where nothing is to be done.
rpc
(3I), xdr_admin
(3I), xdr_complex
(3I), xdr_create
(3I).