Other Alias
writevSINOPSIS
#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ÓN
La función readv() lee count bloques del fichero asociado con el descriptor de fichero fd en múltiples buffers descritos por vector.La función writev() escribe como máximo 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; /* Dirección de comienzo */ size_t iov_len; /* Número de bytes */ };
Los buffers son procesados en el orden especificado.
La función readv() trabaja exactamente igual que read(2) salvo que rellena múltiples buffers.
La función writev() trabaja exactamente igual que write(2) salvo que escribe múltiples buffers.
VALOR DEVUELTO
En caso de éxito, la función readv() devuelve el número de bytes leídos; la función writev() devuelve el número 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.