ioctl - управляет устройствами
НАЗВАНИЕioctl - управляет устройствами
СИНТАКСИС
#include
int ioctl(int d, int request, ...);
["Третий" аргумент обычно char *argp, и далее он будет так
называться.]
ОПИСАНИЕ
Функция ioctl управляет устройствами, на которые ссылаются
специальные файлы. При помощи запросов ioctl можно
управлять многими символьными устройствами (например,
терминалами). Аргумент d должен представлять собой
открытый описатель файла. Параметр request определяет,
является ли третий аргумент входным или выходным, а так же
размер argp в байтах. Макросы и определения,
использованные для вызова ioctl request, находятся в файле
.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Обычно, при успешном завершении возвращается нулевое
значение. Некоторые ioctl используют возвращаемое
значение в качестве выводимого параметра и при успешном
завершении возвращают неотрицательное значение. При
ошибке возвращаемое значение равно -1, а errno
присваиваются соответствующие значения.
КОДЫ ОШИБОК
EBADF d является неправильным описателем.
EFAULT argp ссылается на недоступную область адресного
пространства.
ENOTTY d не соответствует символьныму устройству.
ENOTTY указанный запрос не применим к виду объекта, на
который ссылается описатель d.
EINVAL Request или argp неправильно указаны.
СООТВЕТСТВИЕ СТАНДАРТАМ
Нет единого стандарта. Аргументы, возвращаемые значения и
семантика ioctl(2) различны в каждом конкретном случае в
зависимости от драйвера устройства (вызов является общим
для всех операций, что не совсем соответствует поточной
модели ввода/вывода в Unix). Прочтите список
ioctl_list(2) , в котором указано большинство вызовов
ioctl. Вызов ioctl впервые появился в версии 7 AT&T Unix.