Unix/Linux Go Back    


NetBSD 6.1.5 - man page for xdr_void (netbsd section 3)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


XDR(3)				   BSD Library Functions Manual 			   XDR(3)

NAME
     xdr, xdr_array, xdr_bool, xdr_bytes, xdr_char, xdr_destroy, xdr_double, xdr_enum, xdr_float,
     xdr_free, xdr_getpos, xdr_hyper, xdr_inline, xdr_int, xdr_long, xdr_longlong_t,
     xdrmem_create, xdr_opaque, xdr_pointer, xdrrec_create, xdrrec_endofrecord, xdrrec_eof,
     xdrrec_skiprecord, xdr_reference, xdr_setpos, xdr_short, xdr_sizeof, xdrstdio_create,
     xdr_string, xdr_u_char, xdr_u_hyper, xdr_u_long, xdr_u_longlong_t, xdr_u_short, xdr_union,
     xdr_vector, xdr_void, xdr_wrapstring -- library routines for external data representation

SYNOPSIS
     int
     xdr_array(XDR *xdrs, char **arrp, u_int *sizep, u_int maxsize, u_int elsize,
	 xdrproc_t elproc);

     int
     xdr_bool(XDR *xdrs, bool_t *bp);

     int
     xdr_bytes(XDR *xdrs, char **sp, u_int *sizep, u_int maxsize);

     int
     xdr_char(XDR *xdrs, char *cp);

     void
     xdr_destroy(XDR *xdrs);

     int
     xdr_double(XDR *xdrs, double *dp);

     int
     xdr_enum(XDR *xdrs, enum_t *ep);

     int
     xdr_float(XDR *xdrs, float *fp);

     void
     xdr_free(xdrproc_t proc, char *objp);

     u_int
     xdr_getpos(XDR *xdrs);

     int
     xdr_hyper(XDR *xdrs, longlong_t *llp);

     long *
     xdr_inline(XDR *xdrs, int len);

     int
     xdr_int(XDR *xdrs, int *ip);

     int
     xdr_long(XDR *xdrs, long *lp);

     int
     xdr_longlong_t(XDR *xdrs, longlong_t *llp);

     void
     xdrmem_create(XDR *xdrs, char *addr, u_int size, enum xdr_op op);

     int
     xdr_opaque(XDR *xdrs, char *cp, u_int cnt);

     int
     xdr_pointer(XDR *xdrs, char **objpp, u_int objsize, xdrproc_t xdrobj);

     void
     xdrrec_create(XDR *xdrs, u_int sendsize, u_int recvsize, char *handle, int (*readit)(),
	 int (*writeit)());

     int
     xdrrec_endofrecord(XDR *xdrs, int sendnow);

     int
     xdrrec_eof(XDR *xdrs);

     int
     xdrrec_skiprecord(XDR *xdrs);

     int
     xdr_reference(XDR *xdrs, char **pp, u_int size, xdrproc_t proc);

     int
     xdr_setpos(XDR *xdrs, u_int pos);

     int
     xdr_short(XDR *xdrs, short *sp);

     nsigned long
     xdr_sizeof(xdrproc_t func, void *data);

     void
     xdrstdio_create(XDR *xdrs, FILE *file, enum xdr_op op);

     int
     xdr_string(XDR *xdrs, char **sp, u_int maxsize);

     int
     xdr_u_char(XDR *xdrs, unsigned char *ucp);

     int
     xdr_u_hyper(XDR *xdrs, u_longlong_t *ullp);

     int
     xdr_u_int(XDR *xdrs, unsigned *up);

     int
     xdr_u_long(XDR *xdrs, unsigned long *ulp);

     int
     xdr_u_longlong_t(XDR *xdrs, u_longlong_t *ullp);

     int
     xdr_u_short(XDR *xdrs, unsigned short *usp);

     int
     xdr_union(XDR *xdrs, int *dscmp, char *unp, struct xdr_discrim *choices,
	 bool_t (*defaultarm)());

     int
     xdr_vector(XDR *xdrs, char *arrp, u_int size, u_int elsize, xdrproc_t elproc);

     int
     xdr_void(void);

     int
     xdr_wrapstring(XDR *xdrs, char **sp);

