Provided by:
manpages-fr_1.67.0-1_all 
NOM
ioctl - Contrôler les périphériques.
SYNOPSIS
#include <sys/ioctl.h>
int ioctl(int d, int requête, ...);
DESCRIPTION
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 requête ioctl encapsule le fait que l’argument est un paramètre
d’entrée ou de sortie ainsi que la taille de l’argument argp en octets.
Les macros et constantes symboliques décrivant les requêtes ioctl se
trouvent dans le fichier sys/ioctl.h.
VALEUR RENVOYÉE
En principe, 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.
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.
EINVAL La requête ou l’argument argp n’est pas valide.
NOTE
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 éviter sous Linux en lui passant le drapeau O_NONBLOCK.
CONFORMITÉ
Pas de vrai standard. Les arguments, les valeurs de retour, et la
sémantique des ioctl(2) 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.
VOIR AUSSI
execve(2), fcntl(2), ioctl_list(2), open(2), mt(4), sd(4), tty(4)
TRADUCTION
Christophe Blaess, 1996-2003.