Õpi Linuxi käsku - ioctl

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.