svcadm(8)을 검색하려면 섹션에서 8 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
xdr_simple(3c)
Standard C Library Functions xdr_simple(3C)
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_long‐
long_t, xdr_u_short, xdr_void - library routines for external data rep‐
resentation
SYNOPSIS
#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_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);
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 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_cre‐
ate(3C)).
Routines
See rpc(3C) for the definition of the XDR data structure. Note that any
buffers passed to the XDR routines must be properly aligned. It is sug‐
gested that malloc(3C) be used to allocate these buffers or that the
programmer ensure that the buffer address is evenly divisible 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 characters and
their external representations. This routine
returns TRUE if it succeeds, FALSE otherwise. Note:
encoded characters are not packed, and occupy 4
bytes each. For arrays of characters, it is worth‐
while to consider xdr_bytes(), xdr_opaque(), or
xdr_string() (see xdr_complex(3C)).
xdr_double() xdr_double() translates between C double precision
numbers and their external representations. This
routine returns TRUE if it succeeds, FALSE other‐
wise.
xdr_enum() xdr_enum() translates between C enums (actually
integers) and their external representations. This
routine returns TRUE if it succeeds, FALSE other‐
wise.
xdr_float() xdr_float() translates between C floats and their
external representations. This routine returns TRUE
if it succeeds, FALSE otherwise.
xdr_free() 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,
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 other‐
wise.
xdr_int() xdr_int() translates between C integers and their
external representations. This routine returns TRUE
if it succeeds, FALSE otherwise.
xdr_long() xdr_long() translates between C 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 lp is outside the range
[INT32_MIN, INT32_MAX]. The xdr_int() routine is
recommended in place of this routine.
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 identical to
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 representations. This routine
returns TRUE if it succeeds, FALSE otherwise.
xdr_u_char() xdr_u_char() translates between unsigned C charac‐
ters and their external representations. This rou‐
tine returns TRUE if it succeeds, FALSE otherwise.
xdr_u_hyper() xdr_u_hyper() translates between unsigned ANSI C
long long integers and their external representa‐
tions. 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 other‐
wise.
In a 64-bit environment, this routine returns an
error if the value of ulp is outside the range [0,
UINT32_MAX]. The xdr_u_int() routine is recommended
in place of this routine.
xdr_u_longlong_t() xdr_u_longlong_t() translates between unsigned ANSI
C long long integers and their external represen‐
tations. This routine returns TRUE if it succeeds,
FALSE otherwise. This routine 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 other‐
wise.
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(7) for descriptions of the following attributes:
tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
TRIBUTE VALUE _ MT-LevelSafe
SEE ALSO
malloc(3C), rpc(3C), xdr_admin(3C), xdr_complex(3C), xdr_create(3C),
attributes(7)
Oracle Solaris 11.4 11 May 2021 xdr_simple(3C)