Skip to main content

Ioctl - Commande Linux - Commande Unix

fd, dup()/dup2() system call tutorial (Mars 2024)

fd, dup()/dup2() system call tutorial (Mars 2024)
Anonim

ioctl - dispositif de contrôle

Synopsis

#comprendre

int ioctl (int, 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.