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.