table of contents
IOCTL(2) | Manuel du programmeur Linux | IOCTL(2) |
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 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 requête 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). Consultez 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¶
COLOPHON¶
Cette page fait partie de la publication 3.52 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¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.
Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Julien Cristau et l'équipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en écrivant à <perkamon-fr@traduc.org>.
Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».
21 septembre 2000 | Linux |