AIO_READ
Section : Manuel du programmeur Linux (
3)
Mise à jour de la version anglaise : 14 novembre 2003
Index
Menu principal
 
NOM
aio_read - Lecture asynchrone
 
SYNOPSIS
#include <aio.h>
int aio_read(struct aiocb *aiocbp);
Utilisez
-lrt
à l'édition de liens.
 
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 ne 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 remplie en conséquence.
Si une erreur est détectée plus tard, elle sera signalé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.
 - ENOSYS
 - 
La fonction n'est pas implémentée sur ce système.
 - 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.
 
 
CONFORMITÉ
POSIX.1-2001.
 
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, sinon des résultats indéfinis peuvent survenir.
Les zones mémoires atteintes doivent rester valides.
 
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 17 juillet 2008.
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=C man 3 aio_read ».
N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute
erreur dans cette page de manuel.
 
Index
- NOM
 - 
 - SYNOPSIS
 - 
 - DESCRIPTION
 - 
 - VALEUR RENVOYÉE
 - 
 - ERREURS
 - 
 - CONFORMITÉ
 - 
 - NOTES
 - 
 - VOIR AUSSI
 - 
 - TRADUCTION
 - 
 
  
    Dernière mise à jour : 17 juillet 2008