Provided by: manpages-fr-dev_4.21.0-2_all bug

NOM

       aio_write - Écriture asynchrone

BIBLIOTHÈQUE

       Bibliothèque de temps réel (librt, -lrt)

SYNOPSIS

       #include <aio.h>

       int aio_write(struct aiocb *aiocbp);

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  à  la  position  absolue
       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  terminé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 gère, 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 normal 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 pour indiquer l'erreur. Si une erreur est détectée plus  tard,  elle
       sera  signalée  à  l'aide  de  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 normal, 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.

ATTRIBUTS

       Pour une explication des termes utilisés dans cette section, consulter attributes(7).

       ┌───────────────────────────────────────────────────────────────────────┬──────────────────────┬─────────┐
       │InterfaceAttributValeur  │
       ├───────────────────────────────────────────────────────────────────────┼──────────────────────┼─────────┤
       │aio_write()                                                            │ Sécurité des threads │ MT-Safe │
       └───────────────────────────────────────────────────────────────────────┴──────────────────────┴─────────┘

STANDARDS

       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)

TRADUCTION

       La   traduction   française   de   cette   page   de   manuel   a   été   créée   par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,   Stéphan   Rafin   <stephan.rafin@laposte.net>,   Thierry   Vignaud
       <tvignaud@mandriva.com>,  François  Micaux,  Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard
       <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-luc.coulon@wanadoo.fr>,   Julien   Cristau
       <jcristau@debian.org>,      Thomas      Huriaux      <thomas.huriaux@gmail.com>,     Nicolas     François
       <nicolas.francois@centraliens.net>,    Florentin    Duneau    <fduneau@gmail.com>,     Simon     Paillard
       <simon.paillard@resel.enst-bretagne.fr>,     Denis    Barbier    <barbier@debian.org>,    David    Prévot
       <david@tilapin.org> et Thomas Vincent <tvincent@debian.org>

       Cette traduction est une documentation libre ; veuillez vous reporter à la  GNU  General  Public  License
       version 3   ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   concernant   les  conditions  de  copie  et  de
       distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel,  veuillez  envoyer  un  message  à
       ⟨debian-l10n-french@lists.debian.org⟩.