xdrbytes(3) CLIX xdrbytes(3)
NAME
xdr_bytes, xdr_string, xdr_wrapstring - Library functions for external
data representation
LIBRARY
Berkeley Software Distribution Library (libbsd.a)
SYNOPSIS
#include <sys/xdr.h>
xdr_bytes(
XDR *xdrs ,
char **sp ,
uint *sizep ,
uint maxsize );
xdr_string(
XDR *xdrs ,
char **sp ,
uint maxsize );
xdr_wrapstring(
XDR *xdrs ,
char **sp );
PARAMETERS
xdrs Specifies the address of the XDR handle.
sp Specifies the address of a string pointer.
sizep Points to the length of a counted byte string.
maxsize Specifies the maximum length of a string.
DESCRIPTION
The xdr_bytes(), xdr_string(), and xdr_wrapstring() functions allow C
programmers to describe arbitrary data structures in a machine-independent
fashion. Data for remote procedure calls are transmitted using these
functions. These functions translate between groups of bytes (either N-
length or NULL-terminated), with similar parameters.
The xdr_bytes() function is a filter primitive that translates between
counted byte strings and their external representations. The sp parameter
is the address of the string pointer. The length of the string is located
at address sizep. Strings cannot be longer than maxsize.
2/94 - Intergraph Corporation 1
xdrbytes(3) CLIX xdrbytes(3)
The xdr_string() function is a filter primitive that translates between C
strings and their corresponding external representations. Strings cannot
be longer than maxsize. Note that sp is the address of the string's
pointer.
The xdr_wrapstring() function is a primitive that calls xdr_string(xdrs,
sp, LASTUNSIGNED), where LASTUNSIGNED is the maximum value of an unsigned
integer. The xdr_wrapstring() function is handy because the RPC package
passes a maximum of two XDR routines as parameters, and xdr_string(), one
of the most frequently used primitives, requires three.
RETURN VALUES
The xdr_bytes(), xdr_string(), and xdr_wrapstring() functions return 1 if
successful, and 0 otherwise.
RELATED INFORMATION
Functions: xdr_bytes(3), xdr_getpos(3), xdr_pointer(3), xdrrec_create(3),
xdr_array(3), xdr_destroy(3), xdr_free(3), xdr_inline(3),
xdrmem_create(3), xdr_opaque(3), xdr_union(3), xdr_vector(3), xdr_void(3),
authunix_create(3), clnt_pcreateerror(3), clnt_perrno(3), clnt_perror(3),
clntraw_create(3), clnttcp_create(3), pmap_set(3), svc_getargs(3),
svc_getreqset(3), svc_register(3), svcerr_auth(3), svctcp_create(3),
xprt_register(3), clnt_broadcast(3), clnt_call(3), clnt_create(3),
clnt_control(3), clnt_destroy(3), clnt_freeres(3), clnt_geterr(3),
clnt_getmyaddr(3), registerrpc(3), svc_destroy(3), svc_getcaller(3),
svc_run(3), svc_sendreply(3), xdr_accepted_reply(3),
xdr_authunix_parms(3), xdr_callhdr(3), xdr_callmsg(3), xdr_opaque_auth(3),
xdr_pmap(3), xdr_pmaplist(3), xdr_rejected_reply(3), xdr_replymsg(3)
CLIX Programming Guide
XDR: External Data Representation Standard, RFC1014, Sun Microsystems,
Inc., USC-ISI
2 Intergraph Corporation - 2/94