Научете командата Linux - ioctl

име

ioctl - устройство за управление

резюме

#include

int ioctl (int d , int заявка , ...);

описание

Функцията ioctl манипулира основните параметри на устройството на специални файлове. По-специално, много оперативни характеристики на характерните специални файлове (например терминали) могат да бъдат контролирани с ioctl заявки. Аргументът d трябва да е отворен файлов дескриптор.

Вторият аргумент е кода на заявката, зависим от устройството. Третият аргумент е нетипичен показалец в паметта. Това е традиционно char * argp (от дните преди празното * е валидно C) и ще бъде наречено така за тази дискусия.

Заявката за ioctl е кодирана в него, дали аргументът е параметър или параметър за излизане , а размерът на argument argp в байтове. Макросите и дефинициите, използвани при задаването на заявка за ioctl, се намират във файла .

Стойност на връщането

Обикновено при успех нулата се връща. Няколко ioctls използват връщащата стойност като изходен параметър и връщат неотрицателна стойност на успеха. При грешка се връща -1, а грешката се настройва по подходящ начин.

грешки

EBADF

d не е валиден дескриптор.

EFAULT

argp се отнася до недостъпна област на паметта.

ENOTTY

d не е свързано с характерно устройство.

ENOTTY

Посоченото искане не се отнася за вида обект, който се отнася към дескриптора d .

EINVAL

Заявката или арг е невалидна.

В съответствие с

Няма един стандарт. Аргументите, връщанията и семантиката на ioctl (2) се променят в зависимост от съответния драйвер на устройството (обаждането се използва като прихващане за операции, които не се вписват чисто в I / O модела на Unix поток). Вижте ioctl_list (2) за списък на много от известните повиквания ioctl . Извикването за функция ioctl се появи във Версия 7 AT & T Unix.