Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
READV(2)		   Linux Programmer's Manual		      READV(2)

NAME
       readv, writev - read or write a vector

SYNOPSIS
       #include	<sys/uio.h>

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

       struct iovec {
	   void	*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 de-
       scribed by vector. The number of	buffers	is  specified  by  count.  The
       buffers	are used in the	order specified.  Operates just	like write ex-
       cept 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 er-
       rno 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.

       EOPNOTSUPP
	      fd  refers  to  a	 socket	 or device that	does not support read-
	      ing/writing.

       ENOMEM Insufficient kernel memory was available.

       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),
       Unix98.	Linux libc5 used size_t	as the type of the count parameter.

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

Linux 2.2.0-pre8		  1999-01-20			      READV(2)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | CONFORMING TO | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=readv&sektion=2&manpath=Red+Hat+9>

home | help