Provided by: manpages-fr-dev_3.65d1p1-1_all bug

NOM

       aio_write - Écriture asynchrone

SYNOPSIS

       #include <aio.h>

       int aio_write(struct aiocb *aiocbp);

       Effectuez l'édition des liens avec l'option -lrt.

DESCRIPTION

       La  fonction  aio_write() met en file d'attente la requête d'E/S décrite par le tampon pointé par aiocbp.
       Cette fonction est la version asynchrone de write(2). Les paramètres de l'appel sont

           write(fd, buf, count)

       correspondent (dans l'ordre) au membre aio_fildes, aio_buf et aio_nbytes  de  la  structure  pointée  par
       aiocbp. Consultez aio(7) pour une description de la structure aiocb.

       Si  O_APPEND  n'est  pas  défini,  la  donnée  est  écrite  en  commençant  au décalage absolu du fichier
       aiocbp->aio_offset, quelle que soit la position actuelle dans le fichier. Si  O_APPEND  est  défini,  les
       données  sont  écrites à la fin du fichier dans le même ordre que aio_write(). Après cet appel, la valeur
       de la position « courante » dans le fichier est indéfinie.

       « Asynchrone » signifie que cet appel se termine aussitôt  que  la  requête  a  été  mise  dans  la  file
       d'attente ;  l'écriture  peut  être  ou  ne  pas être achevée lorsque l'appel termine. On peut tester cet
       achèvement en utilisant aio_error(3). La valeur de retour  d'une  opération  d'E/S  complétée  peut  être
       obtenue  avec  aio_return(3).  La  notification  asynchrone  de  la  fin  de  l'E/S  peut être obtenue en
       définissant aiocbp->aio_sigevent de façon appropriée. Consultez sigevent(7) pour plus de détails.

       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 définie 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 valable ouvert en écriture.

       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.

       EINVAL Une ou plusieurs valeurs parmi aio_offset, aio_reqprio, aio_nbytes ne sont pas valables.

       ENOSYS aio_write() n'est pas implémenté.

VERSIONS

       La fonction aio_write() est disponible depuis la glibc 2.1.

CONFORMITÉ

       POSIX.1-2001, POSIX.1-2008.

NOTES

       C'est  une  bonne  idée  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  car  des résultats indéfinis peuvent survenir. Les zones mémoires atteintes doivent
       rester valables.

       Des opérations d'E/S simultanées spécifiant la même structure aiocb produisent des résultats indéfinis.

VOIR AUSSI

       aio_cancel(3), aio_error(3), aio_fsync(3),  aio_read(3),  aio_return(3),  aio_suspend(3),  lio_listio(3),
       aio(7)

COLOPHON

       Cette page fait partie de la publication 3.65 du projet man-pages Linux. Une description du projet et des
       instructions    pour    signaler    des    anomalies    peuvent     être     trouvées     à     l'adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par
       l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

       Alain Portal  <http://manpagesfr.free.fr/> (2004-2006).  Florentin  Duneau  et  l'équipe  francophone  de
       traduction de Debian (2006-2009).

       Veuillez  signaler  toute erreur de traduction en écrivant à <debian-l10n-french@lists.debian.org> ou par
       un rapport de bogue sur le paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C
       <section> <page_de_man> ».

                                                   8 mai 2012                                       AIO_WRITE(3)