xdrmem_create man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

XDR_CREATE(3NSL)					      XDR_CREATE(3NSL)

NAME
       xdr_create,  xdr_destroy, xdrmem_create, xdrrec_create, xdrstdio_create
       - library routines for external data representation stream creation

SYNOPSIS
       #include <rpc/xdr.h>

       void xdr_destroy(XDR *xdrs);

       void xdrmem_create(XDR *xdrs, const caddr_t addr, const uint_t size,
	    const enum xdr_op op);

       void xdrrec_create(XDR *xdrs, const uint_t sendsz, const uint_t recvsz,
	    const caddr_t handle, const int (*readit)const void *read_handle,
	    char *buf, const int len, const int (*writeit)
	    const void *write_handle, const char *buf, const int len);

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

DESCRIPTION
       The XDR library routines allow C programmers to describe arbitrary 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	deal  with the creation of  XDR streams, which must be
       created before any data can be translated into XDR format.

   Routines
       See rpc(3NSL) for the definition of the XDR  CLIENT  and	 SVCXPRT  data
       structures.  Any	 buffers  passed  to the XDR routines must be properly
       aligned. Use malloc(3C) to allocate these buffers or be sure  that  the
       buffer address is divisible evenly by four.

       xdr_destroy()
			    A  macro  that invokes the destroy routine associ‐
			    ated with  the  XDR	 stream,  xdrs.	 Private  data
			    structures	associated  with the stream are freed.
			    Using xdrs after xdr_destroy() is invoked is unde‐
			    fined.

       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 less than size bytes long.  The
			    op determines the direction of the XDR stream. The
			    value of op can be either XDR_ENCODE,  XDR_DECODE,
			    or XDR_FREE.

       xdrrec_create()
			    This  routine  initializes	the  read-oriented XDR
			    stream object pointed to  by  xdrs.	 The  stream's
			    data  is  written  to  a  buffer of size sendsz. A
			    value of 0 indicates the system should use a suit‐
			    able  default.   The  stream's data is read from a
			    buffer of size recvsz. It too  can	be  set	 to  a
			    suitable  default  by  passing  a 0 value.	When a
			    stream's output buffer is full, writeit is called.
			    Similarly,	when a stream's input buffer is empty,
			    xdrrec_create()  calls  readit.  The  behavior  of
			    these  two routines is similar to the system calls
			    read() and write(),	 except	 that  an  appropriate
			    handle,  read_handle or write_handle, is passed to
			    the former routines as the first parameter instead
			    of	a  file	 descriptor. See read(2) and write(2),
			    respectively. The XDR stream's op  field  must  be
			    set by the caller.

			    This  XDR stream implements an intermediate record
			    stream. Therefore, additional bytes in the	stream
			    are provided for record boundary information.

       xdrstdio_create()
			    This  routine  initializes	the  XDR stream object
			    pointed to by xdrs.	 The XDR stream data is	 writ‐
			    ten	 to or read from the standard I/O stream file.
			    The parameter op determines the direction  of  the
			    XDR	  stream.  The	value  of  op  can  be	either
			    XDR_ENCODE, XDR_DECODE, or XDR_FREE.

			    The destroy routine associated  with  XDR  streams
			    calls  fflush()  on	 the  file  stream,  but never
			    fclose(). See fclose(3C).

       A failure of any of these functions can be detected by first initializ‐
       ing  the x_ops field in the XDR structure (xdrs-> x_ops) to NULL before
       calling the  xdr*_create() function.   If  the  x_ops  field  is	 still
       NULL,  after  the  return from the xdr*_create() function, the call has
       failed.	If the x_ops field contains some other value, assume that  the
       call has succeeded.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌───────────────┬─────────────────┐
       │ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
       ├───────────────┼─────────────────┤
       │MT-Level       │ MT-Safe	 │
       └───────────────┴─────────────────┘

SEE ALSO
       read(2),	 write(2), fclose(3C), malloc(3C), rpc(3NSL), xdr_admin(3NSL),
       xdr_complex(3NSL), xdr_simple(3NSL), attributes(5)

				 Sep 26, 2000		      XDR_CREATE(3NSL)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net