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

개요

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

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