Skip to content

Příkaz Linux: IOCTL

4 de Srpen de 2021
GettyImages 510797178 57e7e2163df78c690fea0bbe

ioctl – ovládací zařízení

Synopse

#include

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

Popis

The ioctl funkce manipuluje se základními parametry zařízení speciálních souborů. Zejména lze ovládat mnoho provozních charakteristik speciálních souborů znaků (např. Terminálů) ioctl žádosti. 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 nezadaný ukazatel na paměť. Je to tradičně znak *argp (z předešlých dnů prázdný * byl platný C), a bude tak pojmenován pro tuto diskusi. Ioctl žádost má v sobě zakódováno, zda argumentem je v parametr nebo ven parametr a velikost argumentu argp v bajtech. Makra a definice používané při zadávání ioctl žádost jsou umístěny v souboru .

Návratová hodnota

Při úspěchu se obvykle vrátí nula. Několik ioctlů používá návratovou hodnotu jako výstupní parametr a při úspěchu vrací nezápornou hodnotu. Při chybě se vrátí -1 a errno je správně nastaven.

Chyby

EBADF

d není platný deskriptor.

VÝCHOZÍ

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

ENOTTY

d není spojeno se speciálním znakovým zařízením.

ENOTTY

Zadaný požadavek se nevztahuje na typ objektu, který deskriptor d Reference.

EINVAL

Žádost nebo argp není platný.

V souladu s

Žádný jediný standard. Argumenty, návraty a sémantika ioctl(2) se liší podle dotyčného ovladače zařízení (volání se používá jako catch-all pro operace, které čistě neodpovídají modelu I/O proudu Unix). The ioctl volání funkce se objevilo ve verzi 7 AT&T Unix.