ОПИСАНИЕ
В данной
    странице
    представлен
    список ioctl
    вызовов
    ядра Linux/i386
    версии 1.3.27. Он
    содержит 421
    вызов из
    </usr/include/{asm,linux}/*.h>.Для
    каждого
    вызова
    указано
    числовое
    значение,
    имя и
    передаваемые
    аргументы.
Тип
    аргумента
    const struct foo *
    означает,
    что
    аргумент
    для ядра
    является
    входным. struct
    foo *
    означает,
    что
    аргумент
    для ядра
    является
    выходным.
    Если ядро
    использует
    аргумент
    как
    входной и
    выходной,
    то он
    помечается
    как // I-O.
Некоторые
    ioctl вызовы
    используют
    больше
    аргументов
    или
    возвращают
    больше
    значений,
    чем одна
    структура.
    Такие
    вызовы
    отмечаются
    как // MORE и
    документируются
    далее в
    отдельном
    параграфе.
Данный
    список
    очень
    неполон.
Структура
  ioctl
Значения
    команд ioctl
    являются
    32-битными
    константами.
    В принципе,
    эти
    константы
    являются
    полностью
    случайными,
    но
    некоторые
    люди
    пытаются
    увидеть в
    них
    определённую
    закономерность.
В старом Linux,
    в основном,
    были
    16-битные
    константы,
    в которых
    последний
    байт
    является
    серийным
    номером, а
    предшествующим
    байт(ами)
    указывался
    драйвер.
    Иногда
    использовался
    старший
    номер
    устройства:
    0x03 для ioctl
    вызовов HDIO_*, 0x06
    для ioctl
    вызовов LP*.
    Иногда
    использовались
    одна или
    несколько
    букв ASCII.
    Например,
    TCGETS имеет
    значение 0x00005401,
    с буквой 0x54 = 'T',
    указывающей
    на драйвер
    терминала
    и CYGETTIMEOUT имеет
    значение 0x00435906,
    с буквами 0x43 0x59
    = 'C' 'Y',
    указывающими
    на драйвер
    cyclades.
Позже (0.98p5) в
    номер была
    встроена
    дополнительная
    информация.
    Появилось 2
    бита
    направления
    (00: нет, 01:
    запись, 10:
    чтение, 11:
    чтение/запись),
    за
    которыми
    следовали 14
    бит
    размера
    (указывают
    размер
    аргумента),
    за
    которыми
    следовали 8
    бит типа
    (собирающих
    вызовы ioctl в
    группы по
    назначению
    или общему
    драйверу) и,
    наконец, 8
    бит
    серийного
    номера.
Макросы,
    описывающие
    эту
    структуру,
    расположены
    в <asm/ioctl.h>, _IO(type,nr) и
    {_IOR,_IOW,_IOWR}(type,nr,size). Они
    используют
    sizeof(size), так что
    говорить о
    размере
    здесь
    является
    неправильным
    — это
    третий
    параметр
    типа
    данных.
Заметим,
    что биты
    размера
    очень
    ненадёжны:
    во многих
    случаях
    они
    ошибочны
    или потому
    что
    ошибочный
    макрос
    использует
    sizeof(sizeof(struct)) или
    потому что
    таковы
    унаследованные
    значение.
Таким
    образом, мы
    видим, что
    новая
    структура
    имеет
    только
    недостатки:
    она не
    помогает в
    проверке, и
    приводит к
    различным
    значениям
    у разных
    архитектур.
ВОЗВРАЩАЕМОЕ
  ЗНАЧЕНИЕ
Хорошие ioctl
    вызовы
    возвращают
    0 при
    успешном
    выполнении
    и -1 при
    ошибке, а
    любые
    выходные
    значения
    сохраняются
    в
    аргументе.
    Однако,
    некоторые
    ioctl вызовы
    возвращают
    выходное
    значение.
    Далее это
    пока никак
    не
    отмечено.
//
    Основная
    таблица.
// <include/asm-i386/socket.h>
  
    | 0x00008901 | FIOSETOWN | const int * | 
  
    | 0x00008902 | SIOCSPGRP | const int * | 
  
    | 0x00008903 | FIOGETOWN | int * | 
  
    | 0x00008904 | SIOCGPGRP | int * | 
  
    | 0x00008905 | SIOCATMAR | int * | 
  
    | 0x00008906 | SIOCGSTAMP | timeval * | 
// <include/asm-i386/termios.h>
  
    | 0x00005401 | TCGETS | struct termios * | 
  
    | 0x00005402 | TCSETS | const struct termios * | 
  
    | 0x00005403 | TCSETSW | const struct termios * | 
  
    | 0x00005404 | TCSETSF | const struct termios * | 
  
    | 0x00005405 | TCGETA | struct termio * | 
  
    | 0x00005406 | TCSETA | const struct termio * | 
  
    | 0x00005407 | TCSETAW | const struct termio * | 
  
    | 0x00005408 | TCSETAF | const struct termio * | 
  
    | 0x00005409 | TCSBRK | int | 
  
    | 0x0000540A | TCXONC | int | 
  
    | 0x0000540B | TCFLSH | int | 
  
    | 0x0000540C | TIOCEXCL | void | 
  
    | 0x0000540D | TIOCNXCL | void | 
  
    | 0x0000540E | TIOCSCTTY | int | 
  
    | 0x0000540F | TIOCGPGRP | pid_t * | 
  
    | 0x00005410 | TIOCSPGRP | const pid_t * | 
  
    | 0x00005411 | TIOCOUTQ | int * | 
  
    | 0x00005412 | TIOCSTI | const char * | 
  
    | 0x00005413 | TIOCGWINSZ | struct winsize * | 
  
    | 0x00005414 | TIOCSWINSZ | const struct winsize * | 
  
    | 0x00005415 | TIOCMGET | int * | 
  
    | 0x00005416 |  | const int * | 
  
    | 0x00005417 | TIOCMBIC | const int * | 
  
    | 0x00005418 | TIOCMSET | const int * | 
  
    | 0x00005419 | TIOCGSOFTCAR | int * | 
  
    | 0x0000541A | TIOCSSOFTCAR | const int * | 
  
    | 0x0000541B | FIONREAD | int * | 
  
    | 0x0000541B | TIOCINQ | int * | 
  
    | 0x0000541C | TIOCLINUX | const char * | // ЕЩЁ | 
  
    | 0x0000541D | TIOCCONS | void | 
  
    | 0x0000541E | TIOCGSERIAL | struct serial_struct * | 
  
    | 0x0000541F | TIOCSSERIAL | const struct serial_struct * | 
  
    | 0x00005420 | TIOCPKT | const int * | 
  
    | 0x00005421 | FIONBIO | const int * | 
  
    | 0x00005422 | TIOCNOTTY | void | 
  
    | 0x00005423 | TIOCSETD | const int * | 
  
    | 0x00005424 | TIOCGETD | int * | 
  
    | 0x00005425 | TCSBRKP | int | 
  
    | 0x00005426 | TIOCTTYGSTRUCT | struct tty_struct * | 
  
    | 0x00005450 | FIONCLEX | void | 
  
    | 0x00005451 | FIOCLEX | void | 
  
    | 0x00005452 | FIOASYNC | const int * | 
  
    | 0x00005453 | TIOCSERCONFIG | void | 
  
    | 0x00005454 | TIOCSERGWILD | int * | 
  
    | 0x00005455 | TIOCSERSWILD | const int * | 
  
    | 0x00005456 | TIOCGLCKTRMIOS | struct termios * | 
  
    | 0x00005457 | TIOCSLCKTRMIOS | const struct termios * | 
  
    | 0x00005458 | TIOCSERGSTRUCT | struct async_struct * | 
  
    | 0x00005459 | TIOCSERGETLSR | int * | 
  
    | 0x0000545A | TIOCSERGETMULTI | struct serial_multiport_struct * | 
  
    | 0x0000545B | TIOCSERSETMULTI | const struct serial_multiport_struct * | 
// <include/linux/ax25.h>
  
    | 0x000089E0 | SIOCAX25GETUID | const struct sockaddr_ax25 * | 
  
    | 0x000089E1 | SIOCAX25ADDUID | const struct sockaddr_ax25 * | 
  
    | 0x000089E2 | SIOCAX25DELUID | const struct sockaddr_ax25 * | 
  
    | 0x000089E3 | SIOCAX25NOUID | const int * | 
  
    | 0x000089E4 | SIOCAX25DIGCTL | const int * | 
  
    | 0x000089E5 | SIOCAX25GETPARMS | struct ax25_parms_struct * | //
      ВВОД-ВЫВОД | 
  
    | 0x000089E6 | SIOCAX25SETPARMS | const struct ax25_parms_struct * | 
// <include/linux/cdk.h>
  
    | 0x00007314 | STL_BINTR | void | 
  
    | 0x00007315 | STL_BSTART | void | 
  
    | 0x00007316 | STL_BSTOP | void | 
  
    | 0x00007317 | STL_BRESET | void | 
// <include/linux/cdrom.h>
  
    | 0x00005301 | CDROMPAUSE | void | 
  
    | 0x00005302 | CDROMRESUME | void | 
  
    | 0x00005303 | CDROMPLAYMSF | const struct cdrom_msf * | 
  
    | 0x00005304 | CDROMPLAYTRKIND | const struct cdrom_ti * | 
  
    | 0x00005305 | CDROMREADTOCHDR | struct cdrom_tochdr * | 
  
    | 0x00005306 | CDROMREADTOCENTRY | struct cdrom_tocentry * | //
      ВВОД-ВЫВОД | 
  
    | 0x00005307 | CDROMSTOP | void | 
  
    | 0x00005308 | CDROMSTART | void | 
  
    | 0x00005309 | CDROMEJECT | void | 
  
    | 0x0000530A | CDROMVOLCTRL | const struct cdrom_volctrl * | 
  
    | 0x0000530B | CDROMSUBCHNL | struct cdrom_subchnl * | //
      ВВОД-ВЫВОД | 
  
    | 0x0000530C | CDROMREADMODE2 | const struct cdrom_msf * | // ЕЩЁ | 
  
    | 0x0000530D | CDROMREADMODE1 | const struct cdrom_msf * | // ЕЩЁ | 
  
    | 0x0000530E | CDROMREADAUDIO | const struct cdrom_read_audio * | // ЕЩЁ | 
  
    | 0x0000530F | CDROMEJECT_SW | int | 
  
    | 0x00005310 | CDROMMULTISESSION | struct cdrom_multisession * | //
      ВВОД-ВЫВОД | 
  
    | 0x00005311 | CDROM_GET_UPC | struct { char [8]; } * | 
  
    | 0x00005312 | CDROMRESET | void | 
  
    | 0x00005313 | CDROMVOLREAD | struct cdrom_volctrl * | 
  
    | 0x00005314 | CDROMREADRAW | const struct cdrom_msf * | // ЕЩЁ | 
  
    | 0x00005315 | CDROMREADCOOKED | const struct cdrom_msf * | // ЕЩЁ | 
  
    | 0x00005316 | CDROMSEEK | const struct cdrom_msf * | 
// <include/linux/cm206.h>
  
    | 0x00002000 | CM206CTL_GET_STAT | int | 
  
    | 0x00002001 | CM206CTL_GET_LAST_STAT | int | 
// <include/linux/cyclades.h>
  
    | 0x00435901 | CYGETMON | struct cyclades_monitor * | 
  
    | 0x00435902 | CYGETTHRESH | int * | 
  
    | 0x00435903 | CYSETTHRESH | int | 
  
    | 0x00435904 | CYGETDEFTHRESH | int * | 
  
    | 0x00435905 | CYSETDEFTHRESH | int | 
  
    | 0x00435906 | CYGETTIMEOUT | int * | 
  
    | 0x00435907 | CYSETTIMEOUT | int | 
  
    | 0x00435908 | CYGETDEFTIMEOUT | int * | 
  
    | 0x00435909 | CYSETDEFTIMEOUT | int | 
// <include/linux/fd.h>
  
    | 0x00000000 | FDCLRPRM | void | 
  
    | 0x00000001 | FDSETPRM | const struct floppy_struct * | 
  
    | 0x00000002 | FDDEFPRM | const struct floppy_struct * | 
  
    | 0x00000003 | FDGETPRM | struct floppy_struct * | 
  
    | 0x00000004 | FDMSGON | void | 
  
    | 0x00000005 | FDMSGOFF | void | 
  
    | 0x00000006 | FDFMTBEG | void | 
  
    | 0x00000007 | FDFMTTRK | const struct format_descr * | 
  
    | 0x00000008 | FDFMTEND | void | 
  
    | 0x0000000A | FDSETEMSGTRESH | int | 
  
    | 0x0000000B | FDFLUSH | void | 
  
    | 0x0000000C | FDSETMAXERRS | const struct floppy_max_errors * | 
  
    | 0x0000000E | FDGETMAXERRS | struct floppy_max_errors * | 
  
    | 0x00000010 | FDGETDRVTYP | struct { char [16]; } * | 
  
    | 0x00000014 | FDSETDRVPRM | const struct floppy_drive_params * | 
  
    | 0x00000015 | FDGETDRVPRM | struct floppy_drive_params * | 
  
    | 0x00000016 | FDGETDRVSTAT | struct floppy_drive_struct * | 
  
    | 0x00000017 | FDPOLLDRVSTAT | struct floppy_drive_struct * | 
  
    | 0x00000018 | FDRESET | int | 
  
    | 0x00000019 | FDGETFDCSTAT | struct floppy_fdc_state * | 
  
    | 0x0000001B | FDWERRORCLR | void | 
  
    | 0x0000001C | FDWERRORGET | struct floppy_write_errors * | 
  
    | 0x0000001E | FDRAWCMD | struct floppy_raw_cmd * | // ЕЩЁ //
      ВВОД-ВЫВОД | 
  
    | 0x00000028 | FDTWADDLE | void | 
// <include/linux/fs.h>
  
    | 0x0000125D | BLKROSET | const int * | 
  
    | 0x0000125E | BLKROGET | int * | 
  
    | 0x0000125F | BLKRRPART | void | 
  
    | 0x00001260 | BLKGETSIZE | unsigned long * | 
  
    | 0x00001261 | BLKFLSBUF | void | 
  
    | 0x00001262 | BLKRASET | unsigned long | 
  
    | 0x00001263 | BLKRAGET | unsigned long * | 
  
    | 0x00000001 | FIBMAP | int * | //
      ВВОД-ВЫВОД | 
  
    | 0x00000002 | FIGETBSZ | int * | 
  
    | 0x80086601 | FS_IOC_GETFLAGS | int * | 
  
    | 0x40086602 | FS_IOC_SETFLAGS | int * | 
  
    | 0x80087601 | FS_IOC_GETVERSION | int * | 
  
    | 0x40087602 | FS_IOC_SETVERSION | int * | 
  
    | 0xC020660B | FS_IOC_FIEMAP | struct fiemap * | 
  
    | 0x40086602 | FS_IOC32_SETFLAGS | int * | 
  
    | 0x40086602 | FS_IOC32_SETFLAGS | int * | 
  
    | 0x80047601 | FS_IOC32_GETVERSION | int * | 
  
    | 0x40047602 | FS_IOC32_SETVERSION | int * | 
// <include/linux/hdreg.h>
  
    | 0x00000301 | HDIO_GETGEO | struct hd_geometry * | 
  
    | 0x00000302 | HDIO_GET_UNMASKINTR | int * | 
  
    | 0x00000304 | HDIO_GET_MULTCOUNT | int * | 
  
    | 0x00000307 | HDIO_GET_IDENTITY | struct hd_driveid * | 
  
    | 0x00000308 | HDIO_GET_KEEPSETTINGS | int * | 
  
    | 0x00000309 | HDIO_GET_CHIPSET | int * | 
  
    | 0x0000030A | HDIO_GET_NOWERR | int * | 
  
    | 0x0000030B | HDIO_GET_DMA | int * | 
  
    | 0x0000031F | HDIO_DRIVE_CMD | int * | //
      ВВОД-ВЫВОД | 
  
    | 0x00000321 | HDIO_SET_MULTCOUNT | int | 
  
    | 0x00000322 | HDIO_SET_UNMASKINTR | int | 
  
    | 0x00000323 | HDIO_SET_KEEPSETTINGS | int | 
  
    | 0x00000324 | HDIO_SET_CHIPSET | int | 
  
    | 0x00000325 | HDIO_SET_NOWERR | int | 
  
    | 0x00000326 | HDIO_SET_DMA | int | 
// <include/linux/if_eql.h>
  
    | 0x000089F0 | EQL_ENSLAVE | struct ifreq * | // ЕЩЁ //
      ВВОД-ВЫВОД | 
  
    | 0x000089F1 | EQL_EMANCIPATE | struct ifreq * | // ЕЩЁ //
      ВВОД-ВЫВОД | 
  
    | 0x000089F2 | EQL_GETSLAVECFG | struct ifreq * | // ЕЩЁ //
      ВВОД-ВЫВОД | 
  
    | 0x000089F3 | EQL_SETSLAVECFG | struct ifreq * | // ЕЩЁ //
      ВВОД-ВЫВОД | 
  
    | 0x000089F4 | EQL_GETMASTRCFG | struct ifreq * | // ЕЩЁ //
      ВВОД-ВЫВОД | 
  
    | 0x000089F5 | EQL_SETMASTRCFG | struct ifreq * | // ЕЩЁ //
      ВВОД-ВЫВОД | 
// <include/linux/if_plip.h>
  
    | 0x000089F0 | SIOCDEVPLIP | struct ifreq * | //
      ВВОД-ВЫВОД | 
// <include/linux/if_ppp.h>
  
    | 0x00005490 | PPPIOCGFLAGS | int * | 
  
    | 0x00005491 | PPPIOCSFLAGS | const int * | 
  
    | 0x00005492 | PPPIOCGASYNCMAP | int * | 
  
    | 0x00005493 | PPPIOCSASYNCMAP | const int * | 
  
    | 0x00005494 | PPPIOCGUNIT | int * | 
  
    | 0x00005495 | PPPIOCSINPSIG | const int * | 
  
    | 0x00005497 | PPPIOCSDEBUG | const int * | 
  
    | 0x00005498 | PPPIOCGDEBUG | int * | 
  
    | 0x00005499 | PPPIOCGSTAT | struct ppp_stats * | 
  
    | 0x0000549A | PPPIOCGTIME | struct ppp_ddinfo * | 
  
    | 0x0000549B | PPPIOCGXASYNCMAP | struct { int [8]; } * | 
  
    | 0x0000549C | PPPIOCSXASYNCMAP | const struct { int [8]; } * | 
  
    | 0x0000549D | PPPIOCSMRU | const int * | 
  
    | 0x0000549E | PPPIOCRASYNCMAP | const int * | 
  
    | 0x0000549F | PPPIOCSMAXCID | const int * | 
// <include/linux/ipx.h>
  
    | 0x000089E0 | SIOCAIPXITFCRT | const char * | 
  
    | 0x000089E1 | SIOCAIPXPRISLT | const char * | 
  
    | 0x000089E2 | SIOCIPXCFGDATA | struct ipx_config_data * | 
// <include/linux/kd.h>
  
    | 0x00004B60 | GIO_FONT | struct { char [8192]; } * | 
  
    | 0x00004B61 | PIO_FONT | const struct { char [8192]; } * | 
  
    | 0x00004B6B | GIO_FONTX | struct console_font_desc * | // ЕЩЁ //
      ВВОД-ВЫВОД | 
  
    | 0x00004B6C | PIO_FONTX | const struct console_font_desc * | // ЕЩЁ | 
  
    | 0x00004B70 | GIO_CMAP | struct { char [48]; } * | 
  
    | 0x00004B71 | PIO_CMAP | const struct { char [48]; } | 
  
    | 0x00004B2F | KIOCSOUND | int | 
  
    | 0x00004B30 | KDMKTONE | int | 
  
    | 0x00004B31 | KDGETLED | char * | 
  
    | 0x00004B32 | KDSETLED | int | 
  
    | 0x00004B33 | KDGKBTYPE | char * | 
  
    | 0x00004B34 | KDADDIO | int | // ЕЩЁ | 
  
    | 0x00004B35 | KDDELIO | int | // ЕЩЁ | 
  
    | 0x00004B36 | KDENABIO | void | // ЕЩЁ | 
  
    | 0x00004B37 | KDDISABIO | void | // ЕЩЁ | 
  
    | 0x00004B3A | KDSETMODE | int | 
  
    | 0x00004B3B | KDGETMODE | int * | 
  
    | 0x00004B3C | KDMAPDISP | void | // ЕЩЁ | 
  
    | 0x00004B3D | KDUNMAPDISP | void | // ЕЩЁ | 
  
    | 0x00004B40 | GIO_SCRNMAP | struct { char [E_TABSZ]; } * | 
  
    | 0x00004B41 | PIO_SCRNMAP | const struct { char [E_TABSZ]; } * | 
  
    | 0x00004B69 | GIO_UNISCRNMAP | struct { short [E_TABSZ]; } * | 
  
    | 0x00004B6A | PIO_UNISCRNMAP | const struct { short [E_TABSZ]; } * | 
  
    | 0x00004B66 | GIO_UNIMAP | struct unimapdesc * | // ЕЩЁ //
      ВВОД-ВЫВОД | 
  
    | 0x00004B67 | PIO_UNIMAP | const struct unimapdesc * | // ЕЩЁ | 
  
    | 0x00004B68 | PIO_UNIMAPCLR | const struct unimapinit * | 
  
    | 0x00004B44 | KDGKBMODE | int * | 
  
    | 0x00004B45 | KDSKBMODE | int | 
  
    | 0x00004B62 | KDGKBMETA | int * | 
  
    | 0x00004B63 | KDSKBMETA | int | 
  
    | 0x00004B64 | KDGKBLED | int * | 
  
    | 0x00004B65 | KDSKBLED | int | 
  
    | 0x00004B46 | KDGKBENT | struct kbentry * | //
      ВВОД-ВЫВОД | 
  
    | 0x00004B47 | KDSKBENT | const struct kbentry * | 
  
    | 0x00004B48 | KDGKBSENT | struct kbsentry * | //
      ВВОД-ВЫВОД | 
  
    | 0x00004B49 | KDSKBSENT | const struct kbsentry * | 
  
    | 0x00004B4A | KDGKBDIACR | struct kbdiacrs * | 
  
    | 0x00004B4B | KDSKBDIACR | const struct kbdiacrs * | 
  
    | 0x00004B4C | KDGETKEYCODE | struct kbkeycode * | //
      ВВОД-ВЫВОД | 
  
    | 0x00004B4D | KDSETKEYCODE | const struct kbkeycode * | 
  
    | 0x00004B4E | KDSIGACCEPT | int | 
// <include/linux/lp.h>
  
    | 0x00000601 | LPCHAR | int | 
  
    | 0x00000602 | LPTIME | int | 
  
    | 0x00000604 | LPABORT | int | 
  
    | 0x00000605 | LPSETIRQ | int | 
  
    | 0x00000606 | LPGETIRQ | int * | 
  
    | 0x00000608 | LPWAIT | int | 
  
    | 0x00000609 | LPCAREFUL | int | 
  
    | 0x0000060A | LPABORTOPEN | int | 
  
    | 0x0000060B | LPGETSTATUS | int * | 
  
    | 0x0000060C | LPRESET | void | 
  
    | 0x0000060D | LPGETSTATS | struct lp_stats * | 
// <include/linux/mroute.h>
  
    | 0x000089E0 | SIOCGETVIFCNT | struct sioc_vif_req * | //
      ВВОД-ВЫВОД | 
  
    | 0x000089E1 | SIOCGETSGCNT | struct sioc_sg_req * | //
      ВВОД-ВЫВОД | 
// <include/linux/msdos_fs.h>
    смотрите
    ioctl_fat(2)
  
    | 0x82307201 | VFAT_IOCTL_READDIR_BOTH | struct dirent [2] | 
  
    | 0x82307202 | VFAT_IOCTL_READDIR_SHORT | struct dirent [2] | 
  
    | 0x80047210 | FAT_IOCTL_GET_ATTRIBUTES | __u32 * | 
  
    | 0x40047211 | FAT_IOCTL_SET_ATTRIBUTES | const __u32 * | 
  
    | 0x80047213 | FAT_IOCTL_GET_VOLUME_ID | __u32 * | 
// <include/linux/mtio.h>
  
    | 0x40086D01 | MTIOCTOP | const struct mtop * | 
  
    | 0x801C6D02 | MTIOCGET | struct mtget * | 
  
    | 0x80046D03 | MTIOCPOS | struct mtpos * | 
  
    | 0x80206D04 | MTIOCGETCONFIG | struct mtconfiginfo * | 
  
    | 0x40206D05 | MTIOCSETCONFIG | const struct mtconfiginfo * | 
// <include/linux/netrom.h>
  
    | 0x000089E0 | SIOCNRGETPARMS | struct nr_parms_struct * | //
      ВВОД-ВЫВОД | 
  
    | 0x000089E1 | SIOCNRSETPARMS | const struct nr_parms_struct * | 
  
    | 0x000089E2 | SIOCNRDECOBS | void | 
  
    | 0x000089E3 | SIOCNRRTCTL | const int * | 
// <include/uapi/linux/wireless.h>
  
  // Данный
    программный
    интерфейс
    устарел.
  
  // Он заменён
    на nl80211 и cfg80211.
    Смотрите
  
  //
  https://wireless.wiki.kernel.org/en/developers/documentation/nl80211
  
    | x00008b00 | SIOCSIWCOMMIT | struct iwreq * | 
  
    | x00008b01 | SIOCGIWNAME | struct iwreq * | 
  
    | x00008b02 | SIOCSIWNWID | struct iwreq * | 
  
    | x00008b03 | SIOCGIWNWID | struct iwreq * | 
  
    | x00008b04 | SIOCSIWFREQ | struct iwreq * | 
  
    | x00008b05 | SIOCGIWFREQ | struct iwreq * | 
  
    | x00008b06 | SIOCSIWMODE | struct iwreq * | 
  
    | x00008b07 | SIOCGIWMODE | struct iwreq * | 
  
    | x00008b08 | SIOCSIWSENS | struct iwreq * | 
  
    | x00008b09 | SIOCGIWSENS | struct iwreq * | 
  
    | x00008b0a | SIOCSIWRANGE | struct iwreq * | 
  
    | x00008b0b | SIOCGIWRANGE | struct iwreq * | 
  
    | x00008b0c | SIOCSIWPRIV | struct iwreq * | 
  
    | x00008b0d | SIOCGIWPRIV | struct iwreq * | 
  
    | x00008b0e | SIOCSIWSTATS | struct iwreq * | 
  
    | x00008b0f | SIOCGIWSTATS | struct iwreq * | 
  
    | x00008b10 | SIOCSIWSPY | struct iwreq * | 
  
    | x00008b11 | SIOCGIWSPY | struct iwreq * | 
  
    | x00008b12 | SIOCSIWTHRSPY | struct iwreq * | 
  
    | x00008b13 | SIOCGIWTHRSPY | struct iwreq * | 
  
    | x00008b14 | SIOCSIWAP | struct iwreq * | 
  
    | x00008b15 | SIOCGIWAP | struct iwreq * | 
  
    | x00008b17 | SIOCGIWAPLIST | struct iwreq * | 
  
    | x00008b18 | SIOCSIWSCAN | struct iwreq * | 
  
    | x00008b19 | SIOCGIWSCAN | struct iwreq * | 
  
    | x00008b1a | SIOCSIWESSID | struct iwreq * | 
  
    | x00008b1b | SIOCGIWESSID | struct iwreq * | 
  
    | x00008b1c | SIOCSIWNICKN | struct iwreq * | 
  
    | x00008b1d | SIOCGIWNICKN | struct iwreq * | 
  
    | x00008b20 | SIOCSIWRATE | struct iwreq * | 
  
    | x00008b21 | SIOCGIWRATE | struct iwreq * | 
  
    | x00008b22 | SIOCSIWRTS | struct iwreq * | 
  
    | x00008b23 | SIOCGIWRTS | struct iwreq * | 
  
    | x00008b24 | SIOCSIWFRAG | struct iwreq * | 
  
    | x00008b25 | SIOCGIWFRAG | struct iwreq * | 
  
    | x00008b26 | SIOCSIWTXPOW | struct iwreq * | 
  
    | x00008b27 | SIOCGIWTXPOW | struct iwreq * | 
  
    | x00008b28 | SIOCSIWRETRY | struct iwreq * | 
  
    | x00008b29 | SIOCGIWRETRY | struct iwreq * | 
  
    | x00008b2a | SIOCSIWENCODE | struct iwreq * | 
  
    | x00008b2b | SIOCGIWENCODE | struct iwreq * | 
  
    | x00008b2c | SIOCSIWPOWER | struct iwreq * | 
  
    | x00008b2d | SIOCGIWPOWER | struct iwreq * | 
  
    | x00008b30 | SIOCSIWGENIE | struct iwreq * | 
  
    | x00008b31 | SIOCGIWGENIE | struct iwreq * | 
  
    | x00008b16 | SIOCSIWMLME | struct iwreq * | 
  
    | x00008b32 | SIOCSIWAUTH | struct iwreq * | 
  
    | x00008b33 | SIOCGIWAUTH | struct iwreq * | 
  
    | x00008b34 | SIOCSIWENCODEEXT | struct iwreq * | 
  
    | x00008b35 | SIOCGIWENCODEEXT | struct iwreq * | 
  
    | x00008b36 | SIOCSIWPMKSA | struct iwreq * | 
// <include/linux/sbpcd.h>
  
    | 0x00009000 | DDIOCSDBG | const int * | 
  
    | 0x00005382 | CDROMAUDIOBUFSIZ | int | 
// <include/linux/scc.h>
  
    | 0x00005470 | TIOCSCCINI | void | 
  
    | 0x00005471 | TIOCCHANINI | const struct scc_modem * | 
  
    | 0x00005472 | TIOCGKISS | struct ioctl_command * | //
      ВВОД-ВЫВОД | 
  
    | 0x00005473 | TIOCSKISS | const struct ioctl_command * | 
  
    | 0x00005474 | TIOCSCCSTAT | struct scc_stat * | 
// <include/linux/scsi.h>
  
    | 0x00005382 | SCSI_IOCTL_GET_IDLUN struct { int [2]; } * | 
  
    | 0x00005383 | SCSI_IOCTL_TAGGED_ENABLE void | 
  
    | 0x00005384 | SCSI_IOCTL_TAGGED_DISABLE void | 
  
    | 0x00005385 | SCSI_IOCTL_PROBE_HOST | const int * | // ЕЩЁ | 
// <include/linux/smb_fs.h>
  
    | 0x80027501 | SMB_IOC_GETMOUNTUID | uid_t * | 
// <include/uapi/linux/sockios.h>
    смотрите
    netdevice(7)
  
    | 0x0000890B | SIOCADDRT | const struct rtentry * | // ЕЩЁ | 
  
    | 0x0000890C | SIOCDELRT | const struct rtentry * | // ЕЩЁ | 
  
    | 0x00008910 | SIOCGIFNAME | char [] | 
  
    | 0x00008911 | SIOCSIFLINK | void | 
  
    | 0x00008912 | SIOCGIFCONF | struct ifconf * | // ЕЩЁ //
      ВВОД-ВЫВОД | 
  
    | 0x00008913 | SIOCGIFFLAGS | struct ifreq * | //
      ВВОД-ВЫВОД | 
  
    | 0x00008914 | SIOCSIFFLAGS | const struct ifreq * | 
  
    | 0x00008915 | SIOCGIFADDR | struct ifreq * | //
      ВВОД-ВЫВОД | 
  
    | 0x00008916 | SIOCSIFADDR | const struct ifreq * | 
  
    | 0x00008917 | SIOCGIFDSTADDR | struct ifreq * | //
      ВВОД-ВЫВОД | 
  
    | 0x00008918 | SIOCSIFDSTADDR | const struct ifreq * | 
  
    | 0x00008919 | SIOCGIFBRDADDR | struct ifreq * | //
      ВВОД-ВЫВОД | 
  
    | 0x0000891A | SIOCSIFBRDADDR | const struct ifreq * | 
  
    | 0x0000891B | SIOCGIFNETMASK | struct ifreq * | //
      ВВОД-ВЫВОД | 
  
    | 0x0000891C | SIOCSIFNETMASK | const struct ifreq * | 
  
    | 0x0000891D | SIOCGIFMETRIC | struct ifreq * | //
      ВВОД-ВЫВОД | 
  
    | 0x0000891E | SIOCSIFMETRIC | const struct ifreq * | 
  
    | 0x0000891F | SIOCGIFMEM | struct ifreq * | //
      ВВОД-ВЫВОД | 
  
    | 0x00008920 | SIOCSIFMEM | const struct ifreq * | 
  
    | 0x00008921 | SIOCGIFMTU | struct ifreq * | //
      ВВОД-ВЫВОД | 
  
    | 0x00008922 | SIOCSIFMTU | const struct ifreq * | 
  
    | 0x00008923 | OLD_SIOCGIFHWADDR | struct ifreq * | //
      ВВОД-ВЫВОД | 
  
    | 0x00008924 | SIOCSIFHWADDR | const struct ifreq * | // ЕЩЁ | 
  
    | 0x00008925 | SIOCGIFENCAP | int * | 
  
    | 0x00008926 | SIOCSIFENCAP | const int * | 
  
    | 0x00008927 | SIOCGIFHWADDR | struct ifreq * | //
      ВВОД-ВЫВОД | 
  
    | 0x00008929 | SIOCGIFSLAVE | void | 
  
    | 0x00008930 | SIOCSIFSLAVE | void | 
  
    | 0x00008931 | SIOCADDMULTI | const struct ifreq * | 
  
    | 0x00008932 | SIOCDELMULTI | const struct ifreq * | 
  
    | 0x00008940 | SIOCADDRTOLD | void | 
  
    | 0x00008941 | SIOCDELRTOLD | void | 
  
    | 0x00008950 | SIOCDARP | const struct arpreq * | 
  
    | 0x00008951 | SIOCGARP | struct arpreq * | //
      ВВОД-ВЫВОД | 
  
    | 0x00008952 | SIOCSARP | const struct arpreq * | 
  
    | 0x00008960 | SIOCDRARP | const struct arpreq * | 
  
    | 0x00008961 | SIOCGRARP | struct arpreq * | //
      ВВОД-ВЫВОД | 
  
    | 0x00008962 | SIOCSRARP | const struct arpreq * | 
  
    | 0x00008970 | SIOCGIFMAP | struct ifreq * | //
      ВВОД-ВЫВОД | 
  
    | 0x00008971 | SIOCSIFMAP | const struct ifreq * | 
// <include/linux/soundcard.h>
  
    | 0x00005100 | SNDCTL_SEQ_RESET | void | 
  
    | 0x00005101 | SNDCTL_SEQ_SYNC | void | 
  
    | 0xC08C5102 | SNDCTL_SYNTH_INFO | struct synth_info * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0045103 | SNDCTL_SEQ_CTRLRATE | int * | //
      ВВОД-ВЫВОД | 
  
    | 0x80045104 | SNDCTL_SEQ_GETOUTCOUNT | int * | 
  
    | 0x80045105 | SNDCTL_SEQ_GETINCOUNT | int * | 
  
    | 0x40045106 | SNDCTL_SEQ_PERCMODE | void | 
  
    | 0x40285107 | SNDCTL_FM_LOAD_INSTR | const struct sbi_instrument * | 
  
    | 0x40045108 | SNDCTL_SEQ_TESTMIDI | const int * | 
  
    | 0x40045109 | SNDCTL_SEQ_RESETSAMPLES | const int * | 
  
    | 0x8004510A | SNDCTL_SEQ_NRSYNTHS | int * | 
  
    | 0x8004510B | SNDCTL_SEQ_NRMIDIS | int * | 
  
    | 0xC074510C | SNDCTL_MIDI_INFO | struct midi_info * | //
      ВВОД-ВЫВОД | 
  
    | 0x4004510D | SNDCTL_SEQ_THRESHOLD | const int * | 
  
    | 0xC004510E | SNDCTL_SYNTH_MEMAVL | int * | //
      ВВОД-ВЫВОД | 
  
    | 0x4004510F | SNDCTL_FM_4OP_ENABLE | const int * | 
  
    | 0xCFB85110 | SNDCTL_PMGR_ACCESS | struct patmgr_info * | //
      ВВОД-ВЫВОД | 
  
    | 0x00005111 | SNDCTL_SEQ_PANIC | void | 
  
    | 0x40085112 | SNDCTL_SEQ_OUTOFBAND | const struct seq_event_rec * | 
  
    | 0xC0045401 | SNDCTL_TMR_TIMEBASE | int * | //
      ВВОД-ВЫВОД | 
  
    | 0x00005402 | SNDCTL_TMR_START | void | 
  
    | 0x00005403 | SNDCTL_TMR_STOP | void | 
  
    | 0x00005404 | SNDCTL_TMR_CONTINUE | void | 
  
    | 0xC0045405 | SNDCTL_TMR_TEMPO | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0045406 | SNDCTL_TMR_SOURCE | int * | //
      ВВОД-ВЫВОД | 
  
    | 0x40045407 | SNDCTL_TMR_METRONOME | const int * | 
  
    | 0x40045408 | SNDCTL_TMR_SELECT | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xCFB85001 | SNDCTL_PMGR_IFACE | struct patmgr_info * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0046D00 | SNDCTL_MIDI_PRETIME | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0046D01 | SNDCTL_MIDI_MPUMODE | const int * | 
  
    | 0xC0216D02 | SNDCTL_MIDI_MPUCMD | struct mpu_command_rec * | //
      ВВОД-ВЫВОД | 
  
    | 0x00005000 | SNDCTL_DSP_RESET | void | 
  
    | 0x00005001 | SNDCTL_DSP_SYNC | void | 
  
    | 0xC0045002 | SNDCTL_DSP_SPEED | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0045003 | SNDCTL_DSP_STEREO | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0045004 | SNDCTL_DSP_GETBLKSIZE | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0045006 | SOUND_PCM_WRITE_CHANNELS | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0045007 | SOUND_PCM_WRITE_FILTER | int * | //
      ВВОД-ВЫВОД | 
  
    | 0x00005008 | SNDCTL_DSP_POST | void | 
  
    | 0xC0045009 | SNDCTL_DSP_SUBDIVIDE | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC004500A | SNDCTL_DSP_SETFRAGMENT | int * | //
      ВВОД-ВЫВОД | 
  
    | 0x8004500B | SNDCTL_DSP_GETFMTS | int * | 
  
    | 0xC0045005 | SNDCTL_DSP_SETFMT | int * | //
      ВВОД-ВЫВОД | 
  
    | 0x800C500C | SNDCTL_DSP_GETOSPACE | struct audio_buf_info * | 
  
    | 0x800C500D | SNDCTL_DSP_GETISPACE | struct audio_buf_info * | 
  
    | 0x0000500E | SNDCTL_DSP_NONBLOCK | void | 
  
    | 0x80045002 | SOUND_PCM_READ_RATE | int * | 
  
    | 0x80045006 | SOUND_PCM_READ_CHANNELS | int * | 
  
    | 0x80045005 | SOUND_PCM_READ_BITS | int * | 
  
    | 0x80045007 | SOUND_PCM_READ_FILTER | int * | 
  
    | 0x00004300 | SNDCTL_COPR_RESET | void | 
  
    | 0xCFB04301 | SNDCTL_COPR_LOAD | const struct copr_buffer * | 
  
    | 0xC0144302 | SNDCTL_COPR_RDATA | struct copr_debug_buf * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0144303 | SNDCTL_COPR_RCODE | struct copr_debug_buf * | //
      ВВОД-ВЫВОД | 
  
    | 0x40144304 | SNDCTL_COPR_WDATA | const struct copr_debug_buf * | 
  
    | 0x40144305 | SNDCTL_COPR_WCODE | const struct copr_debug_buf * | 
  
    | 0xC0144306 | SNDCTL_COPR_RUN | struct copr_debug_buf * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0144307 | SNDCTL_COPR_HALT | struct copr_debug_buf * | //
      ВВОД-ВЫВОД | 
  
    | 0x4FA44308 | SNDCTL_COPR_SENDMSG | const struct copr_msg * | 
  
    | 0x8FA44309 | SNDCTL_COPR_RCVMSG | struct copr_msg * | 
  
    | 0x80044D00 | SOUND_MIXER_READ_VOLUME | int * | 
  
    | 0x80044D01 | SOUND_MIXER_READ_BASS | int * | 
  
    | 0x80044D02 | SOUND_MIXER_READ_TREBLE | int * | 
  
    | 0x80044D03 | SOUND_MIXER_READ_SYNTH | int * | 
  
    | 0x80044D04 | SOUND_MIXER_READ_PCM | int * | 
  
    | 0x80044D05 | SOUND_MIXER_READ_SPEAKER | int * | 
  
    | 0x80044D06 | SOUND_MIXER_READ_LINE | int * | 
  
    | 0x80044D07 | SOUND_MIXER_READ_MIC | int * | 
  
    | 0x80044D08 | SOUND_MIXER_READ_CD | int * | 
  
    | 0x80044D09 | SOUND_MIXER_READ_IMIX | int * | 
  
    | 0x80044D0A | SOUND_MIXER_READ_ALTPCM | int * | 
  
    | 0x80044D0B | SOUND_MIXER_READ_RECLEV | int * | 
  
    | 0x80044D0C | SOUND_MIXER_READ_IGAIN | int * | 
  
    | 0x80044D0D | SOUND_MIXER_READ_OGAIN | int * | 
  
    | 0x80044D0E | SOUND_MIXER_READ_LINE1 | int * | 
  
    | 0x80044D0F | SOUND_MIXER_READ_LINE2 | int * | 
  
    | 0x80044D10 | SOUND_MIXER_READ_LINE3 | int * | 
  
    | 0x80044D1C | SOUND_MIXER_READ_MUTE | int * | 
  
    | 0x80044D1D | SOUND_MIXER_READ_ENHANCE | int * | 
  
    | 0x80044D1E | SOUND_MIXER_READ_LOUD | int * | 
  
    | 0x80044DFF | SOUND_MIXER_READ_RECSRC | int * | 
  
    | 0x80044DFE | SOUND_MIXER_READ_DEVMASK | int * | 
  
    | 0x80044DFD | SOUND_MIXER_READ_RECMASK | int * | 
  
    | 0x80044DFB | SOUND_MIXER_READ_STEREODEVS | int * | 
  
    | 0x80044DFC | SOUND_MIXER_READ_CAPS | int * | 
  
    | 0xC0044D00 | SOUND_MIXER_WRITE_VOLUME | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0044D01 | SOUND_MIXER_WRITE_BASS | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0044D02 | SOUND_MIXER_WRITE_TREBLE | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0044D03 | SOUND_MIXER_WRITE_SYNTH | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0044D04 | SOUND_MIXER_WRITE_PCM | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0044D05 | SOUND_MIXER_WRITE_SPEAKER | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0044D06 | SOUND_MIXER_WRITE_LINE | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0044D07 | SOUND_MIXER_WRITE_MIC | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0044D08 | SOUND_MIXER_WRITE_CD | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0044D09 | SOUND_MIXER_WRITE_IMIX | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0044D0A | SOUND_MIXER_WRITE_ALTPCM | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0044D0B | SOUND_MIXER_WRITE_RECLEV | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0044D0C | SOUND_MIXER_WRITE_IGAIN | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0044D0D | SOUND_MIXER_WRITE_OGAIN | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0044D0E | SOUND_MIXER_WRITE_LINE1 | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0044D0F | SOUND_MIXER_WRITE_LINE2 | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0044D10 | SOUND_MIXER_WRITE_LINE3 | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0044D1C | SOUND_MIXER_WRITE_MUTE | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0044D1D | SOUND_MIXER_WRITE_ENHANCE | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0044D1E | SOUND_MIXER_WRITE_LOUD | int * | //
      ВВОД-ВЫВОД | 
  
    | 0xC0044DFF | SOUND_MIXER_WRITE_RECSRC | int * | //
      ВВОД-ВЫВОД | 
// <include/linux/timerfd.h>
    смотрите
    timerfd_create(2)
  
    | 0x40085400 | TFD_IOC_SET_TICKS | uint64_t * | 
// <include/linux/umsdos_fs.h>
  
    | 0x000004D2 | UMSDOS_READDIR_DOS | struct umsdos_ioctl * | //
      ВВОД-ВЫВОД | 
  
    | 0x000004D3 | UMSDOS_UNLINK_DOS | const struct umsdos_ioctl * | 
  
    | 0x000004D4 | UMSDOS_RMDIR_DOS | const struct umsdos_ioctl * | 
  
    | 0x000004D5 | UMSDOS_STAT_DOS | struct umsdos_ioctl * | //
      ВВОД-ВЫВОД | 
  
    | 0x000004D6 | UMSDOS_CREAT_EMD | const struct umsdos_ioctl * | 
  
    | 0x000004D7 | UMSDOS_UNLINK_EMD | const struct umsdos_ioctl * | 
  
    | 0x000004D8 | UMSDOS_READDIR_EMD | struct umsdos_ioctl * | //
      ВВОД-ВЫВОД | 
  
    | 0x000004D9 | UMSDOS_GETVERSION | struct umsdos_ioctl * | 
  
    | 0x000004DA | UMSDOS_INIT_EMD | void | 
  
    | 0x000004DB | UMSDOS_DOS_SETUP | const struct umsdos_ioctl * | 
  
    | 0x000004DC | UMSDOS_RENAME_DOS | const struct umsdos_ioctl * | 
// <include/linux/vt.h>
  
    | 0x00005600 | VT_OPENQRY | int * | 
  
    | 0x00005601 | VT_GETMODE | struct vt_mode * | 
  
    | 0x00005602 | VT_SETMODE | const struct vt_mode * | 
  
    | 0x00005603 | VT_GETSTATE | struct vt_stat * | 
  
    | 0x00005604 | VT_SENDSIG | void | 
  
    | 0x00005605 | VT_RELDISP | int | 
  
    | 0x00005606 | VT_ACTIVATE | int | 
  
    | 0x00005607 | VT_WAITACTIVE | int | 
  
    | 0x00005608 | VT_DISALLOCATE | int | 
  
    | 0x00005609 | VT_RESIZE | const struct vt_sizes * | 
  
    | 0x0000560A | VT_RESIZEX | const struct vt_consize * | 
//
    Дополнительные
    аргументы
    (MORE).
    Некоторые
    ioctl вызовы в
    качестве
    аргумента
    ожидают
    указатель
    на
    структуру,
    которая
    содержит
    дополнительные
    указатели.
    Такие
    вызовы
    описаны
    здесь в
    алфавитном
    порядке.
CDROMREADAUDIO берёт
    входной
    указатель
    const struct cdrom_read_audio *.
    Поле buf
    указывает
    на
    выходной
    буфер
    длиной nframes *
    CD_FRAMESIZE_RAW.
CDROMREADCOOKED, CDROMREADMODE1,
    CDROMREADMODE2 и CDROMREADRAW
    берут
    входной
    указатель
    const struct cdrom_msf *. Они
    используют
    такой же
    указатель
    в качестве
    выходного
    указателя
    на char []. Длина
    определяется
    запросом.
    Для CDROMREADMODE1
    большинство
    драйверов
    использует
    CD_FRAMESIZE, но
    драйвер Optics Storage
    использует
    OPT_BLOCKSIZE (оба
    имеют
    числовое
    значение 2048).
    CDROMREADCOOKED    char [CD_FRAMESIZE]
    CDROMREADMODE1     char [CD_FRAMESIZE или OPT_BLOCKSIZE]
    CDROMREADMODE2     char [CD_FRAMESIZE_RAW0]
    CDROMREADRAW       char [CD_FRAMESIZE_RAW]
EQL_ENSLAVE, EQL_EMANCIPATE, EQL_GETSLAVECFG,
    EQL_SETSLAVECFG, EQL_GETMASTERCFG и
    EQL_SETMASTERCFG берут struct
    ifreq *. Поле ifr_data
    является
    указателем
    на другую
    структуру:
    EQL_ENSLAVE         const struct slaving_request *
    EQL_EMANCIPATE      const struct slaving_request *
    EQL_GETSLAVECFG     struct slave_config *           // I-O
    EQL_SETSLAVECFG     const struct slave_config *
    EQL_GETMASTERCFG    struct master_config *
    EQL_SETMASTERCFG    const struct master_config *
FDRAWCMD берёт struct
    floppy raw_cmd *. Если flags &
    FD_RAW_WRITE не ноль,
    то data
    указывает
    на входной
    буфер
    длиной length.
    Если flags & FD_RAW_READ
    не ноль, то
    data
    указывает
    на
    выходной
    буфер
    длиной length.
GIO_FONTX и PIO_FONTX
    берут struct
    console_font_desc * или const
    struct console_font_desc *,
    соответственно.
    chardata
    указывает
    на буфер char
    [charcount]. Это
    выходной
    буфер для
    GIO_FONTX и
    входной
    буфер для
    PIO_FONTX.
GIO_UNIMAP и PIO_UNIMAP
    берут struct unimapdesc *
    или const struct unimapdesc *,
    соответственно.
    entries
    указывает
    на буфер struct unipair
    [entry_ct]. Это
    выходной
    буфер для
    GIO_UNIMAP и
    входной
    буфер для
    PIO_UNIMAP.
KDADDIO, KDDELIO, KDDISABIO и KDENABIO
    разрешают
    или
    запрещают
    доступ к
    портам
    ввода/вывода.
    Они
    являются
    необходимыми
    альтернативными
    интерфейсами
    к «ioperm».
KDMAPDISP и KDUNMAPDISP
    разрешают
    или
    запрещают
    отображение
    памяти или
    доступ к
    порту
    ввода/вывода.
    Они не
    реализованы
    в ядре.
SCSI_IOCTL_PROBE_HOST
    берёт
    входной
    указатель
    const int *,
    который
    является
    длиной. Он
    использует
    такой же
    указатель
    как
    выходной
    указатель
    на буфер char []
    этой
  длины.
SIOCADDRT и SIOCDELRT
    берут
    входной
    указатель,
    чей тип
    зависит от
    протокола:
    Большинство протоколов  const struct rtentry *
    AX.25                   const struct ax25_route *
    NET/ROM                 const struct nr_route_struct *
    INET6                   const struct in6_rtmsg *
SIOCGIFCONF берёт
    struct ifconf *. Поле
    ifc_buf
    указывает
    на буфер
    длиной ifc_len
    байт, в
    который
    ядро пишет
    список
    типов type struct ifreq
  [].
SIOCSIFHWADDR берёт
    входной
    указатель,
    чей тип
    зависит от
    протокола:
    большинство протоколов      const struct ifreq *
    AX.25                       const char [AX25_ADDR_LEN]
TIOCLINUX берёт const
    char *. Он
    использует
    его для
    того, чтобы
    разделить
    некоторые
    независимые
    подоперации.
    В таблице
    ниже, N + foo
    означает foo
    после N
    начальных
    байт. struct selection
    неявно
    определена
    в drivers/char/selection.c
    TIOCLINUX-2         1 + const struct selection *
    TIOCLINUX-3         void
    TIOCLINUX-4         void
    TIOCLINUX-5         4 + const struct { long [8]; } *
    TIOCLINUX-6         char *
    TIOCLINUX-7         char *
    TIOCLINUX-10        1 + const char *
//
    Дублирующие
    вызовы ioctls
Этот
    список не
    включает ioctl
    вызовы в
    диапазоне
    SIOCDEVPRIVATE и SIOCPROTOPRIVATE.
  
    | 0x00000001 | FDSETPRM | FIBMAP | 
  
    | 0x00000002 | FDDEFPRM | FIGETBSZ | 
  
    | 0x00005382 | CDROMAUDIOBUFSIZ | SCSI_IOCTL_GET_IDLUN | 
  
    | 0x00005402 | SNDCTL_TMR_START | TCSETS | 
  
    | 0x00005403 | SNDCTL_TMR_STOP | TCSETSW | 
  
    | 0x00005404 | SNDCTL_TMR_CONTINUE | TCSETSF |