xdr_simple(3rpc)


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 of primitive types

Synopsis

cc [options] file -lnsl
#include <rpc/xdr.h>

bool_t xdr_bool(XDR *xdrs, bool_t *bp);

bool_t xdr_char(XDR *xdrs, char *cp);

bool_t xdr_double(XDR *xdrs, double *dp);

bool_t xdr_enum(XDR *xdrs, enum_t *ep);

bool_t xdr_float(XDR *xdrs, float *fp);

void xdr_free(xdrproc_t proc, char *objp);

bool_t xdr_int(XDR *xdrs, int *ip);

bool_t xdr_long(XDR *xdrs, long *lp);

bool_t xdr_short(XDR *xdrs, short *sp);

bool_t xdr_u_char(XDR *xdrs, char *ucp);

bool_t xdr_u_long(XDR *xdrs, unsigned long *ulp);

bool_t xdr_u_short(XDR *xdrs, unsigned short *usp);

bool_t xdr_void(void);

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(3rpc)).

Routines

See rpc(3rpc) for the definition of the XDR data structure.
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(3rpc), xdr_opaque(3rpc), or xdr_string(3rpc).
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 enums (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 floats and their external representations. This routine returns 1 if it succeeds, 0 otherwise.
void
xdr_free(xdrproc_t proc, char *objp);
Generic freeing routine. The first argument is the 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);
This routine always returns 1. It may be passed to RPC routines that require a function parameter, where nothing is to be done.

References

rpc(3rpc), xdr_admin(3rpc), xdr_complex(3rpc), xdr_create(3rpc)
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004