xdr_create man page on SunOS

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

xdr_create(3NSL)     Networking Services Library Functions    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 associated with the XDR
	   stream, xdrs. Private data structures associated  with  the	stream
	   are freed.  Using xdrs after xdr_destroy() is invoked is undefined.

       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 han‐
	   dle, 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. There‐
	   fore, additional bytes in the stream are provided for record bound‐
	   ary information.

       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. 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)

SunOS 5.10			  26 Sep 2000		      xdr_create(3NSL)
[top]

List of man pages available for SunOS

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