xdr_pointer(3) CLIX xdr_pointer(3)
NAME
xdr_pointer, xdr_reference - Library functions for external data
representation
LIBRARY
Berkeley Software Distribution Library (libbsd.a)
SYNOPSIS
#include <sys/xdr.h>
xdr_pointer(
XDR *xdrs ,
char **pp ,
uint size ,
xdrproc_t proc );
xdr_reference(
XDR *xdrs ,
char **pp ,
uint size ,
xdrproc_t proc );
PARAMETERS
xdrs Specifies the address of the XDR handle.
pp Specifies the address of a pointer to a structure.
size Specifies the size of a structure.
proc Specifies the XDR filter procedure for the structure.
DESCRIPTION
The xdr_pointer() and xdr_reference() functions allow C programmers to
describe arbitrary data structures in a machine-independent fashion. Data
for remote procedure calls are transmitted using these functions.
The xdr_reference() function is a primitive that provides pointer chasing
within structures. The pp parameter is the address of the pointer; size
is the sizeof the structure that *pp points to; and proc is an XDR
procedure that filters the structure between its C form and its external
representation.
The xdr_pointer() function is like xdr_reference(), but it serializes NULL
pointers, whereas xdr_reference() does not. Thus, xdr_pointer() can
translate recursive data structures, such as binary trees or linked lists,
correctly, whereas xdr_reference() will fail.
2/94 - Intergraph Corporation 1
xdr_pointer(3) CLIX xdr_pointer(3)
CAUTIONS
The xdr_reference() function does not understand NULL pointers. When
dealing with NULL pointers, use xdr_pointer().
RETURN VALUES
The xdr_pointer() and xdr_reference() 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