Provided by: manpages-fr-dev_4.13-4_all bug

NOM

       io_getevents - Lire les événements d'E/S asynchrones de la file des événements terminés

SYNOPSIS

       #include <linux/aio_abi.h>         /* Définit les types nécessaires */
       #include <linux/time.h>            /* Définit « struct timespec » */

       int io_getevents(aio_context_t ctx_id, long min_nr, long nr,
                        struct io_event *events, struct timespec *timeout);

       Note : il n'existe pas d'enveloppe pour cet appel système dans la glibc ; voir NOTES.

DESCRIPTION

       Remarque : cette page décrit l'interface de l'appel système Linux brut. La fonction enveloppe fournie par
       libaio utilise un type différent pour le paramètre ctx_id. Voir les NOTES.

       L'appel  système  io_getevents()  essaye  de  lire  de  min_nr  à nr événements de la file des événements
       terminés du contexte d'entrées-sorties asynchrones ctx_id.

       L'argument timeout indique une durée maximale d'attente pour les événements  et  est  indiqué  comme  une
       limite de temps relative dans une structure de la forme suivante :

           struct timespec {
               time_t tv_sec;      /* secondes */
               long   tv_nsec;     /* nanosecondes [0 .. 999999999] */
           };

       La durée indiquée sera arrondie à la granularité supérieure de l'horloge système et elle a la garantie de
       ne pas expirer plus tôt.

       Indiquer  timeout comme NULL signifie bloquer indéfiniment jusqu'à ce qu'au moins min_nr événements aient
       été obtenus.

VALEUR RENVOYÉE

       io_getevents() renvoie le nombre d'événements lus, zéro s'il n'y en a aucun, et moins  de  min_nr  si  le
       délai timeout a expiré. En cas d'interruption par un gestionnaire de signaux, la valeur renvoyée pourrait
       être non nulle et inférieure à min_nr.

       Pour les valeurs de retour en cas d'échec, consultez la section NOTES.

ERREURS

       EFAULT events ou timeout est un pointeur invalide.

       EINTR  L'appel a été interrompu par un gestionnaire de signal ; consultez signal(7).

       EINVAL ctx_id est invalide. min_nr ou nr est incorrect.

       ENOSYS io_getevents() n'est pas implémenté sur cette architecture.

VERSIONS

       Les appels système d'entrées-sorties asynchrones sont apparus dans Linux 2.5.

CONFORMITÉ

       io_getevents()  est  spécifique  à  Linux et ne doit pas être utilisé dans des programmes destinés à être
       portables.

NOTES

       La glibc ne fournit pas de fonction autour de cet appel système. Vous pourriez  l'invoquer  en  utilisant
       syscall(2),  mais  vous  préférerez  sans doute utiliser la fonction enveloppe io_getevents() fournie par
       libaio.

       Remarquez que la fonction d'enveloppe libaio utilise un autre type (io_context_t) pour l'argument ctx_id.
       Remarquez également que l'enveloppe libaio ne suit pas les conventions classiques  de  la  bibliothèque C
       concernant  l'indication  des erreurs : en cas d'erreur, la fonction renvoie un nombre négatif (la valeur
       négative de l'une des valeurs indiquées dans la section ERREURS). Si l'appel  système  est  invoqué  avec
       syscall(2),  la  valeur de renvoi suit les conventions classiques pour indiquer l'erreur : -1, avec errno
       défini à une valeur (positive) de l'erreur.

BOGUES

       Un ctx_id invalide peut provoquer une erreur de segmentation au lieu de générer une erreur EINVAL.

VOIR AUSSI

       io_cancel(2), io_destroy(2), io_setup(2), io_submit(2), aio(7), time(7)

COLOPHON

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

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 Jean-Philippe MENGUAL <jpmengual@debian.org>

       Cette traduction est une documentation libre ; veuillez vous  reporter  à  la  GNU General Public License
       version 3 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.

Linux                                           21 décembre 2020                                 IO_GETEVENTS(2)