NOM¶
io_submit - Soumettre un bloc d'entrées-sorties asynchrones
SYNOPSIS¶
#include <linux/aio_abi.h> /* Définit les types nécessaires */
int io_submit(aio_context_t ctx_id, long nr, struct iocb **iocbpp);
Remarque : il n'existe pas de fonction glibc autour de cet appel
système ; consultez
NOTES.
DESCRIPTION¶
L'appel système
io_submit() enregistre
nr requêtes
d'entrées-sorties asynchrones pour être traitées dans le
contexte
ctx_id. L'argument
iocbpp devrait être une table
de
nr blocs de contrôle, qui seront soumis au contexte
ctx_id.
VALEUR RENVOYÉE¶
io_submit() renvoie le nombre de blocs
iocb soumis (qui peut
être nul si
nr vaut zéro). Pour les valeurs de retour en cas
d'échec, consultez la section NOTES.
ERREURS¶
- EAGAIN
- Pas assez de ressources pour enregistrer un
iocb.
- EBADF
- Le descripteur de fichier dans le premier iocb est
invalide.
- EFAULT
- L'une des structures de données pointe sur une zone
invalide.
- EINVAL
- Le contexte indiqué par ctx_id n'est pas
valable, nr est inférieur à zéro, l' iocb
à l'adresse *iocbpp[0] n'est pas initialisé correctement
ou l'opération précisée n'est pas valable pour le
descripteur de fichier iocb.
- ENOSYS
- io_submit() n'est pas implémenté dans ce
noyau.
VERSIONS¶
Les appels système d'entrées-sorties asynchrones sont apparus dans
Linux 2.5.
io_submit() 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_submit() fournie par
libaio.
Remarquez que la fonction 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
retour suit les conventions classiques pour indiquer l'erreur : -1 avec
errno contenant le code (positif) de l'erreur.
VOIR AUSSI¶
io_cancel(2),
io_destroy(2),
io_getevents(2),
io_setup(2),
aio(7)
COLOPHON¶
Cette page fait partie de la publication 3.44 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/>.
Christophe Blaess <
http://www.blaess.fr/christophe/> (1996-2003), Alain
Portal <
http://manpagesfr.free.fr/> (2003-2006). Julien Cristau 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> ».