Nume
ioctl - dispozitiv de control
Rezumat
#include
int ioctl (int d , int cerere , ...);
Descriere
Funcția ioctl manipulează parametrii de bază ai dispozitivului din fișierele speciale. În special, multe caracteristici de funcționare ale fișierelor speciale de caracter (de exemplu, terminalele) pot fi controlate cu cereri ioctl . Argumentul d trebuie să fie un descriptor de fișiere deschis.
Al doilea argument este un cod de solicitare dependent de dispozitiv. Al treilea argument este un indicator neclintit în memorie. Este în mod tradițional char * argp (din zilele anterioare voidului * a fost valabil C) și va fi numit astfel pentru această discuție.
O cerere de ioctl a codificat în ea dacă argumentul este parametrul sau parametrul out și mărimea argumentului argp în octeți. Macroanele și definițiile utilizate pentru specificarea unei solicitări ioctl sunt localizate în fișierul
Valoare returnată
De obicei, cu succes zero este returnat. Câteva ioctls utilizează valoarea returnată ca parametru de ieșire și returnează o valoare non-negativă pentru succes. La eroare, -1 este returnat, iar errno este setat corespunzător.
Erori
EBADF
d nu este un descriptor valabil.
EFAULT
argp se referă la o zonă de memorie inaccesibilă.
ENOTTY
d nu este asociat cu un dispozitiv special de caractere.
ENOTTY
Cererea specificată nu se aplică tipului de obiect care face referire descriptorul d .
EINVAL
Solicitarea sau argpul nu este valid.
În conformitate cu
Nici un standard unic. Argumentele, întoartele și semantica lui ioctl (2) variază în funcție de driverul de dispozitiv în cauză (apelul este folosit ca un captivant pentru operațiile care nu se potrivesc curat modelului I / O de flux Unix ). Consultați ioctl_list (2) pentru o listă cu multe dintre apelurile cunoscute ioctl . Funcția de apel ioctl a apărut în Versiunea 7 AT & T Unix.