Naučte se příkaz Linux - ioctl

název

ioctl - ovládací zařízení

Synopse

#include

int ioctl (int d , int žádost , ...);

Popis

Funkce ioctl manipuluje se základními parametry zařízení speciálních souborů. Konkrétně, mnoho provozních charakteristik zvláštních souborů znaků (např. Terminálů) může být řízeno pomocí požadavků ioctl . Argument d musí být otevřený deskriptor souboru.

Druhým argumentem je kód požadavku závislý na zařízení. Třetím argumentem je nenamítaný ukazatel do paměti. Je to tradičně char * argp (od dnů před neplatným * byl platný C), a bude jmenován pro tuto diskuzi.

Požadavek ioctl zakódoval, zda je parametr v parametru nebo parametru out , a velikost argp argumentu v bajtech. Makra a definice použité při zadání požadavku na ioctl se nacházejí v souboru .

Návratová hodnota

Obvykle je při úspěchu vrácena nula. Několik Ioctls používá návratovou hodnotu jako výstupní parametr a vrátí hodnotu nezáporné na úspěch. Při chybě se -1 vrátí a chyba se nastaví správně.

Chyby

EBADF

d není platný deskriptor.

EFAULT

argp odkazuje na nepřístupnou paměťovou oblast.

ENOTTY

d není spojeno se zvláštním zařízením.

ENOTTY

Zadaná žádost se nevztahuje na typ objektu, který popisovač d odkazuje.

EINVAL

Požadavek nebo argp není platný.

V souladu s

Žádný standard. Argumenty, vracení a sémantika protokolu ioctl (2) se liší v závislosti na příslušném ovladači zařízení (volání se používá jako záchrana všech operací, které neodpovídají modelu I / O Unixu ). Viz seznam ioctl_list (2) pro seznam mnoha známých volání ioctl . Volání funkce ioctl se objevilo ve verzi 7 AT & T Unix.