Provided by: manpages-fr_1.67.0-1_all bug

NOM

       aio_read - Lecture asynchrone.

SYNOPSIS

       #include <aio.h>

       int aio_read(struct aiocb *aiocbp);

DESCRIPTION

       La  fonction  aio_read  sollicite  un  « n  =  read(fd,  buf,  count) »
       asynchrone   avec   fd,   buf,   count   donnés   respectivement    par
       aiocbp->aio_fildes,  aiocbp->aio_buf,  aiocbp->aio_nbytes.   L’état  de
       retour n peut être récupéré à l’achèvement en utilisant  aio_return(3).

       La  donnée  est  lue  en  commençant  au  décalage  absolu  du  fichier
       aiocbp->aio_offset,  quelque  puisse  être  la  position  actuelle   du
       pointeur  sur le fichier. Après cette requête, la valeur de la position
       « courante » du pointeur sur le fichier est indéfinie.

       « Asynchrone  » signifie que cet appel s’achève aussitôt que la requête
       ait  été  mise  dans la file d’attente ; la lecture peut être ou ne pas
       être achevée lorsque l’appel s’achève. On peut tester cet achèvement en
       utilisant aio_error(3).

       Si  _POSIX_PRIORITIZED_IO  est  définie  et  si le fichier le supporte,
       l’opération asynchrone est soumise à une  priorité  égale  à  celle  du
       processus appelant moins aiocbp->aio_reqprio.

       Le membre aiocbp->aio_lio_opcode est ignoré.

       Aucune  donnée  n’est  lue  dans  un  fichier  régulier  au-delà de son
       décalage maximum.

VALEUR RENVOYÉE

       En cas de réussite, 0 est renvoyé. En cas d’erreur,  la  requête  n’est
       pas  mise  dans  la  file  d’attente,  -1  est  renvoyé  et  errno  est
       positionnée en conséquence. Si une erreur est détectée plus tard,  elle
       sera  rapportée  via  aio_return(3) (état de retour -1) et aio_error(3)
       (état d’erreur : tout ce qu’on veut, récupéré dans errno, comme EBADF).

ERREURS

       EAGAIN Ressources insuffisantes.

       EBADF  aio_fildes  n’est pas un descripteur de fichier valide ouvert en
              lecture.

       EINVAL Une valeur ou plus  parmi  aio_offset,  aio_reqprio,  aio_nbytes
              n’est pas valide.

       EOVERFLOW
              Le  fichier  est  un  fichier  régulier,  nous avons commencé la
              lecture avant la fin de fichier et voulons au  moins  un  octet,
              mais  la  position  de  départ  a dépassé le décalage maximum du
              fichier.

       ENOSYS La fonction n’est pas implémentée sur ce système.

NOTES

       C’est une bonne idée que de mettre à zéro le bloc de contrôle avant  de
       l’utiliser.  Ce  bloc  de  contrôle  ne  doit  pas être modifié pendant
       l’opération de lecture. Il ne faut pas accéder à la zone tampon à  lire
       pendant  l’opération  ou bien des résultats indéfinis peuvent survenir.
       Les zones mémoires atteintes doivent rester valides.

CONFORMITÉ

       POSIX 1003.1-2003

VOIR AUSSI

       aio_cancel(3),     aio_error(3),      aio_fsync(3),      aio_return(3),
       aio_suspend(3), aio_write(3)

TRADUCTION

       Ce  document  est  une traduction réalisée par Alain Portal <aportal AT
       univ-montp2 DOT fr> le 6 juillet 2005 et révisée le 14 décembre 2005.

       L’équipe de traduction a fait le maximum pour réaliser  une  adaptation
       française de qualité. La version anglaise la plus à jour de ce document
       est toujours consultable via la commande :  « LANG=en man 3 aio_read ».
       N’hésitez  pas  à  signaler  à l’auteur ou au traducteur, selon le cas,
       toute erreur dans cette page de manuel.

                               14 novembre 2003                    AIO_READ(3)