READV(2)

READV(2)

readline Home Page Subroutines Index realloc


NAME
       readv, writev - read or write a vector

SYNOPSIS
       #include <<sys/uio.h>>

       int  readv(int  fd,  const  struct  iovec * vector, size_t
       count);

       int writev(int fd, const struct  iovec  *  vector,  size_t
       count);

       struct iovec {
         __ptr_t iov_base; /* Starting address.  */
         size_t iov_len; /* Length in bytes.  */
       };

DESCRIPTION
       readv  reads  data  from  file descriptor fd, and puts the
       result in the buffers described by vector. The  number  of
       buffers  is  specified by count. The buffers are filled in
       the order specified.  Operates just like read except  that
       data is put in vector instead of a contiguous buffer.

       writev  writes  data  to  file descriptor fd, and from the
       buffers described by vector.  The  number  of  buffers  is
       specified  by  count.  The  buffers  are used in the order
       specified.  Operates just like write except that  data  is
       taken from vector instead of a contiguous buffer.

RETURN VALUE
       On  success  readv  returns  the number of bytes read.  On
       success writev returns the number of  bytes  written.   On
       error, -1 is returned, and errno is set appropriately.

ERRORS
       EINVAL  An  invalid argument was given. For instance count
               might be greater  than  MAX_IOVEC,  or  zero.   fd
               could  also  be  attached  to an object  which  is
               unsuitable for reading (for readv) or writing (for
               writev).

       EFAULT  "Segmentation  fault."  Most likely vector or some
               of the iov_base pointers points to memory that  is
               not properly allocated.

       EBADF   The file descriptor fd is not valid.

       EINTR   The  call  was  interrupted by a signal before any
               data was read/written.

       EAGAIN  Non-blocking   I/O   has   been   selected   using
               O_NONBLOCK  and  no data was immediately available
               for reading.  (Or the file descriptor fd is for an
               object that is locked.)

       EISDIR  fd refers to a directory.

       EOPNOTSUP
               fd refers to a socket or device that does not sup-
               port reading/writing.

       Other errors may occur, depending on the object  connected
       to fd.

CONFORMING TO
       4.4BSD  (the  readv and writev functions first appeared in
       BSD 4.2).

SEE ALSO
       read(2) write(2) fprintf(3) fscanf(3) 

readline Home Page Subroutines Index realloc