La fonction
aio_write()
sollicite un « n = write(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).
Si
O_APPEND
n'est pas positionné, la donnée est écrite en commençant
au décalage absolu du fichier
aiocbp->aio_offset,
quelque puisse être la position actuelle du pointeur sur le fichier.
Si
O_APPEND
est positionné, la donnée est écrite à la fin du 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 ; l'écriture 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 écrite dans un fichier régulier
au-delà de son décalage maximum.