IOCTL
Section: Manuel du programmeur Linux (2) Updated: 18 juillet 2003 Index
NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
CONFORMITÉ
VOIR AUSSI
TRADUCTION
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 elle 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.
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
TRADUCTION
Christophe Blaess, 1996-2003.
|
|