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

NOM

       aio_write - Écriture asynchrone.

SYNOPSIS

       #include <aio.h>

       int aio_write(struct aiocb *aiocbp);

DESCRIPTION

       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 n 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.

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
              écriture.

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

       EFBIG  Le fichier est un fichier régulier, nous voulons écrire au moins
              un octet, mais la position de départ est  égale  ou  au-delà  du
              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  d’écriture.  Il  ne  faut  pas  accéder à la zone tampon à
       écrire 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_read(3), aio_return(3),
       aio_suspend(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_write ».
       N’hésitez pas à signaler à l’auteur ou au  traducteur,  selon  le  cas,
       toute erreur dans cette page de manuel.

                               14 novembre 2003                   AIO_WRITE(3)