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

FreeBSD Manual Pages

  
 
  

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

NAME
       readv, writev - read or write data into multiple	buffers

SYNOPSIS
       #include	<sys/uio.h>

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

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

DESCRIPTION
       The  readv()  function reads count blocks from the file associated with
       the file	descriptor filedes into	the multiple buffers described by vec-
       tor.

       The  writev()  function writes at most count blocks described by	vector
       to the file associated with the file descriptor filedes.

       The pointer vector points to a struct iovec defined in <sys/uio.h> as

	  struct iovec {
	      void *iov_base;	/* Starting address */
	      size_t iov_len;	/* Number of bytes */
	  };

       Buffers are processed in	 the  order  vector[0],	 vector[1],  ...  vec-
       tor[count].

       The  readv() function works just	like read(2) except that multiple buf-
       fers are	filled.

       The writev() function works just	like  write(2)	except	that  multiple
       buffers are written out.

RETURN VALUE
       The  readv()  function  returns the number of bytes or -1 on error; the
       writev()	function returns the number of bytes written.

ERRORS
       The readv() and writev()	functions can fail and set errno to  the  fol-
       lowing values:

       EBADF  fd is not	a valid	file descriptor.

       EINVAL fd  is  unsuitable  for  reading	(for  readv()) or writing (for
	      writev()).

       EFAULT buf is outside the processes' address space.

       EAGAIN Non-blocking I/O had been	selected in the	open() call, and read-
	      ing or writing could not be done immediately.

       EINTR  Reading  or  writing  was	interrupted before any data was	trans-
	      ferred.

CONFORMING TO
       unknown

BUGS
       It is not advisable to mix calls	to functions like readv() or writev(),
       which  operate  on  file	descriptors, with the functions	from the stdio
       library;	the results will be undefined and probably not what you	want.

SEE ALSO
       read(2),	write(2)

GNU				  1993-04-25			      READV(3)

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

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

home | help