console_ioctl

CONSOLE_IOCTL(4)Ð ÑководÑÑво пÑогÑаммиÑÑа LinuxCONSOLE_IOCTL(4)



ÐÐЯ
       console_ioctl - ÑпÑавление вводом-вÑводом (ioctl)
       конÑолÑного ÑеÑминала и виÑÑÑалÑнÑÑ
       конÑолей

ÐÐÐСÐÐÐÐ
       ÐоддеÑживаÑÑÑÑ Linux-оÑиенÑиÑованнÑе запÑоÑÑ
       ioctl(2), пеÑеÑиÑленнÑе далее. ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾
       запÑоÑа ÑÑебÑеÑÑÑ ÑÑеÑий аÑгÑменÑ, коÑоÑÑй
       далее именÑеÑÑÑ argp.

       KDGETLED
              ÐолÑÑиÑÑ ÑоÑÑоÑние индикаÑоÑов. argp
              ÑказÑÐ²Ð°ÐµÑ ÑÑÐµÐ¹ÐºÑ Ñипа char. РмладÑÐ¸Ñ ÑÑÑÑ
              биÑÐ°Ñ *argp ÑÑаниÑÑÑ ÑоÑÑоÑние индикаÑоÑов:

              LED_CAP    0x04   индикаÑÐ¾Ñ caps lock
              LED_NUM    0x02   индикаÑÐ¾Ñ num lock
              LED_SCR    0x01   индикаÑÐ¾Ñ scroll lock

       KDSETLED
              УÑÑановиÑÑ ÑоÑÑоÑние индикаÑоÑов.
              СоÑÑоÑние индикаÑоÑов ÑÑÑанавливаеÑÑÑ Ð²
              ÑооÑвеÑÑÑвии Ñ ÑÑÐµÐ¼Ñ Ð¼Ð»Ð°Ð´Ñими биÑами argp.
              Ðднако, еÑли ÑÑÑановлен ÑÑаÑÑий биÑ,
              индикаÑоÑÑ Ð²Ð¾Ð·Ð²ÑаÑаÑÑÑÑ Ð² иÑÑодное
              ÑоÑÑоÑние: оÑобÑажаÑÑ ÑоÑÑоÑние ÑÑнкÑий
              клавиаÑÑÑÑ caps lock, num lock и scroll lock.

       Ðо Linux 1.1.54 индикаÑоÑÑ ÑоÑÑоÑÐ½Ð¸Ñ Ð¾ÑÑажалиÑÑ
       ÑолÑко ÑооÑвеÑÑÑвÑÑÑими Ñлагами клавиаÑÑÑÑ Ð¸
       KDGETLED/KDSETLED и Ñакже могли изменÑÑÑ Ñлаги
       клавиаÑÑÑÑ. ÐаÑÐ¸Ð½Ð°Ñ Ñ Linux 1.1.54 индикаÑоÑÑ Ð¼Ð¾Ð³ÑÑ
       оÑобÑажаÑÑ Ð¿ÑоизволÑнÑÑ Ð¸Ð½ÑоÑмаÑиÑ, но по
       ÑмолÑÐ°Ð½Ð¸Ñ Ð¿Ð¾ÐºÐ°Ð·ÑваÑÑ Ñлаги клавиаÑÑÑÑ.
       СледÑÑÑие два ioctl иÑполÑзÑÑÑÑÑ Ð´Ð»Ñ Ð´Ð¾ÑÑÑпа к
       Ñлагам клавиаÑÑÑÑ.

       KDGKBLED
              ÐолÑÑиÑÑ Ñлаги клавиаÑÑÑÑ: CapsLock, NumLock,
              ScrollLock (не индикаÑоÑÑ). argp ÑказÑÐ²Ð°ÐµÑ Ð½Ð°
              ÑÑÐµÐ¹ÐºÑ Ñипа char, в коÑоÑой ÑоÑÑанÑеÑÑÑ
              ÑоÑÑоÑÐ½Ð¸Ñ Ñлагов. ÐладÑие ÑÑи биÑа (маÑка
              0x7) ÑодеÑÐ¶Ð°Ñ ÑекÑÑее ÑоÑÑоÑние Ñлагов,
              ÑледÑÑÑие ÑÑи биÑа (маÑка 0x70) ÑодеÑжаÑ
              ÑÑÑанавливаемое ÑоÑÑоÑние Ñлагам по
              ÑмолÑÐ°Ð½Ð¸Ñ (наÑÐ¸Ð½Ð°Ñ Ñ Linux 1.1.54).

       KDSKBLED
              УÑÑановиÑÑ Ñлаги клавиаÑÑÑÑ: CapsLock, NumLock,
              ScrollLock (не индикаÑоÑÑ). argp ÑодеÑжиÑ
              ÑÑебÑемÑе ÑоÑÑоÑÐ½Ð¸Ñ Ñлагов. ТÑи младÑиÑ
              биÑа (маÑка 0x7) ÑодеÑÐ¶Ð°Ñ ÑоÑÑоÑÐ½Ð¸Ñ Ñлагов,
              ÑледÑÑÑие ÑÑи биÑа (маÑка 0x70) ÑодеÑжаÑ
              ÑоÑÑоÑÐ½Ð¸Ñ Ñлагов по ÑмолÑÐ°Ð½Ð¸Ñ (наÑÐ¸Ð½Ð°Ñ Ñ
              Linux 1.1.54).

       KDGKBTYPE
              ÐолÑÑиÑÑ Ñип клавиаÑÑÑÑ. ÐозвÑаÑаеÑÑÑ
              знаÑение KB_101 Ñавное 0x02.

       KDADDIO
              ÐобавиÑÑ Ð¿Ð¾ÑÑ Ð²Ð²Ð¾Ð´Ð°/вÑвода (I/O) как
              допÑÑÑимÑй. ÐквиваленÑно вÑзовÑ
              ioperm(arg,1,1).

       KDDELIO
              УдалиÑÑ Ð¿Ð¾ÑÑ Ð²Ð²Ð¾Ð´Ð°/вÑвода (I/O) как
              недопÑÑÑимÑй. ÐквиваленÑно вÑзовÑ
              ioperm(arg,1,0).

       KDENABIO
              ÐклÑÑиÑÑ Ð²Ð²Ð¾Ð´/вÑвод на видеокаÑÑÑ. Ð‐
              квиваленÑно вÑÐ·Ð¾Ð²Ñ ioperm(0x3b4, 0x3df-0x3b4+1,
              1).

       KDDISABIO
              ÐÑклÑÑиÑÑ Ð²Ð²Ð¾Ð´/вÑвод на видеокаÑÑÑ. Ð‐
              квиваленÑно вÑÐ·Ð¾Ð²Ñ ioperm(0x3b4, 0x3df-0x3b4+1,
              0).

       KDSETMODE
              УÑÑановиÑÑ ÑекÑÑовÑй/гÑаÑиÑеÑкий Ñежим.
              argp ÑодеÑÐ¶Ð¸Ñ Ð¾Ð´Ð½Ð¾ из двÑÑ Ð·Ð½Ð°Ñений:

              KD_TEXT       0x00
              KD_GRAPHICS   0x01

       KDGETMODE
              ÐолÑÑиÑÑ Ñип Ñежима
              (ÑекÑÑовÑй/гÑаÑиÑеÑкий). argp ÑказÑÐ²Ð°ÐµÑ Ð½Ð°
              int, коÑоÑой пÑиÑваиваеÑÑÑ Ð¾Ð´Ð½Ð¾ из
              вÑÑепеÑеÑиÑленнÑÑ ÑÑÑанавливаемÑÑ
              знаÑений.

       KDMKTONE
              ÐенеÑиÑоваÑÑ Ñон заданной длиÑелÑноÑÑи.
              ÐладÑие 16 биÑов argp задаÑÑ ÑаÑÑоÑÑ Ñона
              (пеÑиод в ÑакÑаÑ), ÑÑаÑÑие 16 биÑов
              ÑÑÑанавливаÑÑ ÐµÐ³Ð¾ длиÑелÑноÑÑÑ Ð² мÑек.
              ÐÑли длиÑелÑноÑÑÑ Ñавна нÑлÑ, звÑк
              вÑклÑÑаеÑÑÑ. УпÑавление возвÑаÑаеÑÑÑ
              немедленно. ÐапÑимеÑ, argp = (125<<16) + 0x637
              опÑеделÑÐµÑ Ð·Ð²Ñк, обÑÑно ÑвÑзаннÑй Ñ ctrl-G
              (ÑабоÑаеÑ, наÑÐ¸Ð½Ð°Ñ Ñ Linux 0.99pl1; не ÑабоÑаеÑ
              в Linux 2.1.49-50).

       KIOCSOUND
              ÐапÑÑÑиÑÑ Ð¸ оÑÑановиÑÑ Ð³ÐµÐ½ÐµÑаÑÐ¸Ñ Ð·Ð²Ñка.
              ÐладÑие 16 биÑов argp опÑеделÑÑÑ Ð¿ÐµÑиод в
              ÑакÑÐ°Ñ (Ñо еÑÑÑ argp = 1193180/ÑаÑÑоÑа). ÐнаÑение
              argp = 0 вÑклÑÑÐ°ÐµÑ Ð·Ð²Ñк. Ð Ð¾Ð±Ð¾Ð¸Ñ ÑлÑÑаÑÑ
              ÑпÑавление возвÑаÑаеÑÑÑ Ð½ÐµÐ¼ÐµÐ´Ð»ÐµÐ½Ð½Ð¾.

       GIO_CMAP
              ÐолÑÑиÑÑ Ð¸Ð· ÑдÑа ÑекÑÑÑÑ ÑвеÑовÑÑ ÐºÐ°ÑÑÑ Ð¿Ð¾
              ÑмолÑаниÑ. argp ÑказÑÐ²Ð°ÐµÑ Ð½Ð° маÑÑив из 48
              байÑов (наÑÐ¸Ð½Ð°Ñ Ñ Linux 1.3.3).

       PIO_CMAP
              ÐзмениÑÑ ÑвеÑовÑÑ ÐºÐ°ÑÑÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð»Ñ
              ÑекÑÑового Ñежима.  argp ÑказÑÐ²Ð°ÐµÑ Ð½Ð°
              маÑÑив из 48 байÑов, коÑоÑÑй ÑодеÑжиÑ, по
              поÑÑдкÑ, знаÑÐµÐ½Ð¸Ñ ÐºÑаÑного, зеленого и
              Ñинего Ð´Ð»Ñ 16-и доÑÑÑпнÑÑ ÑкÑаннÑÑ ÑвеÑов: 0
              â ÑоÑÑавлÑÑÑÐ°Ñ Ð²ÑклÑÑена, 255 â полнаÑ
              инÑенÑивноÑÑÑ. ЦвеÑа по ÑмолÑаниÑ, по
              поÑÑдкÑ: ÑÑÑнÑй, ÑÑмно-кÑаÑнÑй,
              ÑÑмно-зелÑнÑй, коÑиÑневÑй, ÑÑмно-Ñиний,
              ÑÑмно-ÑиÑеневÑй, ÑÑмно-голÑбой,
              ÑвеÑло-ÑеÑÑй, ÑÑмно-ÑеÑÑй, ÑÑко-кÑаÑнÑй,
              ÑÑко-зелÑнÑй, жÑлÑÑй, ÑÑко-Ñиний,
              ÑÑко-ÑиÑеневÑй, ÑÑко-голÑбой и белÑй
              (наÑÐ¸Ð½Ð°Ñ Ñ Linux 1.3.3).

       GIO_FONT
              ÐолÑÑиÑÑ ÑкÑаннÑй ÑÑиÑÑ (256 Ñимволов) в
              ÑаÑÑиÑенном виде. argp ÑказÑÐ²Ð°ÐµÑ Ð½Ð°
              маÑÑив из 8192 байÑов. ÐозвÑаÑÐ°ÐµÑ ÐºÐ¾Ð´
              оÑибки EINVAL, еÑли ÑекÑÑий загÑÑженнÑй
              ÑÑиÑÑ ÑодеÑÐ¶Ð¸Ñ 512 Ñимволов или конÑолÑ
              наÑодиÑÑÑ Ð½Ðµ в ÑекÑÑовом Ñежиме.

       GIO_FONTX
              ÐолÑÑиÑÑ ÑкÑаннÑй ÑÑиÑÑ Ð¸ ÑвÑзаннÑÑ Ñ Ð½Ð¸Ð¼
              инÑоÑмаÑиÑ. argp ÑказÑÐ²Ð°ÐµÑ Ð½Ð° struct
              consolefontdesc (Ñм. PIO_FONTX). ÐÑи вÑзове
              знаÑение Ð¿Ð¾Ð»Ñ charcount должно бÑÑÑ Ñавно
              макÑималÑÐ½Ð¾Ð¼Ñ ÑиÑÐ»Ñ Ñимволов, коÑоÑое
              помеÑаеÑÑÑ Ð² бÑÑеÑ, ÑказÑваемÑй chardata. ÐÑи
              возвÑаÑе charcount и charheight ÑодеÑжаÑ
              инÑоÑмаÑÐ¸Ñ Ð¾ ÑекÑÑем загÑÑженном ÑÑиÑÑе,
              а маÑÑив chardata ÑодеÑÐ¶Ð¸Ñ Ð´Ð°Ð½Ð½Ñе ÑÑиÑÑа,
              еÑли ÑоглаÑно наÑалÑÐ½Ð¾Ð¼Ñ Ð·Ð½Ð°ÑениÑ
              charcount Ð´Ð»Ñ ÑÑого доÑÑаÑоÑно меÑÑа; в
              пÑоÑивном ÑлÑÑае бÑÑÐµÑ Ð¾ÑÑаÑÑÑÑ
              неизменнÑм и errno пÑиÑваиваеÑÑÑ
              знаÑение ENOMEM (наÑÐ¸Ð½Ð°Ñ Ñ Linux 1.3.1).

       PIO_FONT
              УÑÑановиÑÑ ÑкÑаннÑй ÑÑиÑÑ Ð¸Ð· 256 Ñимволов.
              ШÑиÑÑ Ð·Ð°Ð³ÑÑжаеÑÑÑ Ð² знакогенеÑаÑÐ¾Ñ EGA/VGA.
              argp ÑказÑÐ²Ð°ÐµÑ Ð½Ð° каÑÑÑ ÑазмеÑом 8192 байÑа
              (32 байÑа на Ñимвол). ТолÑко пеÑвÑе N из
              Ð½Ð¸Ñ Ð¸ÑполÑзÑÑÑÑÑ Ð´Ð»Ñ ÑÑиÑÑа 8xN (0 < N <= 32). ÐÑоÑ
              вÑзов Ñакже оÑменÑÐµÑ Ð¿ÐµÑекодиÑÐ¾Ð²ÐºÑ Ð²
              Юникод.

       PIO_FONTX
              УÑÑановиÑÑ ÑкÑаннÑй ÑÑиÑÑ Ð¸ ÑооÑвеÑÑÑвÑÑÑÑÑ
              инÑоÑмаÑÐ¸Ñ Ð´Ð»Ñ Ð¸Ð·Ð¾Ð±ÑажениÑ. argp
              ÑказÑÐ²Ð°ÐµÑ Ð½Ð° ÑÑÑÑкÑÑÑÑ:

                  struct consolefontdesc {
                      unsigned short charcount;  /* ÑиÑло Ñимволов в ÑÑиÑÑе
                                                    (256 или 512) */
                      unsigned short charheight; /* ÑиÑло линий ÑканиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð°
                                                    Ñимвол (1-32) */
                      char          *chardata;   /* даннÑе ÑÑиÑÑа в
                                                    ÑаÑÑиÑенном ÑоÑмаÑе */
                  };

              ÐÑли ÑÑебÑеÑÑÑ, ÑооÑвеÑÑÑвенно изменÑÑÑÑÑ
              ÑазмеÑÑ ÑкÑана и ÑооÑвеÑÑÑвÑÑÑим пÑоÑеÑÑам
              поÑÑлаеÑÑÑ Ñигнал SIGWINCH. ÐÑÐ¾Ñ Ð²Ñзов Ñакже
              оÑменÑÐµÑ Ð¿ÐµÑекодиÑÐ¾Ð²ÐºÑ Ð² Юникод
              (наÑÐ¸Ð½Ð°Ñ Ñ Linux 1.3.1).

       PIO_FONTRESET
              СбÑоÑиÑÑ ÑкÑаннÑй ÑÑиÑÑ, ÑÐ°Ð·Ð¼ÐµÑ Ð¸
              пеÑекодиÑÐ¾Ð²ÐºÑ Ð² Юникод в наÑалÑнÑе
              знаÑениÑ, иÑполÑзованнÑе пÑи загÑÑзке.
              ÐÑгÑÐ¼ÐµÐ½Ñ argp не иÑполÑзÑеÑÑÑ, но его
              знаÑение должно бÑÑÑ NULL, ÑÑÐ¾Ð±Ñ ÑÑа веÑÑиÑ
              бÑла ÑовмеÑÑима Ñ Ð±ÑдÑÑими веÑÑиÑми Linux
              (наÑÐ¸Ð½Ð°Ñ Ñ Linux 1.3.28).

       GIO_SCRNMAP
              ÐолÑÑиÑÑ ÑазмеÑÐºÑ ÑкÑана из ÑдÑа. argp
              ÑказÑÐ²Ð°ÐµÑ Ð½Ð° облаÑÑÑ ÑазмеÑом E_TABSZ,
              коÑоÑÐ°Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÑеÑÑÑ Ð¿Ð¾Ð·Ð¸ÑиÑми Ñимволов
              ÑÑиÑÑа, иÑполÑзÑемÑми пÑи оÑобÑажении.
              ÐÑзов возвÑаÑÐ°ÐµÑ Ð±ÐµÑполезнÑÑ Ð¸Ð½ÑоÑмаÑиÑ,
              еÑли ÑекÑÑий загÑÑженнÑй ÑÑиÑÑ ÑодеÑжиÑ
              более 256 Ñимволов.

       GIO_UNISCRNMAP
              ÐолÑÑиÑÑ Ð¿Ð¾Ð»Ð½ÑÑ ÑкÑаннÑÑ Ð¿ÐµÑекодиÑÐ¾Ð²ÐºÑ Ð²
              Юникод из ÑдÑа. argp ÑказÑÐ²Ð°ÐµÑ Ð½Ð° облаÑÑÑ
              ÑазмеÑом E_TABSZ*sizeof(unsigned short), коÑоÑаÑ
              заполнÑеÑÑÑ Ð¿ÑедÑÑавлением в Юникоде
              каждого Ñимвола. СпеÑиалÑнÑй набоÑ
              Юникода, наÑинаÑÑийÑÑ Ñ U+F000, иÑполÑзÑеÑÑÑ
              Ð´Ð»Ñ Ð¿ÐµÑекодиÑовки «напÑÑмÑÑ Ð² ÑÑиÑÑ»
              (наÑÐ¸Ð½Ð°Ñ Ñ Linux 1.3.1).

       PIO_SCRNMAP
              ÐагÑÑзиÑÑ Â«Ð¾Ð¿ÑеделÑемÑÑ Ð¿Ð¾Ð»ÑзоваÑелем»
              (ÑеÑвÑÑÑÑÑ) ÑаблиÑÑ Ð² ÑдÑо, по коÑоÑой
              пеÑекодиÑÑÑÑÑÑ Ð±Ð°Ð¹ÑÑ Ð² ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ ÑкÑана
              конÑоли. argp ÑказÑÐ²Ð°ÐµÑ Ð½Ð° облаÑÑÑ
              ÑазмеÑом E_TABSZ.

       PIO_UNISCRNMAP
              ÐагÑÑзиÑÑ Â«Ð¾Ð¿ÑеделÑемÑÑ Ð¿Ð¾Ð»ÑзоваÑелем»
              (ÑеÑвÑÑÑÑÑ) ÑаблиÑÑ Ð² ÑдÑо, пеÑекодиÑÑÑÑÑÑ
              байÑÑ Ð² знаÑÐµÐ½Ð¸Ñ Ð®Ð½Ð¸ÐºÐ¾Ð´Ð°, коÑоÑÑе заÑем
              ÑÑанÑлиÑÑÑÑÑÑ Ð² ÑкÑаннÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ ÑоглаÑно
              ÑекÑÑей загÑÑженной каÑÑе ÑооÑвеÑÑÑвиÑ
              Ñимволов Юникода и ÑÑиÑÑа. СпеÑиалÑнÑе
              ÐºÐ¾Ð´Ñ Ð®Ð½Ð¸ÐºÐ¾Ð´Ð°, наÑинаÑÑиеÑÑ Ñ U+F000, могÑÑ
              иÑполÑзоваÑÑÑÑ Ð´Ð»Ñ Ð½ÐµÐ¿Ð¾ÑÑедÑÑвенного
              пеÑевода байÑов в ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ ÑÑиÑÑа
              (наÑÐ¸Ð½Ð°Ñ Ñ Linux 1.3.1).

       GIO_UNIMAP
              ÐолÑÑиÑÑ ÑооÑвеÑÑÑвие Ñимволов Юникода
              ÑÑиÑÑÑ Ð¸Ð· ÑдÑа. argp ÑказÑÐ²Ð°ÐµÑ Ð½Ð° ÑÑÑÑкÑÑÑÑ

                  struct unimapdesc {
                      unsigned short  entry_ct;
                      struct unipair *entries;
                  };

              где entries ÑказÑÐ²Ð°ÐµÑ Ð½Ð° маÑÑив ÑÑÑÑкÑÑÑ

                  struct unipair {
                      unsigned short unicode;
                      unsigned short fontpos;
                  };

              (наÑÐ¸Ð½Ð°Ñ Ñ Linux 1.1.92.)

       PIO_UNIMAP
              ÐомеÑÑиÑÑ ÑооÑвеÑÑÑвие Ñимволов Юникода
              и ÑкÑанного ÑÑиÑÑа в ÑдÑо. argp ÑказÑваеÑ
              на struct unimapdesc (наÑÐ¸Ð½Ð°Ñ Ñ Linux 1.1.92).

       PIO_UNIMAPCLR
              ÐÑиÑÑиÑÑ ÑаблиÑÑ, возможно Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ
              алгоÑиÑма ÑÑÑиÑованиÑ. argp ÑказÑÐ²Ð°ÐµÑ Ð½Ð°
              ÑÑÑÑкÑÑÑÑ

                  struct unimapinit {
                      unsigned short advised_hashsize;  /* 0, еÑли не иÑполÑзоваÑÑ */
                      unsigned short advised_hashstep;  /* 0, еÑли не иÑполÑзоваÑÑ */
                      unsigned short advised_hashlevel; /* 0, еÑли не иÑполÑзоваÑÑ */
                  };

              (наÑÐ¸Ð½Ð°Ñ Ñ Linux 1.1.92.)

       KDGKBMODE
              ÐолÑÑиÑÑ ÑекÑÑий Ñежим клавиаÑÑÑÑ. argp
              ÑказÑÐ²Ð°ÐµÑ Ð½Ð° ÑÑÐµÐ¹ÐºÑ Ñипа long, в коÑоÑой
              Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾Ð´Ð½Ð¾ из знаÑений:

              K_RAW         0x00
              K_XLATE       0x01
              K_MEDIUMRAW   0x02
              K_UNICODE     0x03

       KDSKBMODE
              УÑÑановиÑÑ ÑекÑÑий Ñежим клавиаÑÑÑÑ. argp
              ÑказÑÐ²Ð°ÐµÑ Ð½Ð° ÑÑÐµÐ¹ÐºÑ Ñипа long, знаÑением
              коÑоÑой Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð»Ñбое из
              пÑедÑÑавленнÑÑ ÑÑÑÑ Ñанее.

       KDGKBMETA
              ÐолÑÑиÑÑ Ñежим обÑабоÑки меÑаклавиÑ. argp
              ÑказÑÐ²Ð°ÐµÑ Ð½Ð° ÑÑÐµÐ¹ÐºÑ Ñипа long, в коÑоÑой
              Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾Ð´Ð½Ð¾ из знаÑений:

              K_METABIT     0x03   ÑÑÑановлен ÑÑаÑÑий биÑ
              K_ESCPREFIX   0x04   ÑкÑаниÑÑÑÑий пÑеÑикÑ

       KDSKBMETA
              УÑÑановиÑÑ Ñежим обÑабоÑки меÑаклавиÑ.
              argp ÑказÑÐ²Ð°ÐµÑ Ð½Ð° ÑÑÐµÐ¹ÐºÑ Ñипа long,
              знаÑением коÑоÑой Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð»Ñбое из
              пÑедÑÑавленнÑÑ ÑÑÑÑ Ñанее.

       KDGKBENT
              ÐолÑÑиÑÑ Ð¾Ð´Ð¸Ð½ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð¸Ð· ÑаблиÑÑ
              ÑÑанÑлÑÑии ÐºÐ»Ð°Ð²Ð¸Ñ (код клавиÑи Ð´Ð»Ñ ÐºÐ¾Ð´Ð°
              дейÑÑвиÑ). argp ÑказÑÐ²Ð°ÐµÑ Ð½Ð° ÑÑÑÑкÑÑÑÑ

                  struct kbentry {
                      unsigned char  kb_table;
                      unsigned char  kb_index;
                      unsigned short kb_value;
                  };

              знаÑÐµÐ½Ð¸Ñ Ð´Ð²ÑÑ Ð¿ÐµÑвÑÑ Ð¿Ð¾Ð»ÐµÐ¹ пÑедÑÑавлÑÑÑ
              Ñобой: kb_table — вÑбÑаннÑÑ ÑаблиÑÑ ÐºÐ»Ð°Ð²Ð¸Ñ (0
              <= kb_table < MAX_NR_KEYMAPS) и kb_index — код клавиÑи
              (0 <= kb_index < NR_KEYS). kb_value пÑиÑваиваеÑÑÑ
              ÑооÑвеÑÑÑвÑÑÑий код дейÑÑÐ²Ð¸Ñ Ð¸Ð»Ð¸ K_HOLE,
              еÑли Ð½ÐµÑ Ñакой клавиÑи, или K_NOSUCHMAP,
              еÑли знаÑение kb_table невеÑно.

       KDSKBENT
              СоздаÑÑ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð² ÑаблиÑе ÑÑанÑлÑÑии
              клавиÑ. argp ÑказÑÐ²Ð°ÐµÑ Ð½Ð° struct kbentry.

       KDGKBSENT
              ÐолÑÑиÑÑ Ð·Ð½Ð°Ñение ÑÑÑоки ÑÑнкÑионалÑной
              клавиÑи. argp ÑказÑÐ²Ð°ÐµÑ Ð½Ð° ÑÑÑÑкÑÑÑÑ

                  struct kbsentry {
                      unsigned char kb_func;
                      unsigned char kb_string[512];
                  };

              kb_string Ñавна (заканÑиваÑÑейÑÑ null) ÑÑÑоке,
              ÑооÑвеÑÑÑвÑÑÑей ÐºÐ¾Ð´Ñ Ð´ÐµÐ¹ÑÑвиÑ
              ÑÑнкÑионалÑной клавиÑи kb_func.

       KDSKBSENT
              СоздаÑÑ ÑÐ»ÐµÐ¼ÐµÐ½Ñ ÑÑÑоки ÑÑнкÑионалÑной
              клавиÑи. argp ÑказÑÐ²Ð°ÐµÑ Ð½Ð° struct kbsentry.

       KDGKBDIACR
              ÐолÑÑиÑÑ ÑаблиÑÑ Ð°ÐºÑенÑов из ÑдÑа. argp
              ÑказÑÐ²Ð°ÐµÑ Ð½Ð° ÑÑÑÑкÑÑÑÑ

                  struct kbdiacrs {
                      unsigned int   kb_cnt;
                      struct kbdiacr kbdiacr[256];
                  };

              где kb_cnt — ÑиÑло ÑлеменÑов маÑÑива,
              каждÑй из коÑоÑÑÑ ÑвлÑеÑÑÑ ÑÑÑÑкÑÑÑой

                  struct kbdiacr {
                      unsigned char diacr;
                      unsigned char base;
                      unsigned char result;
                  };

       KDGETKEYCODE
              ÐолÑÑиÑÑ ÑÐ»ÐµÐ¼ÐµÐ½Ñ ÑаблиÑÑ ÐºÐ¾Ð´Ð¾Ð² клавиÑ
              ÑдÑа (Ñканкод в код клавиÑи). argp
              ÑказÑÐ²Ð°ÐµÑ Ð½Ð° ÑÑÑÑкÑÑÑÑ

                  struct kbkeycode {
                      unsigned int scancode;
                      unsigned int keycode;
                  };

              keycode ÑÑÑанавливаеÑÑÑ Ð² ÑооÑвеÑÑÑвии Ñ
              заданнÑм scancode (ÑолÑко 89 <= scancode <= 255. ÐлÑ
              1 <= scancode <= 88, keycode==scancode; наÑÐ¸Ð½Ð°Ñ Ñ Linux
              1.1.63).

       KDSETKEYCODE
              ÐапиÑаÑÑ ÑÐ»ÐµÐ¼ÐµÐ½Ñ ÑаблиÑÑ ÐºÐ¾Ð´Ð¾Ð² клавиÑ
              ÑдÑа. argp ÑказÑÐ²Ð°ÐµÑ Ð½Ð° struct kbkeycode (наÑинаÑ
              Ñ Linux 1.1.63).

       KDSIGACCEPT
              ÐÑзÑваÑÑий пÑоÑеÑÑ Ð¿Ð¾ÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÑвоÑ
              гоÑовноÑÑÑ Ðº пÑиÑÐ¼Ñ Ñигнала argp, еÑли он
              генеÑиÑÑеÑÑÑ Ð½Ð°Ð¶Ð°Ñием ÑооÑвеÑÑÑвÑÑÑей
              комбинаÑии ÐºÐ»Ð°Ð²Ð¸Ñ (1 <= argp <= NSIG).
              СмоÑÑиÑе ÑÑнкÑÐ¸Ñ spawn_console() в
              linux/drivers/char/keyboard.c.

       VT_OPENQRY
              ÐолÑÑиÑÑ Ð¿ÐµÑвÑÑ Ð´Ð¾ÑÑÑпнÑÑ (не оÑкÑÑÑÑÑ)
              конÑолÑ. argp ÑказÑÐ²Ð°ÐµÑ ÑÑÐµÐ¹ÐºÑ Ñипа int,
              ÑÑÑанавливаемое знаÑение коÑоÑой
              Ñавно номеÑÑ vt (1 <= *argp <= MAX_NR_CONSOLES).

       VT_GETMODE
              СÑиÑÑÐ²Ð°ÐµÑ Ñежим акÑивного vt. argp
              ÑказÑÐ²Ð°ÐµÑ Ð½Ð° ÑÑÑÑкÑÑÑÑ

                  struct vt_mode {
                      char  mode;    /* Ñежим vt */
                      char  waitv;   /* пÑи ÑÑÑановленном; оÑÑановка пÑи запиÑи, еÑли ÑеÑминал неакÑивен */
                      short relsig;  /* поÑлаÑÑ Ñигнал пÑи оÑвобождении req */
                      short acqsig;  /* поÑлаÑÑ Ñигнал пÑи заÑваÑе */
                      short frsig;   /* не иÑполÑзÑеÑÑÑ (ÑÑÑанавливаеÑÑÑ Ð² 0) */
                  };

              коÑоÑÐ°Ñ Ð·Ð°Ð´Ð°ÑÑ Ñежим акÑивного vt.  mode
              Ð¸Ð¼ÐµÐµÑ Ð¾Ð´Ð½Ð¾ из знаÑений:

              VT_AUTO      авÑомаÑиÑеÑкое пеÑеклÑÑение vt
              VT_PROCESS   обÑабаÑÑваÑÑ ÑпÑавление пеÑеклÑÑением
              VT_ACKACQ    подÑвеÑждаÑÑий пеÑеклÑÑаÑелÑ

       VT_SETMODE
              УÑÑановиÑÑ Ñежим акÑивного vt. argp
              ÑказÑÐ²Ð°ÐµÑ Ð½Ð° struct vt_mode.

       VT_GETSTATE
              ÐолÑÑиÑÑ Ð¾Ð±ÑÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ ÑоÑÑоÑнии vt. argp
              ÑказÑÐ²Ð°ÐµÑ Ð½Ð° ÑÑÑÑкÑÑÑÑ

                  struct vt_stat {
                      unsigned short v_active;  /* акÑивнÑй vt */
                      unsigned short v_signal;  /* поÑÑлаемÑй Ñигнал */
                      unsigned short v_state;   /* биÑÐ¾Ð²Ð°Ñ Ð¼Ð°Ñка vt */
                  };

              ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ иÑполÑзÑемого vt
              ÑÑÑанавливаеÑÑÑ ÑооÑвеÑÑÑвÑÑÑий Ð±Ð¸Ñ Ð²
              поле v_state. (РвеÑÑиÑÑ Ñ 1.0 до 1.1.92).

       VT_RELDISP
              ÐÑвободиÑÑ Ð´Ð¸Ñплей.

       VT_ACTIVATE
              ÐеÑеклÑÑиÑÑÑÑ Ð½Ð° виÑÑÑалÑнÑй ÑеÑминал argp (1
              <= argp <= MAX_NR_CONSOLES).

       VT_WAITACTIVE
              ÐодождаÑÑ, пока виÑÑÑалÑнÑй ÑеÑминал argp
              не ÑÑÐ°Ð½ÐµÑ Ð°ÐºÑивнÑм.

       VT_DISALLOCATE
              ÐÑвободиÑÑ Ð¿Ð°Ð¼ÑÑÑ, вÑделеннÑÑ
              виÑÑÑалÑÐ½Ð¾Ð¼Ñ ÑеÑÐ¼Ð¸Ð½Ð°Ð»Ñ argp (наÑÐ¸Ð½Ð°Ñ Ñ Linux
              1.1.54).

       VT_RESIZE
              УÑÑановиÑÑ Ð¿ÑедÑÑавление о ÑазмеÑе
              ÑкÑана в ÑдÑе. argp ÑказÑÐ²Ð°ÐµÑ Ð½Ð° ÑÑÑÑкÑÑÑÑ

                  struct vt_sizes {
                      unsigned short v_rows;       /* колиÑеÑÑво ÑÑÑок */
                      unsigned short v_cols;       /* колиÑеÑÑво ÑÑолбÑов */
                      unsigned short v_scrollsize; /* не иÑполÑзÑеÑÑÑ */
                  };

              ÐамеÑим, ÑÑо ÑÑÐ¾Ñ Ð²Ñзов не изменÑеÑ
              видеоÑежим. СмоÑÑиÑе resizecons(8) (наÑÐ¸Ð½Ð°Ñ Ñ
              Linux 1.1.54).

       VT_RESIZEX
              УÑÑановиÑÑ Ð·Ð½Ð°Ñение ÑазлиÑнÑÑ
              паÑамеÑÑов ÑкÑана в ÑдÑе. argp ÑказÑваеÑ
              на ÑÑÑÑкÑÑÑÑ

                  struct vt_consize {
                      unsigned short v_rows;  /* колиÑеÑÑво ÑÑÑок */
                      unsigned short v_cols;  /* колиÑеÑÑво ÑÑолбÑов */
                      unsigned short v_vlin;  /* колиÑеÑÑво ÑÑÑок на ÑкÑане
                                                 в пикÑелÑÑ */
                      unsigned short v_clin;  /* колиÑеÑÑво ÑÑÑок в Ñимволе
                                                 в пикÑелÑÑ */
                      unsigned short v_vcol;  /* колиÑеÑÑво ÑÑолбÑов на ÑкÑане
                                                 в пикÑелÑÑ */
                      unsigned short v_ccol;  /* колиÑеÑÑво ÑÑолбÑов в Ñимволе
                                                 в пикÑелÑÑ */
                  };

              ÐÑÐ±Ð¾Ð¼Ñ Ð¿Ð°ÑамеÑÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÑиÑвоено
              нÑлевое знаÑение, ÑказÑваÑÑее "оÑÑавиÑÑ
              без изменений", но, еÑли задано
              неÑколÑко паÑамеÑÑов, Ñо они Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ
              ÑоглаÑованÑ. ÐÑÐ¾Ñ Ð²Ñзов не изменÑеÑ
              видеоÑежим. СмоÑÑиÑе resizecons(8) (наÑÐ¸Ð½Ð°Ñ Ñ
              Linux 1.3.3).

       ÐейÑÑвие ÑледÑÑÑÐ¸Ñ ioctl завиÑÐ¸Ñ Ð¾Ñ Ð¿ÐµÑвого
       байÑа ÑÑÑÑкÑÑÑÑ, ÑказÑваемой argp, далее
       назÑваемой subcode. ÐоÑÑÑÐ¿Ð½Ñ ÑолÑко
       ÑÑпеÑполÑзоваÑÐµÐ»Ñ Ð¸Ð»Ð¸ владелÑÑÑ ÑекÑÑего
       ÑеÑминала.

       TIOCLINUX, subcode=0
              СделаÑÑ Ð´Ð°Ð¼Ð¿ ÑкÑана. Удалено в Linux 1.1.92
              (c ÑдÑом 1.1.92 и более поздним
              иÑполÑзÑйÑе ÑÑение из /dev/vcsN или /dev/vcsaN).

       TIOCLINUX, subcode=1
              ÐолÑÑиÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ задании. Удалено
              в Linux 1.1.92.

       TIOCLINUX, subcode=2
              ÐÑоизвеÑÑи вÑделение. argp ÑказÑÐ²Ð°ÐµÑ Ð½Ð°
              ÑÑÑÑкÑÑÑÑ

                  struct {
                     char  subcode;
                     short xs, ys, xe, ye;
                     short sel_mode;
                  };

              xs и ys â наÑалÑнÑе ÑÑÐ¾Ð»Ð±ÐµÑ Ð¸ ÑÑÑока. xe и ye â
              конеÑнÑе ÑÑÐ¾Ð»Ð±ÐµÑ Ð¸ ÑÑÑока (Ñ Ð»ÐµÐ²Ð¾Ð³Ð¾
              веÑÑнего Ñгла ÑÑÑока=ÑÑолбеÑ=1). ÐнаÑение
              sel_mode Ñавно 0 Ð´Ð»Ñ Ð²ÑÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Â«Ñимвол за
              Ñимволом», 1 Ð´Ð»Ñ Ð²ÑÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Â«Ñлово за
              Ñловом» или 2 Ð´Ð»Ñ Ð²ÑÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Â«ÑÑÑоки за
              ÑÑÑокой». ÐÑделеннÑе ÑимволÑ
              подÑвеÑиваÑÑÑÑ Ð¸ ÑоÑÑанÑÑÑÑÑ Ð² ÑÑаÑиÑеÑком
              маÑÑиве sel_buffer из devices/char/console.c.

       TIOCLINUX, subcode=3
              ÐÑÑавиÑÑ Ð²Ñделение. Ð¡Ð¸Ð¼Ð²Ð¾Ð»Ñ Ð±ÑÑеÑа
              вÑÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ð¸ÑÑваÑÑÑÑ Ð² fd.

       TIOCLINUX, subcode=4
              УбÑаÑÑ Ð·Ð°ÑÑÐ°Ð²ÐºÑ (blank screen)

       TIOCLINUX, subcode=5
              УÑÑановиÑÑ ÑодеÑжимое 256-биÑной ÑаблиÑÑ
              поиÑка опÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñимволов в «word»
              Ð´Ð»Ñ Ð²ÑÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Â«Ñлово за Ñловом»
              (наÑÐ¸Ð½Ð°Ñ Ñ Linux 1.1.32).

       TIOCLINUX, subcode=6
              argp ÑказÑÐ²Ð°ÐµÑ ÑÑÐµÐ¹ÐºÑ Ñипа char, коÑоÑаÑ
              ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð·Ð½Ð°Ñение пеÑеменной
              ÑдÑа shift_state (наÑÐ¸Ð½Ð°Ñ Ñ Linux 1.1.32).

       TIOCLINUX, subcode=7
              argp ÑказÑÐ²Ð°ÐµÑ ÑÑÐµÐ¹ÐºÑ Ñипа char, коÑоÑаÑ
              ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð·Ð½Ð°Ñение пеÑеменной
              ÑдÑа report_mouse (наÑÐ¸Ð½Ð°Ñ Ñ Linux 1.1.33).

       TIOCLINUX, subcode=8
              СделаÑÑ Ð´Ð°Ð¼Ð¿ знаÑений ÑиÑÐ¸Ð½Ñ Ð¸ вÑÑоÑÑ
              ÑкÑана, позиÑии кÑÑÑоÑа и вÑÐµÑ Ð¿Ð°Ñ
              Ñимвол-аÑÑибÑÑ (ÑолÑко в веÑÑиÑÑ Ñ 1.1.67 по
              1.1.91. С ÑдÑом 1.1.92 и более поздниÑ
              веÑÑий иÑполÑзÑйÑе ÑÑение /dev/vcsa*).

       TIOCLINUX, subcode=9
              ÐоÑÑÑановиÑÑ ÑиÑÐ¸Ð½Ñ Ð¸ вÑÑоÑÑ ÑкÑана,
              позиÑÐ¸Ñ ÐºÑÑÑоÑа и вÑе паÑÑ Ñимвол-аÑÑибÑÑ
              (ÑолÑко в веÑÑиÑÑ Ñ 1.1.67 по 1.1.91. С ÑдÑом
              1.1.92 и более Ð¿Ð¾Ð·Ð´Ð½Ð¸Ñ Ð²ÐµÑÑий иÑполÑзÑйÑе
              запиÑÑ Ð² /dev/vcsa*).

       TIOCLINUX, subcode=10
              ÐбÑабоÑÑик ÑÑнкÑий ÑнеÑгоÑбеÑÐµÐ¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ
              нового Ð¿Ð¾ÐºÐ¾Ð»ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð½Ð¸ÑоÑов. Режим
              гаÑÐµÐ½Ð¸Ñ (blanking) ÑкÑана VESA ÑÑÑанавливаеÑÑÑ
              ÑавнÑм argp[1], коÑоÑÑй опÑеделÑÐµÑ Ñип
              гаÑениÑ:

              0: ÐаÑение ÑкÑана вÑклÑÑено.

              1: ТекÑÑие ÑÑÑановки ÑегиÑÑÑов
                 видеоадапÑеÑа ÑоÑÑанÑÑÑÑÑ, заÑем
                 конÑÑÐ¾Ð»Ð»ÐµÑ Ð¿ÑогÑаммиÑÑеÑÑÑ Ð½Ð°
                 оÑклÑÑение веÑÑикалÑной
                 ÑинÑÑонизаÑии. ÐÑоиÑÑÐ¾Ð´Ð¸Ñ Ð¿ÐµÑевод
                 мониÑоÑа в Ñежим «ожиданиÑ» (standby).
                 ÐÑли в мониÑоÑе еÑÑÑ ÑÐ°Ð¹Ð¼ÐµÑ Off_Mode, Ñо он
                 Ð¼Ð¾Ð¶ÐµÑ Ð² иÑоге Ñам вÑклÑÑиÑÑ Ð¿Ð¸Ñание.

              2: ТекÑÑие наÑÑÑойки ÑоÑÑанÑÑÑÑÑ, а заÑем
                 веÑÑикалÑÐ½Ð°Ñ Ð¸ гоÑизонÑалÑнаÑ
                 ÑинÑÑонизаÑии оÑклÑÑаÑÑÑÑ. ÐÑоиÑÑодиÑ
                 пеÑевод в Ñежим «вÑклÑÑен» (off). ÐÑли в
                 мониÑоÑе Ð½ÐµÑ ÑаймеÑа Off_Mode или вÑ
                 ÑоÑиÑе оÑклÑÑиÑÑ Ð¿Ð¸Ñание ÑÑÐ°Ð·Ñ Ð¶Ðµ по
                 иÑÑеÑении вÑемени blank_timer, Ñо можеÑе
                 вÑбÑаÑÑ ÑÑо знаÑение. Ðнимание: ÑаÑÑое
                 вÑклÑÑение пиÑÐ°Ð½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð²ÑедиÑÑ
                 мониÑÐ¾Ñ (наÑÐ¸Ð½Ð°Ñ Ñ Linux 1.1.76).

