READV(3)           Manuel du programmeur Linux           READV(3)


NOM
       readv,  writev  -  Lire  ou  écrire  des  données dans des
       buffers multiples.

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
       La fonction readv() lit  count  blocs  depuis  le  fichier
       associé  au descripteur filedes et les place dans les mul­
       tiples buffers décrits par vector.

       La fonction writev() écrit au plus  count  blocs  contenus
       dans  les  multiples  buffers  décrits par vector, dans le
       fichier associé au descripteur filedes.

       vector  pointe  vers  une  struct   iovec   définie   dans
       <sys/uio.h> ainsi :

       struct iovect
       {
         void  *iovbase;  /* Adresse de départ */
         size_t iov_len;  /* Nombre d'octets   */
       } ;

       Les  buffers  sont  traités  dans  l'ordre vector[0], vec­
       tor[1], ... vector[count].

       La fonction readv() se comporte exactement  comme  read(2)
       sauf que plusieurs buffers sont remplis.

       La fonction writev() se comporte exactement comme write(2)
       sauf que plusieurs buffers sont copiés dans le fichier.


VALEUR RENVOYÉE
       La fonction readv() renvoie le nombre d'octets lus, ou  -1
       si  elle  échoue.  La  fonction writev() renvoie le nombre
       d'octets écrits. En cas d'échec  errno  contient  le  code
       d'erreur.

ERREURS
       EBADF  fd n'est pas un descripteur de fichier valide.

       EINVAL fd  n'est  pas accessible en lecture (avec readv())
              ou en écriture (avec writev()).

       EFAULT buf  pointe  en  dehors  de  l'espace   d'adressage



GNU                      6 Novembre 1996                        1





READV(3)           Manuel du programmeur Linux           READV(3)


              accessible.

       EAGAIN On  a  réclamé  des  entrées/sorties non-bloquantes
              lors de l'appel open(), et la lecture ou l'écriture
              sont impossibles pour le moment.

       EINTR  La lecture ou l'écriture ont été interrompues avant
              de pouvoir traiter des données.

CONFORMITÉ
       inconnu

BUGS
       Il est fortement déconseille de mélanger les appels à  des
       fonctions  comme  readv() ou writev(), qui travaillent sur
       les descripteurs de fichiers, avec  les  fonctions  de  la
       bibliothèque stdio. Les résultats sont imprévisibles.

VOIR AUSSI
       read(2), write(2)


TRADUCTION
       Christophe Blaess, 1997.

































GNU                      6 Novembre 1996                        2