Rechercher une page de manuel
readv
Langue: es
Version: 20 enero 1999 (fedora - 25/11/07)
Section: 2 (Appels système)
NOMBRE
readv, writev - lee o escribe un vectorSINOPSIS
#include <sys/uio.h>int readv(int fd, const struct iovec * vector, int count);
int writev(int fd, const struct iovec * vector, int count);
struct iovec {
__ptr_t iov_base; /* Comienzo de Direcciones. */
size_t iov_len; /* Longitud en bytes. */
};
DESCRIPCIÓN
readv lee datos desde el descriptor de fichero fd y pone los resultados en la zona de memoria descrita por vector. El número de bloques de memoria se especifica en count. Los bloques se llenan en el orden indicado. Funciona igual que read salvo que los datos son puestos en vector en lugar de en una zona contigua de memoria.
writev escribe datos al descriptor de fichero fd y desde la zona de memoria descrita por vector. El número de bloques de memoria se especifica en count. Los bloques son usados en el orden indicado. Funciona igual que write excepto que los datos son tomados desde vector en lugar de una zona contigua de memoria.
VALOR DEVUELTO
En caso de éxito readv devuelve el número de bytes leídos. En caso de éxito writev devuelve el número de bytes escritos. En caso de error, se devuelve -1 y se asigna a errno un valor adecuado.ERRORES
- EINVAL
- Se ha dado un argumento inválido. Por ejemplo count podría ser mayor que MAX_IOVEC o cero. fd podría estar unido a un objeto inadecuado para lectura (para readv) o escritura (para writev).
- EFAULT
- "Fallo de segmentación." Probablemente vector o alguno de los punteros iov_base apuntan a una zona de memoria que no está correctamente reservada.
- EBADF
- El descriptor de fichero fd no es válido.
- EINTR
- La llamada ha sido interrumpida por una señal antes de que algún dato fuese leído/escrito.
- EAGAIN
- Se ha seleccionado E/S no bloqueante usando O_NONBLOCK y no había datos disponibles inmediatamente para ser leídos. (O el descriptor de fichero fd apunta a un objeto que está bloqueado.)
- EISDIR
- fd hace referencia a un directorio.
- EOPNOTSUP
- fd hace referencia a un socket o dispositivo que no soporta lectura/escritura.
- ENOMEM
- No hay suficiente memoria del núcleo disponible.
Podrían ocurrir otros errores, dependiendo del objeto conectado a fd.
CONFORME A
4.4BSD (las funciones readv y writev aparecieron por primeras vez en BSD 4.2) y Unix98. La libc5 de Linux usa size_t como el tipo del parámetro count, lo cual es lógico pero no estándar.VÉASE TAMBIÉN
read(2), write(2), fprintf(3), fscanf(3)Contenus ©2006-2023 Benjamin Poulain
Design ©2006-2023 Maxime Vantorre