xdr(3) Library Functions Manual xdr(3) xdr - (libc -lc) C . . : typedef int bool_t; typedef typeof(bool_t (XDR *, void *, ...)) *xdrproc_t; XDR . bool_t xdr_array(XDR *xdrs, char **arrp, unsigned int *sizep, unsigned int maxsize, unsigned int elsize, xdrproc_t elproc); . arrp sizep maxsize. elsize sizeof elproc XDR C . . bool_t xdr_bool(XDR *xdrs, bool_t *bp); ( C) . . . bool_t xdr_bytes(XDR *xdrs, char **sp, unsigned int *sizep, unsigned int maxsize); . sp . sizep maxsize. . bool_t xdr_char(XDR *xdrs, char *cp); C . . : 4 . xdr_bytes() xdr_opaque() xdr_string(). void xdr_destroy(XDR *xdrs); XDR xdrs. . xdrs xdr_destroy() . bool_t xdr_double(XDR *xdrs, double *dp); double C . . bool_t xdr_enum(XDR *xdrs, enum_t *ep); enum C ( ) . . bool_t xdr_float(XDR *xdrs, float *fp); float C . . void xdr_free(xdrproc_t proc, char *objp); . XDR . . : ( ). unsigned int xdr_getpos(XDR *xdrs); XDR xdrs. XDR. XDR XDR . long *xdr_inline(XDR *xdrs, int len); XDR xdrs. len . : long *. : xdr_inline() NULL (0) . . bool_t xdr_int(XDR *xdrs, int *ip); C . . bool_t xdr_long(XDR *xdrs, long *lp); long C . . void xdrmem_create(XDR *xdrs, char *addr, unsigned int size, enum xdr_op op); XDR xdrs. addr size . op XDR ( XDR_ENCODE XDR_DECODE XDR_FREE). bool_t xdr_opaque(XDR *xdrs, char *cp, unsigned int cnt); . cp cnt . . bool_t xdr_pointer(XDR *xdrs, char **objpp, unsigned int objsize, xdrproc_t xdrobj); xdr_reference() xdr_reference() . xdr_pointer() . void xdrrec_create(XDR *xdrs, unsigned int sendsize, unsigned int recvsize, char *handle, typeof(int (char *, char *, int)) *readit, typeof(int (char *, char *, int)) *writeit); XDR xdrs. sendsize . recvsize . writeit. readit. read(2) write(2) handle . : op XDR. : XDR xdrrec_skiprecord() XDR . . XDR xdr*_create . bool_t xdrrec_endofrecord(XDR *xdrs, int sendnow); xdrrec_create(). sendnow . . bool_t xdrrec_eof(XDR *xdrs); xdrrec_create(). . bool_t xdrrec_skiprecord(XDR *xdrs); xdrrec_create(). XDR . . bool_t xdr_reference(XDR *xdrs, char **pp, unsigned int size, xdrproc_t proc); . pp size sizeof *pp proc XDR C . . : . xdr_pointer() . xdr_setpos(XDR *xdrs, unsigned int pos); XDR xdrs. pos xdr_getpos(). XDR . : XDR . bool_t xdr_short(XDR *xdrs, short *sp); short C . . void xdrstdio_create(XDR *xdrs, FILE *file, enum xdr_op op); XDR xdrs. XDR stdio file. op XDR ( XDR_ENCODE XDR_DECODE XDR_FREE). : XDR fflush(3) file fclose(3) . bool_t xdr_string(XDR *xdrs, char **sp, unsigned int maxsize); C . maxsize. : sp . . bool_t xdr_u_char(XDR *xdrs, unsigned char *ucp); C . . bool_t xdr_u_int(XDR *xdrs, unsigned int *up); C . . bool_t xdr_u_long(XDR *xdrs, unsigned long *ulp); C . . bool_t xdr_u_short(XDR *xdrs, unsigned short *usp); C . . bool_t xdr_union(XDR *xdrs, enum_t *dscmp, char *unp, const struct xdr_discrim *choices, xdrproc_t defaultarm); /* may equal NULL */ C . dscmp. enum_t. unp. choices xdr_discrim(). [value,proc]. value proc . xdr_discrim() NULL. choices defaultarm ( NULL). . bool_t xdr_vector(XDR *xdrs, char *arrp, unsigned int size, unsigned int elsize, xdrproc_t elproc); . arrp size . elsize sizeof elproc XDR C . . bool_t xdr_void(void); . RPC . bool_t xdr_wrapstring(XDR *xdrs, char **sp); xdr_string(xdrs, sp,MAXUN.UNSIGNED ); MAXUN.UNSIGNED . xdr_wrapstring() RPC XDR xdr_string() . . attributes(7). +------------+------------------------------------+--------------------+ || | | +------------+------------------------------------+--------------------+ |xdr_array(),| | MT-Safe | |xdr_bool(), | | | |xdr_bytes(),| | | |xdr_char(), | | | |xdr_destroy(),| | | |xdr_double(),| | | |xdr_enum(), | | | |xdr_float(),| | | |xdr_free(), | | | |xdr_getpos(),| | | |xdr_inline(),| | | |xdr_int(), | | | |xdr_long(), | | | |xdrmem_create(),| | | |xdr_opaque(),| | | |xdr_pointer(),| | | |xdrrec_create(),| | | |xdrrec_eof(),| | | |xdrrec_endofrecord(),| | | |xdrrec_skiprecord(),| | | |xdr_reference(),| | | |xdr_setpos(),| | | |xdr_short(),| | | |xdrstdio_create(),| | | |xdr_string(),| | | |xdr_u_char(),| | | |xdr_u_int(),| | | |xdr_u_long(),| | | |xdr_u_short(),| | | |xdr_union(),| | | |xdr_vector(),| | | |xdr_void(), | | | |xdr_wrapstring()| | | +------------+------------------------------------+--------------------+ rpc(3) : : : XDR: RFC 1014 USC-ISI. 3 . . : . 6.18 21 2025 xdr(3)