Nimi
ioctl - kontrollseade
Kokkuvõte
#include
int ioctl (int d , int taotlus , ...);
Kirjeldus
Ioctli funktsioon manipuleerib spetsiaalsete failide aluseks olevate seadme parameetritega. Eelkõige võib ioctl- päringutega kontrollida märkimisväärsete erifailide (nt terminalide) paljusid tööomadusi . Argument d peab olema avatud failide kirjeldaja.
Teine argument on seadmest sõltuv päringukood. Kolmas argument on tüübimärguandur mälu kohta. Tavaliselt on char * argp (alates päevast enne void * kehtib C) ja seda nimetatakse selle arutelu jaoks.
Ioctli päring on selles kodeeritud, kas argument on parameetris või väljumisparameetris ja argumendi argpide suurus baitides. Ioctli päringu täpsustamisel kasutatud makrosid ja määratlused asuvad failis
Tagastatav väärtus
Tavaliselt tagastatakse edukalt null. Mõned ioctlid kasutavad tagasiväärtust väljundparameetrina ja tagavad edukusele mittevastava väärtuse. Vea korral tagastatakse -1 ja errno on määratud õigesti.
Vead
EBADF
d ei ole kehtiv deskriptor.
EFAULT
argp viitab ligipääsmatu mälu alale.
EESTI
d ei ole seotud märgispetsiifilise seadmega.
EESTI
Määratud taotlus ei kehti sellise objekti tüübi kohta, mida deskriptor d viitab.
EINVAL
Taotlus või argp ei kehti.
Vastavuses
Ükski standard puudub. Ioctl (2) argumendid, tagasitunnused ja semantika varieeruvad sõltuvalt antud seadme draiverist (kõne kasutatakse kõigi toimingute jaoks, mis ei sobi Unixi voogude I / O mudeli jaoks). Paljud teadaolevate ioctl- kõnede loendit vt ioctl_list (2). Ioctli funktsiooni kõne ilmus versioonis 7 AT & T Unix.