ÐÐÐÐÐ ÐЩÐÐÐÐÐ ÐÐÐЧÐÐÐÐ
       ÐÑи ÑÑпеÑном вÑполнении возвÑаÑаеÑÑÑ 0. Ð
       ÑлÑÑае оÑибки возвÑаÑаеÑÑÑ -1, а errno
       ÑÑÑанавливаеÑÑÑ Ð² ÑооÑвеÑÑÑвÑÑÑее знаÑение.

ÐШÐÐÐÐ
       ÐеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ errno Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑинимаÑÑ ÑледÑÑÑие
       знаÑениÑ:

       EBADF  ÐепÑавилÑнÑй ÑайловÑй деÑкÑипÑоÑ.

       EINVAL ÐепÑавилÑнÑй ÑайловÑй деÑкÑипÑÐ¾Ñ Ð¸Ð»Ð¸
              argp.

       ENOTTY ФайловÑй деÑкÑипÑÐ¾Ñ Ð½Ðµ ÑвÑзан Ñо
              ÑпеÑиалÑнÑм ÑимволÑнÑм ÑÑÑÑойÑÑвом, или
              ÑказаннÑй запÑÐ¾Ñ Ðº Ð½ÐµÐ¼Ñ Ð½ÐµÐ¿Ñименим.

       EPERM  ÐедоÑÑаÑоÑно пÑав.

