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.