DESCRIPTION
     These routines allow C programmers to describe arbitrary data structures in a machine-inde-
     pendent fashion.  Data for remote procedure calls are transmitted using these routines.

     xdr_array()
	  A filter primitive that translates between variable-length arrays and their correspond-
	  ing external representations.  The parameter arrp is the address of the pointer to the
	  array, while sizep is the address of the element count of the array; this element count
	  cannot exceed maxsize.  The parameter elsize is the sizeof each of the array's ele-
	  ments, and elproc is an XDR filter that translates between the array elements' C form,
	  and their external representation.  This routine returns one if it succeeds, zero oth-
	  erwise.

     xdr_bool()
	  A filter primitive that translates between booleans (C integers) and their external
	  representations.  When encoding data, this filter produces values of either one or
	  zero.  This routine returns one if it succeeds, zero otherwise.

     xdr_bytes()
	  A filter primitive that translates between counted byte strings and their external rep-
	  resentations.  The parameter sp is the address of the string pointer.  The length of
	  the string is located at address sizep; strings cannot be longer than maxsize.  This
	  routine returns one if it succeeds, zero otherwise.

     xdr_char()
	  A filter primitive that translates between C characters and their external representa-
	  tions.  This routine returns one if it succeeds, zero otherwise.  Note: encoded charac-
	  ters 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().

     xdr_destroy()
	  A macro that invokes the destroy routine associated with the XDR stream, xdrs.
	  Destruction usually involves freeing private data structures associated with the
	  stream.  Using xdrs after invoking xdr_destroy() is undefined.

     xdr_double()
	  A filter primitive that translates between C double precision numbers and their exter-
	  nal representations.	This routine returns one if it succeeds, zero otherwise.

     xdr_enum()
	  A filter primitive that translates between C enums (actually integers) and their exter-
	  nal representations.	This routine returns one if it succeeds, zero otherwise.

     xdr_float()
	  A filter primitive that translates between C floats and their external representations.
	  This routine returns one if it succeeds, zero 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).

     xdr_getpos()
	  A macro that invokes the get-position routine associated with the XDR stream, xdrs.
	  The routine returns an unsigned integer, which indicates the position of the XDR byte
	  stream.  A desirable feature of XDR streams is that simple arithmetic works with this
	  number, although the XDR stream instances need not guarantee this.

     xdr_hyper()
	  A filter primitive that translates between ANSI C long long integers and their external
	  representations.  This routine returns one if it succeeds, zero otherwise.

     xdr_inline()
	  A macro that invokes the in-line routine associated with the XDR stream, xdrs.  The
	  routine returns a pointer to a contiguous piece of the stream's buffer; len is the byte
	  length of the desired buffer.  Note: pointer is cast to long *.

	  Warning: xdr_inline() may return NULL if it cannot allocate a contiguous piece of a
	  buffer.  Therefore the behavior may vary among stream instances; it exists for the sake
	  of efficiency.

     xdr_int()
	  A filter primitive that translates between C integers and their external representa-
	  tions.  This routine returns one if it succeeds, zero otherwise.

     xdr_long()
	  A filter primitive that translates between C long integers and their external represen-
	  tations.  This routine returns one if it succeeds, zero otherwise.

     xdr_longlong_t()
	  A filter primitive that translates between ANSI C long long integers and their external
	  representations.  This routine returns one if it succeeds, zero otherwise.

     xdrmem_create()
	  This routine initializes the XDR stream object pointed to by xdrs.  The stream's data
	  is written to, or read from, a chunk of memory at location addr whose length is no more
	  than size bytes long.  The op determines the direction of the XDR stream (either
	  XDR_ENCODE, XDR_DECODE, or XDR_FREE).

     xdr_opaque()
	  A filter primitive that translates between fixed size opaque data and its external rep-
	  resentation.	The parameter cp is the address of the opaque object, and cnt is its size
	  in bytes.  This routine returns one if it succeeds, zero otherwise.

     xdr_pointer()
	  Like xdr_reference() except that it serializes NULL pointers, whereas xdr_reference()
	  does not.  Thus, xdr_pointer() can represent recursive data structures, such as binary
	  trees or linked lists.

     xdrrec_create()
	  This routine initializes the XDR stream object pointed to by xdrs.  The stream's data
	  is written to a buffer of size sendsize; a value of zero indicates the system should
	  use a suitable default.  The stream's data is read from a buffer of size recvsize; it
	  too can be set to a suitable default by passing a zero value.  When a stream's output
	  buffer is full, writeit is called.  Similarly, when a stream's input buffer is empty,
	  readit is called.  The behavior of these two routines is similar to the system calls
	  read(2) and write(2), except that handle is passed to the former routines as the first
	  parameter.  Note: the XDR stream's op field must be set by the caller.

	  Warning: this XDR stream implements an intermediate record stream.  Therefore there are
	  additional bytes in the stream to provide record boundary information.

     xdrrec_endofrecord()
	  This routine can be invoked only on streams created by xdrrec_create().  The data in
	  the output buffer is marked as a completed record, and the output buffer is optionally
	  written out if sendnow is non-zero.  This routine returns one if it succeeds, zero oth-
	  erwise.

     xdrrec_eof()
	  This routine can be invoked only on streams created by xdrrec_create().  After consum-
	  ing the rest of the current record in the stream, this routine returns one if the
	  stream has no more input, zero otherwise.

     xdrrec_skiprecord()
	  This routine can be invoked only on streams created by xdrrec_create().  It tells the
	  XDR implementation that the rest of the current record in the stream's input buffer
	  should be discarded.	This routine returns one if it succeeds, zero otherwise.

     xdr_reference()
	  A primitive that provides pointer chasing within structures.	The parameter pp 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 rep-
	  resentation.	This routine returns one if it succeeds, zero otherwise.

	  Warning: this routine does not understand NULL pointers.  Use xdr_pointer() instead.

     xdr_setpos()
	  A macro that invokes the set position routine associated with the XDR stream xdrs.  The
	  parameter pos is a position value obtained from xdr_getpos().  This routine returns one
	  if the XDR stream could be repositioned, and zero otherwise.

	  Warning: it is difficult to reposition some types of XDR streams, so this routine may
	  fail with one type of stream and succeed with another.

     xdr_short()
	  A filter primitive that translates between C short integers and their external repre-
	  sentations.  This routine returns one if it succeeds, zero otherwise.

     xdr_sizeof()
	  This routine returns the amount of memory required to encode data using filter func.

     xdrstdio_create()
	  This routine initializes the XDR stream object pointed to by xdrs.  The XDR stream data
	  is written to, or read from, the Standard I/O stream file.  The parameter op determines
	  the direction of the XDR stream (either XDR_ENCODE, XDR_DECODE, or XDR_FREE).

	  Warning: the destroy routine associated with such XDR streams calls fflush(3) on the
	  file stream, but never fclose(3).

     xdr_string()
	  A filter primitive that translates between C strings and their corresponding external
	  representations.  Strings cannot be longer than maxsize.  Note: sp is the address of
	  the string's pointer.  This routine returns one if it succeeds, zero otherwise.

     xdr_u_char()
	  A filter primitive that translates between unsigned C characters and their external
	  representations.  This routine returns one if it succeeds, zero otherwise.

     xdr_u_hyper()
	  A filter primitive that translates between unsigned ANSI C long long integers and their
	  external representations.  This routine returns one if it succeeds, zero otherwise.

     xdr_u_int()
	  A filter primitive that translates between C unsigned integers
	   and their external representations.	This routine returns one if it succeeds, zero
	  otherwise.

     xdr_u_long()
	  A filter primitive that translates between C unsigned long integers and their external
	  representations.  This routine returns one if it succeeds, zero otherwise.

     xdr_u_longlong_t()
	  A filter primitive that translates between unsigned ANSI C long long integers and their
	  external representations.  This routine returns one if it succeeds, zero otherwise.

     xdr_u_short()
	  A filter primitive that translates between C unsigned short integers and their external
	  representations.  This routine returns one if it succeeds, zero otherwise.

     xdr_union()
	  A filter primitive that translates between a discriminated C union and its correspond-
	  ing external representation.	It first translates the discriminant of the union located
	  at dscmp.  This discriminant is always an enum_t.  Next the union located at unp is
	  translated.  The parameter choices is a pointer to an array of xdr_discrim() struc-
	  tures.  Each structure contains an ordered pair of [value, proc].  If the union's dis-
	  criminant is equal to the associated value, then the proc is called to translate the
	  union.  The end of the xdr_discrim() structure array is denoted by a routine of value
	  NULL.  If the discriminant is not found in the choices array, then the defaultarm pro-
	  cedure is called (if it is not NULL).  Returns one if it succeeds, zero otherwise.

     xdr_vector()
	  A filter primitive that translates between fixed-length arrays and their corresponding
	  external representations.  The parameter arrp is the address of the pointer to the
	  array, while size is the element count of the array.	The parameter elsize is the
	  sizeof each of the array's elements, and elproc is an XDR filter that translates
	  between the array elements' C form, and their external representation.  This routine
	  returns one if it succeeds, zero otherwise.

     xdr_void()
	  This routine always returns one.  It may be passed to RPC routines that require a func-
	  tion parameter, where nothing is to be done.

     xdr_wrapstring()
	  A primitive that calls xdr_string(xdrs, sp, MAXUN.UNSIGNED); where MAXUN.UNSIGNED is
	  the maximum value of an unsigned integer.  xdr_wrapstring() 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.	Returns one if it succeeds, zero
	  otherwise.

SEE ALSO
     rpc(3)

     The following manuals:

     eXternal Data Representation Standard: Protocol Specification.

     eXternal Data Representation: Sun Technical Notes.

     Sun Microsystems, Inc., USC-ISI, XDR: External Data Representation Standard, RFC 1014, USC-
     ISI, 1014.

BSD					   July 4, 2011 				      BSD
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 09:57 PM.