Linux |
CentOS 4.8 |
|
ioctl(2) |
ioctl − Contrôler les périphériques. |
#include <sys/ioctl.h> int ioctl(int d, int requête, ...); [Le "troisième" argument est traditionnellement char *argp, et sera ainsi nommé dans le reste de cette page.] |
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. La 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. |
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 elle réussissent (et −1 pour les erreurs). En cas d’échec, errno contient le code d’erreur. |
EBADF |
d n’est pas un descripteur de fichier 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. |
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. |
execve(2), fcntl(2), ioctl_list(2), mt(4), sd(4), tty(4) |
Christophe Blaess, 1997. |
ioctl(2) |