Provided by: manpages-fr-dev_4.23.1-1_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(3type) 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é.

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

HISTORIQUE

       glibc 2.1. POSIX.1-2001.

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