io_cancel - Annuler une opération d'entrée-sortie asynchrone en
attente
Bibliothèque C standard (
libc,
-lc)
Sinon, la bibliothèque d'E/S asynchrones ((
libaio,
-laio) ; voir les NOTES.
#include <linux/aio_abi.h> /* Définition des types nécessaires */
#include <sys/syscall.h> /* Définition des contantes SYS_* */
#include <unistd.h>
int syscall(SYS_io_cancel, aio_context_t ctx_id, struct iocb *iocb,
struct io_event *result);
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_cancel() essaye d'annuler l'opération
d'E/S asynchrone précédemment soumise par l'appel
io_submit(2). L'argument
iocb décrit l'opération
à annuler et l'argument
ctx_id est le contexte d'E/S asynchrone
auquel l'opération a été soumise. Si l'opération
est correctement annulée, l'événement sera copié
dans la zone pointée par
result sans être placé
dans la file des événements terminés.
io_cancel() renvoie zéro s'il réussit. Pour les valeurs de
retour en cas d'échec, consultez la section NOTES.
- EAGAIN
- L'opération iocb n'a pas été
annulée.
- EFAULT
- L'une des structures de données pointe sur une zone
invalide.
- EINVAL
- Le contexte indiqué par ctx_id est
invalide.
- ENOSYS
- L'appel système io_cancel() n'est pas
implémenté sur cette architecture.
Les appels système d'entrées-sorties asynchrones sont apparus dans
Linux 2.5.
io_cancel() est spécifique à Linux et ne doit pas
être utilisé dans des programmes destinés à
être portables.
Vous voudrez probablement utiliser la fonction enveloppe
io_cancel()
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.
io_destroy(2),
io_getevents(2),
io_setup(2),
io_submit(2),
aio(7)
La traduction française de cette page de manuel a été
créée par Christophe Blaess
<
https://www.blaess.fr/christophe/>, Stéphan Rafin
<
[email protected]>, Thierry Vignaud
<
[email protected]>, François Micaux, Alain Portal
<
[email protected]>, Jean-Philippe Guérard
<
[email protected]>, Jean-Luc Coulon (f5ibh)
<
[email protected]>, Julien Cristau
<
[email protected]>, Thomas Huriaux <
[email protected]>,
Nicolas François <
[email protected]>, Florentin
Duneau <
[email protected]>, Simon Paillard
<
[email protected]>, Denis Barbier
<
[email protected]>, David Prévot <
[email protected]> et
Jean-Philippe MENGUAL <
[email protected]>
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 à
[email protected]