READV

Section: Manuel du programmeur Linux (3)
Updated: 6 juin 2001
Index Retour au Menu Principal

 

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 multiples 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 iovec {
  void  *iov_base;  /* Adresse de départ */
  size_t iov_len;   /* Nombre d'octets   */
};

Les buffers sont traités dans l'ordre vector[0], vector[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 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  

BOGUES

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.



 

Index

NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
CONFORMITÉ
BOGUES
VOIR AUSSI
TRADUCTION


Time: 22:30:05 GMT, December 19, 2004