1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
|
.\"
.\" Copyright (c) 1996 Tom Bjorkholm <tomb@mydata.se>
.\"
.\" Esta documentacin es libre; usted puede redistribuirla y/o
.\" modificarla bajo las condiciones de la Licencia Pblica General
.\" GNU versin 2 o posterior; publicada por la Free Software
.\" Foundation.
.\"
.\" Las referencias de la Licencia Pblica General GNU a
.\" "cdigo objeto" y "ejecutables" sern interpretadas como
.\" la salida de cualquier sistema de formateo de documentos,
.\" incluyendo la salida intermedia e impresa.
.\"
.\" Este manual es distribuido con la esperanza de que sea til,
.\" pero SIN GARANTA ALGUNA; incluso sin la garanta implcita
.\" de MERCABILIDAD o APTITUD PARA UN PROPOSITO PARTICULAR.
.\" Ver la Licencia Pblica General para ms detalles.
.\"
.\" Usted ha debido recibir una copia de la Licencia Pblica
.\" General GNU conjuntamente con este manual; si no, escriba a
.\" la Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
.\" MA 02139, USA.
.\"
.\" 1996-04-12 Tom Bjorkholm <tomb@mydata.se>
.\" Primera versin escrita
.\" Modificada el Martes 22 de Oct. 17:41:07 1996 por
.\" Eric S. Raymond <esr@thyrsus.com>
.\" Traducida al Espaol el 26 de Enero de 1.998 por
.\" Xavier E. Mrmol <xmarmol@linux.org.ve>
.\" Traduccin revisada el 6 de abril de 1999 por
.\" Juan Piernas Cnovas <piernas@ditec.um.es>
.\"
.TH READV 2 "20 enero 1999" "Linux 2.2.0-pre8" "Manual del Programador Linux"
.SH NOMBRE
readv, writev \- lee o escribe un vector
.SH SINOPSIS
.B #include <sys/uio.h>
.sp
.BI "int readv(int " fd ", const struct iovec * " vector ", int " count );
.sp
.BI "int writev(int " fd ", const struct iovec * " vector ", int " count );
.sp
.B
\fBstruct iovec {\fR
.br
\fB__ptr_t \fIiov_base\fB;\fR /* Comienzo de Direcciones. */
.br
\fBsize_t \fIiov_len\fB;\fR /* Longitud en bytes. */
.br
\fB};\fR
.fi
.SH DESCRIPCIN
\fBreadv\fR lee datos desde el descriptor de fichero \fIfd\fR y pone los
resultados en la zona de memoria descrita por \fIvector\fR. El nmero de
bloques de memoria se especifica en \fIcount\fR. Los bloques se llenan
en el orden indicado. Funciona igual que \fBread\fR salvo que los
datos son puestos en \fIvector\fR en lugar de en una zona contigua de memoria.
\fBwritev\fR escribe datos al descriptor de fichero \fIfd\fR y desde
la zona de memoria descrita por \fIvector\fR. El nmero de bloques de memoria
se especifica en \fIcount\fR. Los bloques son usados en el orden
indicado. Funciona igual que \fBwrite\fR excepto que los datos son
tomados desde \fIvector\fR en lugar de una zona contigua de memoria.
.SH VALOR DEVUELTO
En caso de xito \fBreadv\fR devuelve el nmero de bytes ledos.
En caso de xito \fBwritev\fR devuelve el nmero de bytes escritos.
En caso de error, se devuelve \-1 y se asigna a \fIerrno\fR un valor
adecuado.
.SH ERRORES
.TP 0.8i
.B EINVAL
Se ha dado un argumento invlido. Por ejemplo \fIcount\fR podra ser
mayor que \fBMAX_IOVEC\fR o cero. \fIfd\fR podra estar unido a un
objeto inadecuado para lectura (para \fBreadv\fR) o escritura (para
\fBwritev\fR).
.TP
.B EFAULT
"Fallo de segmentacin." Probablemente \fIvector\fR o alguno de los
punteros \fIiov_base\fR apuntan a una zona de memoria que no est
correctamente reservada.
.TP
.B EBADF
El descriptor de fichero \fIfd\fR no es vlido.
.TP
.B EINTR
La llamada ha sido interrumpida por una seal antes de que algn dato
fuese ledo/escrito.
.TP
.B EAGAIN
Se ha seleccionado E/S no bloqueante usando
\fBO_NONBLOCK\fR y no haba datos disponibles inmediatamente para ser ledos.
(O el descriptor de fichero \fIfd\fR apunta a un objeto que est bloqueado.)
.TP
.B EISDIR
\fIfd\fR hace referencia a un directorio.
.TP
.B EOPNOTSUP
\fIfd\fR hace referencia a un socket o dispositivo que no soporta
lectura/escritura.
.TP
.B ENOMEM
No hay suficiente memoria del ncleo disponible.
.PP
Podran ocurrir otros errores, dependiendo del objeto conectado a \fIfd\fR.
.SH "CONFORME A"
4.4BSD (las funciones
.B readv
y
.B writev
aparecieron por primeras vez en BSD 4.2) y Unix98. La libc5 de
Linux usa \fBsize_t\fR como el tipo del parmetro \fIcount\fR, lo cual es
lgico pero no estndar.
.SH "VASE TAMBIN"
.BR read (2),
.BR write (2),
.BR fprintf (3),
.BR fscanf (3)
|