ioctl - dispositif de contrôle
Synopsis
#comprendre
int ioctl (int ré , int demande , …);
La description
leioctl function manipule les paramètres de périphérique sous-jacents de fichiers spéciaux. En particulier, de nombreuses caractéristiques de fonctionnement des fichiers spéciaux de caractères (terminaux, par exemple) peuvent être contrôlées avecioctl demandes. L'argument ré doit être un descripteur de fichier ouvert.
Le deuxième argument est un code de demande dépendant de l'appareil. Le troisième argument est un pointeur non typé vers la mémoire. C'est traditionnellementchar * argp (à partir des jours avantvide * était valide C), et sera nommé ainsi pour cette discussion.
Un ioctl demande a encodé dedans si l'argument est un dans paramètre ou en dehors paramètre, et la taille de l'argument argp en octets. Macros et définitions utilisées pour spécifier un ioctl demande sont situés dans le fichier
Valeur de retour
Habituellement, en cas de succès, zéro est renvoyé. Quelques ioctls utilisent la valeur de retour comme paramètre de sortie et renvoient une valeur non négative en cas de succès. En cas d'erreur, -1 est renvoyé et errno est réglé correctement.
les erreurs
EBADF
ré n'est pas un descripteur valide.
EFAULT
argp fait référence à une zone mémoire inaccessible.
ENOTTY
ré n'est pas associé à un périphérique spécial de personnage.
ENOTTY
La demande spécifiée ne s'applique pas au type d'objet que le descripteur ré références.
EINVAL
Demande ou argp n'est pas valide.
Se conformer à
Pas de norme unique. Arguments, retours et sémantique deioctl(2) varient en fonction du pilote de périphérique en question (l'appel est utilisé comme attrape-tout pour les opérations qui ne correspondent pas parfaitement au modèle d'E / S de flux Unix). leioctl appel de fonction apparu dans la version 7 d'AT & T Unix.