Provided by: manpages-ru_0.98-4_all bug

ИМЯ

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

ОБЗОР

       #include <sys/ioctl.h>

       int ioctl(int d, int request, ...);

ОПИСАНИЕ

       Функция   ioctl   манипулирует  базовыми  параметрами  устройств,  представленных  в  виде
       специальных  файлов.  В  частности,  многими  оперативными  характеристиками   специальных
       символьных  файлов  (например терминалов) можно управлять через ioctl запросы.  В качестве
       аргумента d должен быть указан открытый файловый дескриптор.

       Второй аргумент является кодом запроса, который зависит от  устройства.   Третий  аргумент
       является  указателем на память, который не имеет типа.  Традиционно это char *argp (до тех
       пор пока в C не появился void * ).

       Ioctl запрос request кодирует в себе либо аргумент, который является  параметром  in  либо
       аргумент,  который  является  параметром  out и кроме того размер аргумента argp в байтах.
       Макросы и определения, используемые в специальных ioctl запросах request находятся в файле
       <sys/ioctl.h>.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       Обычно в случае успеха возвращается ноль. Некоторые ioctl используют возвращаемое значение
       как выходной параметр и возвращают в случае  успеха  неотрицательное  значение.  В  случае
       ошибки возвращается  -1 и значение errno устанавливается соответствующим образом.

ОШИБКИ

       EBADF  d не является правильным дескриптором.

       EFAULT argp ссылается на недоступную область памяти.

       ENOTTY d не ассоциирован со специальным символьным устройством.

       ENOTTY Указанный  запрос  не  применим  к  данному  классу  объекта,  на который ссылается
              дескриптор d .

       EINVAL Request или argp заданы неверно.

СООТВЕТСТВИЕ СТАНДАРТАМ

       Нет единого стандарта. Аргументы, возвращаемые значения и семантики ioctl(2) варьируются в
       соответствии  с  драйвером  устройства  (вызов,  используется  как всеохватывающий, что не
       полностью соответствует потоковой модели ввода/вывода в Unix).  Смотри  ioctl_list(2)  где
       дан список многих известных ioctl вызовов.  Функция ioctl появилась в AT&T Unix версии 7.

СМОТРИ ТАКЖЕ

       execve(2), fcntl(2), ioctl_list(2), mt(4), sd(4), tty(4)

ПЕРЕВОД

       Перевёл с английского Виктор Вислобоков <corochoone@perm.ru> 2003