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)