ÐÐÐÐЧÐÐÐЯ
       ÐÑедÑпÑеждение: не ÑаÑÑмаÑÑивайÑе ÑÑÑ
       ÑпÑавоÑнÑÑ ÑÑÑаниÑÑ ÐºÐ°Ðº докÑменÑаÑÐ¸Ñ Ð¾ ioctl
       конÑоли Linux Ðна пÑедназнаÑена ÑолÑко длÑ
       лÑбознаÑелÑнÑÑ, как алÑÑеÑнаÑива иÑÑодномÑ
       кодÑ. Ioctl â ÑÑо внÑÑÑенние
       недокÑменÑиÑованнÑе возможноÑÑи Linux,
       коÑоÑÑе могÑÑ Ð¸Ð·Ð¼ÐµÐ½ÑÑÑÑÑ Ð±ÐµÐ· пÑедÑпÑеждениÑ.
       (Рна Ñамом деле, ÑÑа ÑÑÑаниÑа более или
       менее полно опиÑÑÐ²Ð°ÐµÑ Ð¿Ð°ÑамеÑÑÑ ÑдÑа веÑÑии
       1.1.94; они неÑколÑко оÑлиÑаÑÑÑÑ Ð¾Ñ Ð¿Ð°ÑамеÑÑов
       ÑдÑа более ÑÐ°Ð½Ð½Ð¸Ñ Ð²ÐµÑÑий.)

       ÐÑÐµÐ½Ñ ÑаÑÑо ioctl вводÑÑÑÑ Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ½Ð° междÑ
       ÑдÑом и какой-Ñо опÑеделÑнной извеÑÑной
       пÑогÑаммой (fdisk, hdparm, setserial, tunelp, loadkeys,
       selection, setfont и Ñ.д.), и Ð¸Ñ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ðµ
       изменÑеÑÑÑ Ð¿Ð¾ ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÑой пÑогÑаммÑ.

       ÐÑогÑаммÑ, иÑполÑзÑÑÑие Ñакие ioctl, не могÑÑ
       бÑÑÑ Ð¿ÐµÑенеÑÐµÐ½Ñ Ð² дÑÑгие веÑÑии UNIX, не бÑдÑÑ
       ÑабоÑаÑÑ Ð² ÑÑаÑÑÑ Ð²ÐµÑÑиÑÑ Linux и могÑÑ Ð½Ðµ ÑабоÑаÑÑ
       в бÑдÑÑÐ¸Ñ Ð²ÐµÑÑÐ¸Ñ Linux.

       ÐÑполÑзÑйÑе ÑÑнкÑии POSIX.

СÐÐТРÐТРТÐÐÐÐ
       dumpkeys(1), kbd_mode(1), loadkeys(1), mknod(1), setleds(1),
       setmetamode(1), execve(2), fcntl(2), ioperm(2), termios(3),
       console_codes(4), mt(4), sd(4), tty(4), tty_ioctl(4), ttyS(4), vcs(4),
       vcsa(4), charsets(7), mapscrn(8), resizecons(8), setfont(8)

       /usr/include/linux/kd.h, /usr/include/linux/vt.h



Linux                             2016-07-17                  CONSOLE_IOCTL(4)