Provided by: manpages-es_1.55-10_all bug

NOMBRE

       readv, writev - leen o escriben datos en multiples buffers

SINOPSIS

       #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);

DESCRIPCI'ON

       La  funcion  readv()  lee  count  bloques  del  fichero asociado con el
       descriptor de fichero fd en multiples buffers descritos por vector.

       La funcion writev() escribe como maximo  count  bloques  descritos  por
       vector en el fichero asociado con el descriptor de fichero fd.

       El puntero vector apunta a una estructura iovec definida en <sys/uio.h>
       como

          struct iovec {
              void *iov_base;   /* Direccion de comienzo */
              size_t iov_len;   /* Numero de bytes */
          };

       Los buffers son procesados en el orden especificado.

       La funcion readv() trabaja exactamente  igual  que  read(2)  salvo  que
       rellena multiples buffers.

       La  funcion  writev()  trabaja exactamente igual que write(2) salvo que
       escribe multiples buffers.

VALOR DEVUELTO

       En caso de exito, la  funcion  readv()  devuelve  el  numero  de  bytes
       leidos;  la  funcion writev() devuelve el numero de bytes escritos.  En
       caso de error, se devuelve  -1,  y  se  modifica  errno  con  un  valor
       apropiado.

ERRORES

       Los errores son los mismos que para read(2) y write(2).  Adicionalmente
       se define el siguiente error.

       EINVAL La suma de los valores iov_len  provoca  un  desbordamiento  por
              arriba en un valor ssize_t.  O bien, el contador count es cero o
              mayor que MAX_IOVEC.

CONFORME A

       4.4BSD (las funciones readv y writev aparecieron por primera vez en BSD
       4.2),  Unix98,  POSIX  1003.1-2001.  La biblioteca libc5 de Linux usaba
       size_t como tipo del parametro count, e  int  como  tipo  devuelto  por
       estas funciones.

FALLOS

       No  es  recomendable  mezclar  llamadas  a  funciones  como  readv()  o
       writev(), que trabajan sobre descriptores de fichero, con funciones  de
       la  biblioteca  stdio; los resultados seran indefinidos y probablemente
       indeseados.

V'EASE TAMBI'EN

       read(2), write(2)

                                17 octubre 2002                       READV(2)