Lue Linux Command - ioctl

Nimi

ioctl - ohjauslaite

tiivistelmä

#include

int ioctl (int d , int pyyntö , ...);

Kuvaus

Ioctl- toiminto manipuloi erityisten tiedostojen taustalla olevia laitteen parametreja. Erityisesti lukuisia erikoismerkkejä (esim. Päätelaitteita) voidaan hallita ioctl- pyyntöjen avulla. Argumentin d on oltava avoin tiedostojen kuvaaja.

Toinen argumentti on laitteen riippuvainen pyyntökoodi. Kolmas argumentti on muistiin kirjoittamaton osoitin. Se on perinteisesti char * argp (päivistä ennen void * oli kelvollinen C), ja se nimetään tästä keskustelusta.

Ioctl- pyyntö on koodattu siinä, onko argumentti parametrissa tai out- parametrissa, ja argumentin argp koossa tavuina. Makrot ja määritelmät, joita käytetään ioctl- pyynnön määrittämisessä, sijaitsevat tiedostossa .

Palautusarvo

Yleensä menestyksen nolla palautetaan. Jotkut osaavat käyttävät palautusarvoa lähtöparametrina ja palauttavat negatiivisen arvon menestykseen. Virheessä -1 palautetaan ja errno asetetaan oikein.

virheet

EBADF

d ei ole kelvollinen kuvaaja.

EFAULT

argp viittaa saavuttamattomaan muistialueeseen.

ENOTTY

d ei ole liitetty merkkiin erikoislaitteeseen.

ENOTTY

Määritetty pyyntö ei koske sellaista esinettä, jota kuvaaja d viittaa.

EINVAL

Pyyntö tai argp ei ole kelvollinen.

Täyttää

Ei yhtä standardia. IOtl: n (2) argumentit, palautukset ja semantiikka vaihtelevat kyseessä olevan laiteohjaimen mukaan (puhelua käytetään saaliina kaikille toiminnoille, jotka eivät sovi kunnolla Unixin I / O-malliin). Katso ioctl_list (2) luettelosta monista tunnetuista ioctl- puheluista. Ioctl- toimintopuhe ilmestyi versiossa 7 AT & T Unix.