Networking Services Library Functions xdr_simple(3NSL)
NAME
xdr_simple, xdr_bool, xdr_char, xdr_double, xdr_enum,
xdr_float, xdr_free, xdr_hyper, xdr_int, xdr_long,
xdr_longlong_t, xdr_quadruple, xdr_short, xdr_u_char,
xdr_u_hyper, xdr_u_int, xdr_u_long, xdr_u_longlong_t,
xdr_u_short, xdr_void - library routines for external data
representationSYNOPSIS
#include
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_hyper(XDR *xdrs, longlong_t *llp);
bool_t xdr_int(XDR *xdrs, int *ip);
bool_t xdr_long(XDR *xdrs, longt *lp);
bool_t xdr_longlong_t(XDR *xdrs, longlong_t *llp);
bool_t xdr_quadruple(XDR *xdrs, long double *pq);
bool_t xdr_short(XDR *xdrs, short *sp);
bool_t xdr_u_char(XDR *xdrs, unsigned char *ucp);
SunOS 5.11 Last change: 27 Aug 2001 1
Networking Services Library Functions xdr_simple(3NSL)
bool_t xdr_u_hyper(XDR *xdrs, u_longlong_t *ullp);
bool_t xdr_u_int(XDR *xdrs, unsigned *up);
bool_t xdr_u_long(XDR *xdrs, unsigned long *ulp);
bool_t xdr_u_longlong_t(XDR *xdrs, u_longlong_t *ullp);
bool_t xdr_u_short(XDR xdrs, unsigned short *usp);
bool_t xdr_void(void)
DESCRIPTION
The XDR library routines allow C programmers to describesimple 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 (seexdr_create(3NSL)).
Routines See rpc(3NSL) for the definition of the XDR data structure. Note that any buffers passed to the XDR routines must be properly aligned. It is suggested that malloc(3C) be used to allocate these buffers or that the programmer insure that the buffer address is divisible evenly by four.xdr_bool() 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 TRUE if it succeeds, FALSE otherwise.xdr_char() xdr_char() translates between C char-
acters and their external representa-
tions. This routine returns TRUE if it succeeds, FALSE otherwise. Note: encoded characters are not packed, and occupy 4 bytes each. For arrays ofcharacters, it is worthwhile to con-
sider xdr_bytes(), xdr_opaque(), or
xdr_string() (see xdr_complex(3NSL)).
SunOS 5.11 Last change: 27 Aug 2001 2
Networking Services Library Functions xdr_simple(3NSL)
xdr_double() xdr_double() translates between C dou-
ble precision numbers and their exter-
nal representations. This routine returns TRUE if it succeeds, FALSE otherwise.xdr_enum() xdr_enum() translates between C enums
(actually integers) and their external representations. This routine returns TRUE if it succeeds, FALSE otherwise.xdr_float() xdr_float() translates between C
floats and their external representa-
tions. This routine returns TRUE if it succeeds, FALSE otherwise.xdr_free() Generic freeing routine. The first
argument is the XDR routine for theobject 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, depending on the XDR routine).xdr_hyper() xdr_hyper() translates between ANSI C
long long integers and their external representations. This routine returns TRUE if it succeeds, FALSE otherwise.xdr_int() xdr_int() translates between C
integers and their external represen-
tations. This routine returns TRUE if it succeeds, FALSE otherwise.xdr_long() xdr_long() translates between C long
integers and their external represen-
tations. This routine returns TRUE if it succeeds, FALSE otherwise.In a 64-bit environment, this routine
returns an error if the value of lp isoutside the range [INT32_MIN,
INT32_MAX]. The xdr_int() routine is
recommended in place of this routine.SunOS 5.11 Last change: 27 Aug 2001 3
Networking Services Library Functions xdr_simple(3NSL)
xdr_longlong_t() xdr_longlong_t() translates between
ANSI C long long integers and their external representations. This routine returns TRUE if it succeeds, FALSE otherwise. This routine is identicalto xdr_hyper().
xdr_quadruple() xdr_quadruple() translates between
IEEE quadruple precision floating point numbers and their external representations. This routine returns TRUE if it succeeds, FALSE otherwise.xdr_short() xdr_short() translates between C short
integers and their external represen-
tations. This routine returns TRUE if it succeeds, FALSE otherwise.xdr_u_char() xdr_u_char() translates between
unsigned C characters and their exter-
nal representations. This routine returns TRUE if it succeeds, FALSE otherwise.xdr_u_hyper() xdr_u_hyper() translates between
unsigned ANSI C long long integers and their external representations. This routine returns TRUE if it succeeds, FALSE otherwise.xdr_u_int() A filter primitive that translates
between a C unsigned integer and its external representation. This routine returns TRUE if it succeeds, FALSE otherwise.xdr_u_long() xdr_u_long() translates between C
unsigned long integers and their external representations. This routine returns TRUE if it succeeds, FALSE otherwise.In a 64-bit environment, this routine
returns an error if the value of ulpis outside the range [0, UINT32_MAX].
The xdr_u_int() routine is recommended
SunOS 5.11 Last change: 27 Aug 2001 4
Networking Services Library Functions xdr_simple(3NSL)
in place of this routine.xdr_u_longlong_t() xdr_u_longlong_t() translates between
unsigned ANSI C long long integers and their external representations. This routine returns TRUE if itsucceeds, FALSE otherwise. This rou-
tine is identical to xdr_u_hyper().
xdr_u_short() xdr_u_short() translates between C
unsigned short integers and their external representations. This routine returns TRUE if it succeeds, FALSE otherwise.xdr_void() This routine always returns TRUE. It
may be passed to RPC routines that require a function parameter, where nothing is to be done.ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE ATTRIBUTE VALUE |
| MT-Level Safe |
|___________________________________________________________|
SEE ALSO
malloc(3C), rpc(3NSL), xdr_admin(3NSL), xdr_complex(3NSL),
xdr_create(3NSL), attributes(5)
SunOS 5.11 Last change: 27 Aug 2001 5