Provided by: manpages-pl_20060617-2_all bug

NAZWA

       konsolowe ioctl'e - funkcje ioctl konsoli i konsoli wirtualnych

OPIS

       Przedstawione  poniżej  argumenty  funkcji  ioctl()  są specyficzne dla
       Linuksa. Wymagają trzeciego parametru, nazywanego tu argp.

       KDGETLED
              Pobiranie stanu diod LED. argp wskazuje  na  zmienną  typu  long
              int.  Trzy  najmniej  znaczące bity *argp wskazują aktualny stan
              diod wg schematu:

                  LED_CAP       0x04   dioda caps lock
                  LEC_NUM       0x02   dioda num lock
                  LED_SCR       0x01   dioda scroll lock

       KDSETLED
              Ustienie diod LED. Diody są ustawiane  odpowiednio  do  wartości
              trzech  najmniej znaczących bitów argp. Jednakże jeśli ustawiony
              jest  najbardziej  znaczacy  bit,  stan  diod  wraca  do   stanu
              normalnego: odzwierciedla stan funkcji klawiatury caps lock, num
              lock i scroll lock.

       W jądrach przed 1.1.54 diody odzwierciedlały  jedynie  stan  znaczników
       klawiatury,  a  ioctl  KDGETLED/KDSETLED  zmieniały  również  stan tych
       znaczników.  Od wersji 1.1.54 diody mogą wyświetlać dowolną informację,
       lecz  standardowo  wskazują  stan  znaczników  klawiatury.   Do  zmiany
       znaczników klawiatury służą dwa następne wywołania funkcji ioctl.

       KDGKBLED
              Pobranie  wartości  znaczników  klawiatury:  CapsLock,  NumLock,
              ScrollLock  (znaczników,  nie  stanu  diod).  argp  wskazuje  na
              zmienną  typu  char,  do  której  zostaną  przepisabne  wartości
              znaczników.   Najniższe  trzy  bity  (maska 0x7) odzwierciedlają
              stan znaczników, a trzy najniższe bity następnego  bajtu  (maska
              0x70)  zawierają  domyślne  ustawienie  znaczników.  (Od  wersji
              1.1.54.)

       KDSKBLED
              Ustawienie wartości znaczników  klawiatury:  CapsLock,  NumLock,
              ScrollLock  (znaczników,  nie stanu diod). argp zawiera pożądany
              stan znaczników.  Trzy najniższe bity (maska 0x7) zawierają stan
              znaczników,  a trzy najniższe bity następnego bajtu (maska 0x70)
              zawierają domyślne ustawienie znaczników.  (Od wersji 1.1.54.)

       KDGKBTYPE
              Pobiranie   typ   klawiatury.   Przekazuje    wartość    KB_101,
              zdefiniowaną jako 0x02;

       KDADDIO
              Dodanie   portu   we/wy   jako  poprawnego.  Rownoważne  funkcji
              ioperm(arg,1,1).

       KDDELIO
              Usunięcie portu we/wy  z  listy  poprawnych  portów.  Równoważne
              funkcji ioperm(arg,1,0).

       KDENABIO
              Włączenie  dostępu  do portów we/wy karty graficznej. Równoważne
              wywołaniu ioperm(0x3b4, 0x3df-0x3b4+1, 1).

       KDDISABIO
              Wyłączenie dostępu do portów we/wy karty graficznej.  Równoważne
              wywołaniu ioperm(0x3b4, 0x3df-0x3b4+1, 0).

       KDSETMODE
              Włączenie trybu tekstowego/graficznego. argp przyjmuje wartość:

                  KD_TEXT       0x00
                  KD_GRAPHICS   0x01

       KDGETMODE
              Pobranie  informacji  o  ustawionym  trybie: tekstowy/graficzny.
              argp wskazuje na zmienną typu long, której zostanie nadana jedna
              z podanych wyżej wartości.

       KDMKTONE
              Wygenerowanie  dźwięku  o  określonej długości.  Niższe 16 bitów
              argp określa czas wyrażony w cyklach zegara, a wyższe  16  bitów
              podaje  czas  trwania  w milisekundach.  Jeśli czas trwania jest
              równy  zeru,  dźwięk   zostaje   wyłączony.    Sterowanie   jest
              przekazywane natychmiast.  Na przyklad, argp = (125<<16) + 0x637
              określa dźwięk zwykle skojarzony ze znakiem Ctrl-G.  (Od  wersji
              0.99pl1; nie działa w 2.1.49-50.)

       KIOCSOUND
              Włączenie  lub  wyłączenie generowanie dźwięków. Niższe 16 bitów
              argp  określa  czas  trwania  w  cyklach  zegara  (tzn.  argp  =
              1193180/częstostliwość).  Jeśli  argp = 0 wówczas dźwiek zostaje
              wyłączony. W każdym z przypadków  sterowanie  jest  przekazywane
              natychmiast.

       GIO_CMAP
              Pobranie  z  jądra  aktualnie  obowiązującej  mapy kolorów. argp
              wskazuje na 48-bajtową tablicę. (Od wersji 1.3.3)

       PIO_CMAP
              Zmiana domyślnej mapy kolorów trybu tekstowego. argp wskazuje na
              48-bajtową  tablicę, która zawiera kolejno wartości Red, Green i
              Blue dla  dostępnych  16  kolotów  ekranu:  0  brak,  255  pełna
              intensywność.   Domyślnymi  kolorami  są,  w kolejności: czarny,
              ciemnoczerwony    ciemnozielony,    brązowy,    ciemnoniebieski,
              ciemnopurpurowy,     ciemny     niebieskozielony,    jasnoszary,
              ciemnoszary, jasnoczerwony, jasnozielony, żółty, jasnoniebieski,
              jasnopurpurowy,  jasny  niebieskozielony  i  biały.   (Od wersji
              1.3.3.)

       GIO_FONT
              Pobranie 256-znakowego fontu ekranowego w rozszerzonym formacie.
              argp wskazuje na tablicę 8192 bajtów. Jeśli aktualnie załadowany
              font jest jednym z fontów 512-bajtowych lub  jeśli  konsola  nie
              jest w trybie tekstowym, funkcja powraca z kodem błędu EINVAL.

       GIO_FONTX
              Pobranie  fontu  ekranowego  i związanych z nim informacji. argp
              wskazuje  na  strukturę  typu  struct   consolefontdesc   (patrz
              PIO_FONTX).  Przed  wywołaniem  funkcji,  polu charcount powinna
              zostać nadana wrtość równa maksymalnej liczbie znaków, jakie się
              zmieszczą  w buforze wskazywanym przez chardata. Po zakończeniu,
              charcount i charheight są wypełniane  odpowiednimi  informacjami
              dotyczącymi  aktualnie  załadowanego  fontu,  a tablica chardata
              zawiera informacje o foncie, o ile przekazana wartość  charcount
              wskazywała wystarczającą ilość miejsca; w przeciwnym razie bufor
              nie jest modyfikowany, a zmiennej errno  nadawana  jest  wartość
              ENOMEM. (Od wersji 1.3.1.)

       PIO_FONT
              Ustawia   256-znakowy   font   ekranowy.  Jest  on  ładowany  do
              generatora znaków karty EGA/VGA. argp wskazuje 8192 bajtową mapę
              z  32  bajtami  na jeden znak.  W przypadku fontów 8xN (0 < N <=
              32) wykorzystywane jest tylko pierwszych N bajtów. Ta  procedura
              unieważnia jednocześnie odwzorowanie Unicode.

       PIO_FONTX
              Ustawia  font ekranowy i związane z nim informacje na temat jego
              prezentacji.  argp wskazuje strukturę

              struct consolefontdesc {
                      u_short charcount;      /* liczba znaków w foncie (256 lub 512) */
                      u_short charheight;     /* liiczba wierszy w foncie (1-32) */
                      char *chardata;         /* dane fontu w postaci rozszerzonej */
              };

              Jeśli   jest   to   konieczne,   ekran    zostanie    odpowienio
              przeskalowany,  a  do  odpowiednich  procesów  przesłany  będzie
              sygnał   SIGWINCH.    Ta   procedura   unieważnia   jednocześnie
              odwzorowanie Unicode.

       PIO_FONTRESET
              Inicjalizuje  czcionkę  ekranową, rozmiar i odwzorowanie Unicode
              do wartości ustawionych podczas startu  sytemu.  argp  nie  jest
              używany,  lecz powinien mieć wartość NULL, aby zapewnić zgodność
              z przyszłymi wersjami jądra. (Od wersji 1.3.28.)

       GIO_SCRNMAP
              Pobranie z jądra odwzorowania ekranu. argp wskazuje na obszar  o
              rozmiarze  E_TABSZ, który jest wypełniany danymi fontu służącymi
              do wyświetlenia poszczególnych znaków. W przypadku gdy aktualnie
              załadowany  font  zawiera  więcej  niż  256 znaków, ta procedura
              zwraca raczej bezwartościowe informacje.

       GIO_UNISCRNMAP
              Pobranie z jądra pełnego odwzorowania Unicode. argp wskazuje  na
              obszar  o  rozmiarze  E_TABSZ*sizeof(unsigned short), który jest
              wypełniany  kodami  Unicode  odpowiednimi   dla   poszczególnych
              znaków.  Specjalny  zestaw  kodów Unicode, rozpoczynający się od
              U+F000, służy do reprezentacji  odwzorowania  ,,bezpośrednio  na
              font'' (,,direct to font''). (Od wersji 1.3.1.)

       PIO_SCRNMAP
              Załadowanie   do   jądra   ,,definiowanej   przez  użytkownika''
              (czwartej)  tabeli  odwzorowującej  bajty  na   symbole   ekranu
              konsoli, argp wskazuje na obszar o rozmiarze E_TABSZ.

       PIO_UNISCRNMAP
              Załadowanie   do   jądra   ,,definiowanej   przez  użytkownika''
              (czwartej) tabeli odwzorowującej bajty na kody Unicode, które są
              z  kolei  tłumaczone  na  symbole  ekranowe  zgodnie z aktualnie
              załadowaną    tabelą    odwzorowania    Unicode-na-font.      Do
              bezpośredniego   odwzorowania   na  symbole  ekranowe  mogą  być
              wykorzystywane specjalne  kody  Unicode  rozpoczynające  się  od
              U+F000. (Od wersji 1.3.1.)

       GIO_UNIMAP
              Pobranie   z   jądra  mapy  odwzorowania  Unicode-na-font.  argp
              wskazuje na strukturę

              struct unimapdesc {
                      u_short entry_ct;
                      struct unipair *entries;
              };

              w której entries wskazują na tablicę struktur

              struct unipair {
                      u_short unicode;
                      u_short fontpos;
              };

              (Od wersji 1.1.92.)

       PIO_UNIMAP
              Załadowanie do jądra  mapy  odwzorowania  Unicode-na-font.  argp
              wskazuje   na  strukturę  typu  struct  unimapdesc.  (Od  wersji
              1.1.92.)

       PIO_UNIMAPCLR
              Wyczyszczenie  tabeli,  jeśli  możliwe  proponuje   algorytm   z
              mieszaniem (hash).

              struct unimapinit {
                      u_short advised_hashsize;  /* 0 przy braku opinii */
                      u_short advised_hashstep;  /* 0 przy braku opinii */
                      u_short advised_hashlevel; /* 0 przy braku opinii */
              };

              (Od wersji 1.1.92.)

       KDGKBMODE
              Pobranie  aktualnego  stanu klawiatury. argp wskazuje na zmienną
              typu  long,  której  zostanie  nadana  wartość  równa  jednej  z
              poniższych stałych:

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

       KDSKBMODE
              Ustawienie aktualnego stanu klawiatury. argp wskazuje na zmienną
              typu long o wartości równej jednej z powyższych stałych.

       KDGKBMETA
              Pobranie trybu obsługi klawisza meta. argp wskazuje  na  zmienną
              typu  long,  której  zostanie  nadana  wartość  równa  jednej  z
              poniższych stałych:

                  K_METABIT     0x03   ustawienie najwyższego bitu
                  K_ESCPREFIX   0x04   kod przedrostkowy ucieczki

       KDSKBMETA
              Ustawienie trybu obsługi klawisza meta. argp wskazuje na zmienną
              typu long o wartości równej jednej z powyższych stałych:

       KDGKBENT
              Pobranie  jednej  pozycji  z  tabeli  translacji  klawiszy  (kod
              klawisza (keycode) na kod akcji). argp wskazuje na strukturę

              struct kbentry {
                  u_char kb_table;
                  u_char kb_index;
                  u_short kb_value;
              };

              której pierwsze dwa pola mają  nadane  wartości  o  następującym
              znaczeniu:  kb_table  określa  rodzaj  tabeli  (0  <= kb_table <
              MAX_NR_KEYMAPS), a kb_index oznacza kod klawisza (keycode) (0 <=
              kb_index  <  NR_KEYS).   Polu kb_value zostaje nadany odpowiedni
              kod akcji, K_HOLE, jeśli nie ma takiego klawisza, a K_NOSUCHMAP,
              jeśli kb_table jest niepoprawne.

       KDSKBENT
              Nadanie wartości jednej pozycji tabeli translacji. argp wskazuje
              na strukturę typu struct kbentry.

       KDGKBSENT
              Pobranie łańcucha znaków  przypisanego  klawiszowi  funkcyjnemu.
              argp wskazuje na strukturę

              struct kbsentry {
                  u_char kb_func;
                  u_char kb_string[512];
              };

              kb_string  przypisywany  jest  zakończony  znakiem  NUL  łańcuch
              znaków,  odpowiadający  kodowi   akcji   kb_func-tego   klawisza
              funkcyjnego.

       KDSKBSENT
              Przypisuje  klawiszowi funkcyjnemu łańcuch znaków. argp wskazuje
              na strukturę typu struct kbsentry.

       KDGKBDIACR
              Odczytanie tabeli akcentów jądra. argp wskazuje na strukturę

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

              gdzie kb_cnt oznacza liczbę pozycji w tablicy, z  których  każda
              jest strukturą

              struct kbdiacr { u_char diacr, base, result; };

       KDGETKEYCODE
              Odczytanie  pozycji  z  tabeli  kodów  klawiszy  (scan  code  to
              keycode).  argp wskazuje na strukturę

              struct kbkeycode { unsigned int scancode, keycode; };

              keycode otrzymuje wartość  odpowiednią  dla  podanego  scancode.
              (Tylko  z  zakresu  89 <= scancode <= 255.  Dla 1 <= scancode <=
              88, jest keycode==scancode.)  (Od wersji 1.1.63.)

       KDSETKEYCODE
              Zapisanie pozycji w tabeli kodów klawiszy jądra.  argp  wskazuje
              na strukture typu struct kbkeycode. (Od wersji 1.1.63.)

       KDSIGACCEPT
              Proces  wywołujący  tę  funkcję  wskazuje  swą chęć do przyjęcia
              sygnału  argp,  generowanego   przez   wciśnięcie   odpowiedniej
              kombinacji   klawiszy.    (1   <=   argp   <=   NSIG).    (Patrz
              spawn_console() w linux/drivers/char/keyboard.c.)

       VT_OPENQRY
              Przekazanie pierwszej dostępnej (ale nie otwartej) konsoli. argp
              wskazuje  na  zmienną  typu  int, której zostanie nadana wartość
              równa   numerowi   konsoli   wirtualnej   (1   <=    *argp    <=
              MAX_NR_CONSOLES).

       VT_GETMODE
              Pobranie  trybu  aktywnej  konsoli  wirtualnej. argp wskazuje na
              struktuę

              struct vt_mode {
                  char mode;     /* tryb konsoli wirtualnej */
                  char waitv;    /* jeśli ustawione, czeka przy zapisie,
                                          jeśli nie jest aktywna */
                  short relsig;  /* sygnał w przypadku zwolnienia */
                  short acqsig;  /* sygnał w przypadku uzyskania */
                  short frsig;   /* niewykorzystane (równe 0) */
              };

              ..., w której przekazywany jest  tryb  pracy  aktualnej  konsoli
              wirtualnej (vt).  mode może przyjmować następujące wartości:

                  VT_AUTO       autoamtyczne przełączanie vt
                  VT_PROCESS    przełączanie sterowane przez proces
                  VT_ACKACQ     potwierdzanie przełączenia

       VT_SETMODE
              Ustawienie  trybu  aktywnej konsoli wirtualnej. argp wskazuje na
              strukturę typu struct vt_mode.

       VT_GETSTATE
              Ustawienie globalne informacje o stanie konsoli wirtualnej. argp
              wskazuje na strukturę

              struct vt_stat {
                  ushort v_active;  /* aktywna konsola wirtualna */
                  ushort v_signal;  /* sygnał do wysłania */
                  ushort v_state;   /* maska bitowa konsoli wirt. */
              };

              Dla  każej  aktualnie używanej konsoli ustawiany jest odpowiedni
              bit w polu v_state. (Jądra od 1.0 do 1.1.92.)

       VT_RELDISP
              Zwolnienie ekranu.

       VT_ACTIVATE
              Przełączenie na konsolę argp (1 <= argp <= MAX_NR_CONSOLES).

       VT_WAITACTIVE
              Oczekiwanie na aktywację konsoli wirtualnej argp.

       VT_DISALLOCATE
              Zwolnienie pamięci przydzielonej dla  konsoli  wirtualnej  argp.
              (Od wersji 1.1.54.)

       VT_RESIZE
              Zmiana  wybrażenia  jądra  o rozmiarach ekranu. argp wskazuje na
              strukturę

              struct vt_sizes {
                  ushort v_rows;       /* liczba wierszy  */
                  ushort v_cols;       /* liczba kolumn */
                  ushort v_scrollsize; /* aktualnie nie używane */
              };

              Należy pamiętać, że nie zmienia to trybu karty graficznej  Patrz
              resizecons(8). (Od wersji 1.1.54.)

       VT_RESIZEX
              Zmiana  wyobrażenia  jądra  o  różnych  parametrach ekranu. argp
              wskazuje na strukturę

              struct vt_consize {
                      ushort v_rows;          /* liczba wierszy */
                      ushort v_cols;          /* liczba kolumn */
                      ushort v_vlin;          /* liczba wierszy pikseli na ekranie */
                      ushort v_clin;          /* liczba wierszy pikseli na znak */
                      ushort v_vcol;          /* liczba kolumn pikseli na ekranie */
                      ushort v_ccol;          /* liczba kolumn pikseli na znak */
              };

              Każdy z parametrów może mieć wartość zerową,  co  oznacza  ,,nie
              zmieniać'',  lecz  jeśli  jednoczęsnie  zmienianych  jest  kilka
              parametrów, muszą one być ze sobą zgodne.  Należy  pamiętać,  że
              nie  zmienia  to trybu karty graficznej Patrz resizecons(8). (Od
              wersji 1.3.3.)

       Działanie poniższych funkcji ioctl jest zależne od wartości  pierwszego
       bajtu struktury wskazywanej przez argp, tutaj oznaczanego jako subcode.
       Mogą z nich korzystać  jedynie  administrator  i  właściciel  aktualnej
       konsoli.

       TIOCLINUX, subcode=0
              Zrzut   ekranu   Zniknęlo   w   1.1.92.   (Dla  jądra  1.1.92  i
              późniejszych, obecnie należy zamiast tego czytać z /dev/vcsN lub
              /dev/vcsaN.)

       TIOCLINUX, subcode=1
              Pobranie inforamcji o zadaniu. Zniknęło w 1.1.92.

       TIOCLINUX, subcode=2
              Ustawienie zaznaczenia.  argp wskazuje na strukturę

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

              xs  i ys oznaczają początkową kolumnę i wiersz xe i ye oznaczają
              końcową kolumnę  i  wiersz.   (Górny  lewy  róg  ma  współrzędne
              wiersz=kolumna=1.)    sel_mode   jest   równe   0   w  przypadku
              zaznaczania znak po znaku, 1 - słowo po słowie, lub 2  -  wiersz
              po   wierszu.   Zaznaczone  znaki  ekranowe  są  podświetlone  i
              zachowane  w  statycznej  tablicy  sel_buffer  zdefiniowanej   w
              devices/char/console.c.

       TIOCLINUX, subcode=3
              Wstawienie   zanaczenia.    Znaki   znajdujące   się  w  buforze
              zaznaczenia są zapisywane do fd.

       TIOCLINUX, subcode=4
              Odtworzenie ekranu po wygaszeniu.

       TIOCLINUX, subcode=5
              Wypełnienie 256-bitowej tablicy definującej znaki w "słowie" dla
              zaznaczania "słowo-po-słowie". (Od wersji 1.1.32.)

       TIOCLINUX, subcode=6
              argp wskazuje na zmienną typu char, której nadawana jest wartość
              zmiennej jądra shift_state. (Od wersji 1.1.32.)

       TIOCLINUX, subcode=7
              argp wskazuje na zmienną typu char, której nadawana jest wartość
              zmiennej jądra report_mouse. (Od wersji 1.1.33.)

       TIOCLINUX, subcode=8
              Zrzucenie  informacji  o  szerokości i wysokości ekranu, pozycji
              kursora i  wszystkich  parach  znak-atrybuty.  (Tylko  jądra  od
              1.1.67   do   1.1.91.   Począwszy  od  1.1.92  można  przecztyać
              wszystkie te inforamcje z /dev/vcsa*.)

       TIOCLINUX, subcode=9
              Odtworzenie rozmiaru ekranu, położenia kursora i wszystkich  par
              znak-atrybut.   (Tylko  jądra od 1.1.67 do 1.1.91.  Począwszy od
              jądra 1.1.92, można to wykonać przez zapis do /dev/vcsa*.)

       TIOCLINUX, subcode=10
              Obsługuje funkcję oszczędzania energii (Power Saving)  monitorów
              nowej  generacji.  Tryb wygaszania ekranu VESA przyjmuje wartość
              argp[1], co powoduje  sterowanie  wygaszaniem  ekranu  w  sposób
              następujący:

                  0: Wygaszanie ekranu jest wyłączone.

                  1:  Aktualne  zawartości  rejestrów karty graficznej zostają
              zachowane, następnie sterownik zostaje zaprogramowany  tak,  aby
              wyłączył    impulsy   synchronizacji   pionowej.   Powoduje   to
              przestawienie  monitora  w  tryb  oczekiwania  (standby).  Jeśli
              monitor posiada licznik czasowy Off_Mode, wtedy może ewentualnie
              sam wyłączyć zasilanie.

                  2:  Zostają   zachowane   aktualne   ustawienia,   następnie
              wyłączane  są  zarówno  impulsy synchronizacji zarówno pionowej,
              jak i poziomej. Powoduje to wyłaczenie  monitora  (tryb  "off").
              Opcję  tę  należy  wybrać  jeśli  monitor  nie  posiada licznika
              czasowego Off_Mode lub jeśli chcemy  aby  monitor  wyłączył  się
              natychmiast.  (Ostrzeenei:  Częste  wyłączanie  zasilania  może
              uszkodzić monitor.)

              (Od wersji 1.1.76.)

