NOM
ioctl - Contrôler les périphériques
SYNOPSIS
#include <sys/ioctl.h>
int ioctl(int d, int requte, ...);
La fonction ioctl() modifie le comportement des périphériques
sous‐jacents des fichiers spéciaux. En particulier, de nombreuses
caractéristiques des fichiers spéciaux en mode caractère (par exemple
des terminaux) peuvent être contrôlées avec des requêtes ioctl().
L’argument d doit être un descripteur de fichier ouvert.
Le second argument est le code de la requête dépendant du périphérique.
Le troisième argument est un pointeur non typé. Il est
traditionnellement défini en char *argp (ceci date de l’époque avant
que void * soit du C valide), et sera ainsi nommé dans le reste de
cette page.
Une requte ioctl() encapsule le fait que l’argument est un paramètre
d’entre ou de sortie ainsi que la taille de l’argument argp en octets.
Les macros et constantes symboliques décrivant les requtes ioctl() se
trouvent dans le fichier <sys/ioctl.h>.
VALEUR RENVOYÉE
En général, ioctl renvoie 0 s’il réussit, ou -1 s’il échoue. Certaines
requêtes ioctl utilisent la valeur de retour comme paramètre de sortie,
et renvoient une valeur positive si elles réussissent (et -1 pour les
erreurs). En cas d’échec, errno contient le code d’erreur.
ERREURS
EBADF d n’est pas un descripteur de fichier valide.
EFAULT argp pointe en dehors de l’espace d’adressage valide.
EINVAL La requte ou l’argument argp n’est pas valide.
ENOTTY d n’est pas associé avec un fichier spécial en mode caractère.
ENOTTY La requête spécifiée ne s’applique pas au type d’objet associé
avec le descripteur d.
CONFORMITÉ
Pas de vrai standard. Les arguments, les valeurs de retour, et la
sémantique des ioctl() varient en fonction du périphérique concerné
(cet appel système est utilisé pour encapsuler les opérations qui ne se
conforment pas bien au modèle Unix des entrées/sorties par flux). Voir
ioctl_list(2) pour une liste des principaux appels ioctl() connus. La
fonction ioctl() est apparue dans l’Unix d’AT&T Version 7.
NOTES
Pour utiliser cet appel, on a besoin d’un descripteur de fichier
ouvert. Souvent, l’appel open(2) a des effets de bord non désirés, qui
peuvent être évités sous Linux en lui passant le drapeau O_NONBLOCK.
VOIR AUSSI
execve(2), fcntl(2), ioctl_list(2), open(2), sd(4), tty(4)
COLOPHON
Cette page fait partie de la publication 3.23 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
Cette page de manuel a été traduite et mise à jour par Christophe
Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
disposition sur http://manpagesfr.free.fr/.
Les mises à jour et corrections de la version présente dans Debian sont
directement gérées par Julien Cristau <jcristau@debian.org> et l’équipe
francophone de traduction de Debian.
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> ».