Skip to content

Het Linux-commando: IOCTL

28 de juli de 2021
GettyImages 510797178 57e7e2163df78c690fea0bbe

ioctl – besturingsapparaat

Korte inhoud

#include

int ioctl(int NS, int verzoek, …);

Beschrijving

De ioctl functie manipuleert de onderliggende apparaatparameters van speciale bestanden. In het bijzonder kunnen veel bedieningskenmerken van speciale karakterbestanden (bijv. terminals) worden bestuurd met: ioctl verzoeken. het argument NS moet een open bestandsdescriptor zijn. Het tweede argument is een apparaatafhankelijke aanvraagcode. Het derde argument is een niet-getypte verwijzing naar het geheugen. Het is traditioneel teken *argp (van de dagen ervoor leegte * was geldig C), en zal zo genoemd worden voor deze discussie. een ioctl verzoek heeft erin gecodeerd of het argument een is in parameter of uit parameter, en de grootte van het argument argp in bytes. Macro’s en definities die worden gebruikt bij het specificeren van een ioctl verzoek bevinden zich in het bestand .

Winstwaarde

Gewoonlijk wordt bij succes nul geretourneerd. Een paar ioctls gebruiken de retourwaarde als uitvoerparameter en retourneren een niet-negatieve waarde bij succes. Bij een fout wordt -1 geretourneerd, en foutje correct is ingesteld.

fouten

EBADF

NS is geen geldige descriptor.

EFAULT

argp verwijst naar een ontoegankelijk geheugengebied.

ENOTTY

NS is niet gekoppeld aan een speciaal tekenapparaat.

ENOTTY

Het opgegeven verzoek is niet van toepassing op het soort object dat de descriptor NS referenties.

EINVAL

Verzoek of argp is niet geldig.

Conform aan

Geen enkele standaard. Argumenten, resultaten en semantiek van ioctl(2) variëren afhankelijk van het apparaatstuurprogramma in kwestie (de oproep wordt gebruikt als een verzamelnaam voor bewerkingen die niet goed passen bij het Unix-stroom I/O-model). De ioctl functieaanroep verscheen in versie 7 AT&T Unix.