WARTOŚĆ ZWRACANA

       Po pomyślnym zakończeniu zwracane jest 0. Po błędzie zwracane jest -1 i
       ustawiana jest zmienna errno.

BŁĘDY

       errno może przyjmować następujące wartości:

       EBADF  deskryptor pliku jest nieprawidłowy.

       ENOTTY deskryptor  pliku  nie jest skojarzony ze specjalnym urządzeniem
              znakowym lub podane polecenie nie ma do niego zastosowania.

       EINVAL deskryptor pliku lub argp jest niepoprawny.

       EPERM  naruszenie uprawnień.

OSTRZEŻENIE

       Nie należy traktować tej strony podręcznika  jak  dokumentacji  funkcji
       ioctl  dla  konsoli Linuksa. Jest ona przeznaczona dla ciekawskich jako
       alternatywa   wobec   czytania   zródeł   jądra.   Funkcje   ioctl   są
       niudokumentowanymi  funkcjami  wewnętrznymi  Linuksa,  które  mogą ulec
       zmianie bez ostrzeżenia (i rzeczywiście, ten dokument  odzwierciedla  w
       sposób  mniej lub bardziej dokładny sytuację dla jądra w wersji 1.1.94;
       istnieje wiele  mniej  i  bardziej  znaczących  różnic  w  stosunku  do
       poprzednich wersji.)

       Bardzo często wywołania funkcji ioctl są wprowadzane w celu komunikacji
       pomiędzy jądrem  i  szczególnymi,  dobrze  znanymi  programami  (fdisk,
       hdparm,  setserial,  tunelp,  loadkeys, selection, setfont itd.), i ich
       zachowanie zostanie zmienione, kiedy będzie tego wymagał któryś z  tych
       programów.

       Programy  korzystające  z tych wywołań ioctl nie będą przenośne na inne
       systemy Unix, nie będą działać poprawnie ze  starszymi  wersjami  jadra
       Linuksa, ani nie będą współpracować z przyszłymi wersjami jądra.

       Należy korzystać z funkcji zgodnych z POSIX.

ZOBACZ TAKŻE

       kbd_mode(1),    loadkeys(1),    dumpkeys(1),    mknod(1),   setleds(1),
       setmetamode(1), ioperm(2), execve(2), fcntl(2), termios(3), console(4),
       console_codes(4),  mt(4), sd(4), tty(4), ttys(4), tty_ioctl(4), vcs(4),
       vcsa(4),   charsets(7),    mapscrn(8),    setfont(8),    resizecons(8),
       /usr/include/linux/kd.h, /usr/include/linux/vt.h