XDRSIMPLE(3N-SVR4) RISC/os Reference Manual XDRSIMPLE(3N-SVR4)
NAME
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
DESCRIPTION
XDR library routines allow C programmers to describe simple
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 require the creation of XDR streams [see
xdr_create(3N)].
Routines
See rpc(3N) for the definition of the XDR data structure.
#include <rpc/xdr.h>
boolt
xdrbool(XDR *xdrs, boolt *bp);
xdrbool 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.
boolt
xdrchar(XDR *xdrs, char *cp);
xdrchar 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(3N)].
boolt
xdrdouble(XDR *xdrs, double *dp);
xdrdouble translates between C double precision
numbers and their external representations. This rou-
tine returns 1 if it succeeds, 0 otherwise.
boolt
xdrenum(XDR *xdrs, enumt *ep);
xdrenum translates between C enums (actually integers)
and their external representations. This routine
returns 1 if it succeeds, 0 otherwise.
Printed 11/19/92 Page 1
XDRSIMPLE(3N-SVR4) RISC/os Reference Manual XDRSIMPLE(3N-SVR4)
boolt
xdrfloat(XDR *xdrs, float *fp);
xdrfloat translates between C floats and their exter-
nal representations. This routine returns 1 if it
succeeds, 0 otherwise.
void
xdrfree(xdrproct proc, char *objp);
Generic freeing routine. The first argument is the XDR
routine for the object being freed. The second argu-
ment 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).
boolt
xdrint(XDR *xdrs, int *ip);
xdrint translates between C integers and their exter-
nal representations. This routine returns 1 if it
succeeds, 0 otherwise.
boolt
xdrlong(XDR *xdrs, long *lp);
xdrlong translates between C long integers and their
external representations. This routine returns 1 if it
succeeds, 0 otherwise.
boolt
xdrshort(XDR *xdrs, short *sp);
xdrshort translates between C short integers and their
external representations. This routine returns 1 if it
succeeds, 0 otherwise.
boolt
xdruchar(XDR *xdrs, char *ucp);
xdruchar translates between unsigned C characters and
their external representations. This routine returns 1
if it succeeds, 0 otherwise.
boolt
xdrulong(XDR *xdrs, unsigned long *ulp);
xdrulong translates between C unsigned long integers
and their external representations. This routine
returns 1 if it succeeds, 0 otherwise.
Page 2 Printed 11/19/92
XDRSIMPLE(3N-SVR4) RISC/os Reference Manual XDRSIMPLE(3N-SVR4)
boolt
xdrvoid(void);
This routine always returns 1. It may be passed to RPC
routines that require a function parameter, where noth-
ing is to be done.
SEE ALSO
rpc(3N), xdr_admin(3N), xdr_complex(3N), xdr_create(3N).
Printed 11/19/92 Page 3