xdr_create(3c) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

xdr_create(3c)

xdr_create(3C)           Standard C Library Functions           xdr_create(3C)

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(3C)  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 af‐
                          ter 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 suitable 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  ap‐
                          propriate  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 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(7) for descriptions of the following attributes:

       tab()  box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
       TRIBUTE VALUE _ MT-LevelMT-Safe


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

Oracle Solaris 11.4               26 Sep 2000                   xdr_create(3C)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3