console_ioctl

CONSOLE_IOCTL(4)        PodrÄcznik programisty Linuksa        CONSOLE_IOCTL(4)



NAZWA
       console_ioctl - funkcje ioctl konsoli i konsoli wirtualnych

OPIS
       Przedstawione poniżej żÄdania ioctl(2) sÄ specyficzne dla Linuksa.
       WymagajÄ trzeciego parametru, nazywanego tu argp.

       KDGETLED
              Pobranie stanu diod LED. argp wskazuje na zmiennÄ typu char.
              Trzy najmniej znaczÄce bity *argp wskazujÄ aktualny stan diod wg
              schematu:

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

       KDSETLED
              Ustawienie diod LED. Diody sÄ ustawiane odpowiednio do wartoÅci
              trzech najmniej znaczÄcych bitów argp. Jednakże jeÅli
              ustawiony jest najbardziej znaczÄcy 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Ä przepisane 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
              Pobranie typu klawiatury. Przekazuje wartoÅÄ KB_101,
              zdefiniowanÄ jako 0x02;

       KDADDIO
              Dodanie portu we/wy jako poprawnego. Równoważ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 przykÅad, 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ÄstotliwoÅÄ). JeÅli argp = 0 wówczas dźwiÄk 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 koloró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-znakowej czcionki ekranowej w rozszerzonym
              formacie. argp wskazuje na tablicÄ 8192 bajtów. JeÅli obecnie
              zaÅadowana czcionka jest jednÄ z czcionek 512-bajtowych lub
              jeÅli konsola nie jest w trybie tekstowym, funkcja zwraca kod
              bÅÄdu EINVAL.

       GIO_FONTX
              Pobranie czcionki ekranowej i zwiÄzanych z niÄ informacji. argp
              wskazuje na strukturÄ typu struct consolefontdesc (patrz
              PIO_FONTX). Przed wywoÅaniem funkcji, polu charcount powinna
              zostaÄ nadana wartoÅÄ 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Åadowanej czcionki, 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-znakowÄ czcionkÄ ekranowÄ. Åaduje czcionkÄ do
              generatora znaków karty EGA/VGA. argp wskazuje na 8192-bajtowÄ
              mapÄ z 32 bajtami na jeden znak. W przypadku czcionek 8xN (0 < N
              <= 32) wykorzystywane jest tylko pierwszych N bajtów. Ta
              procedura unieważnia jednoczeÅnie odwzorowanie Unicode.

       PIO_FONTX
              Ustawia czcionkÄ ekranowÄ i zwiÄzane z niÄ informacje na temat
              jej prezentacji. argp wskazuje na

                  struct consolefontdesc {
                      unsigned short charcount;  /* znaków w czcionce
                                                    (256 lub 512) */
                      unsigned short charheight; /* wierszy skanowania
                                                    w znaku (1-32) */
                      char          *chardata;   /* dane czcionki w
                                                    postaci rozszerzonej */
                  };

              JeÅli jest to konieczne, ekran zostanie odpowiednio
              przeskalowany, a do odpowiednich procesów przesÅany bÄdzie
              sygnaÅ SIGWINCH.  Ta procedura unieważnia jednoczeÅnie
              odwzorowanie Unicode. (Od wersji 1.3.1).

       PIO_FONTRESET
              Inicjuje 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 Linuksa. (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 czcionki
              sÅużÄcymi do wyÅwietlenia poszczególnych znaków. W przypadku
              gdy obecnie zaÅadowana czcionka zawiera wiÄcej niż 256 znaków,
              ta procedura najprawdopodobniej zwróci 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
              czcionkÄ" ("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-czcionkÄ. 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-czcionkÄ. argp
              wskazuje na strukturÄ

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

              w której entries wskazuje na tablicÄ struktur

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

              (Od wersji 1.1.92.)

       PIO_UNIMAP
              ZaÅadowanie do jÄdra mapy odwzorowania Unicode-na-czcionkÄ. argp
              wskazuje na strukturÄ struct unimapdesc. (Od wersji 1.1.92)

       PIO_UNIMAPCLR
              Wyczyszczenie tabeli, jeÅli możliwe proponuje algorytm z
              mieszaniem (hash). argp wskazuje na

                  struct unimapinit {
                      unsigned short advised_hashsize;  /* 0 przy braku opinii */
                      unsigned short advised_hashstep;  /* 0 przy braku opinii */
                      unsigned 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   ustawia najbardziej znaczÄcy bit
              K_ESCPREFIX   0x04   prefix 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 {
                      unsigned char  kb_table;
                      unsigned char  kb_index;
                      unsigned 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 lub K_HOLE, jeÅli nie ma takiego klawisza, albo
              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 {
                      unsigned char kb_func;
                      unsigned char kb_string[512];
                  };

              Do kb_string przypisywany jest (zakoÅczony znakiem NULL) Å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 {
                      unsigned char diacr;
                      unsigned char base;
                      unsigned char result;
                  };

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

                  struct kbkeycode {
                      unsigned int scancode;
                      unsigned int 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 strukturÄ 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
              strukturÄ

                  struct vt_mode {
                      char  mode;    /* tryb konsoli wirtualnej */
                      char  waitv;   /* jeÅli ustawione, czeka przy zapisie
                                        jeÅli konsola wirt. 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 bieżÄcej konsoli
              wirtualnej. mode może przyjmowaÄ nastÄpujÄce wartoÅci:

              VT_AUTO      automatyczne przeÅÄczanie vt
              VT_PROCESS   przeÅÄczanie kontrolowane przez procesy
              VT_ACKACQ    potwierdzanie przeÅÄczenia

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

       VT_GETSTATE
              Pobranie globalnych informacji o stanie konsoli wirtualnej. argp
              wskazuje na strukturÄ

                  struct vt_stat {
                      unsigned short v_active;  /* aktywna konsola wirtualna */
                      unsigned short v_signal;  /* sygnaÅ do wysÅania */
                      unsigned short v_state;   /* maska bitowa konsoli wirt. */
                  };
                  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żdej 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 wyobrażenia jÄdra o rozmiarach ekranu. argp wskazuje na
              strukturÄ

                  struct vt_sizes {
                      unsigned short v_rows;       /* liczba wierszy */
                      unsigned short v_cols;       /* liczba kolumn */
                      unsigned short v_scrollsize; /* już nieuż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 {
                      unsigned short v_rows;  /* liczba wierszy */
                      unsigned short v_cols;  /* liczba kolumn */
                      unsigned short v_vlin;  /* liczba wierszy pikseli
                                                 na ekranie */
                      unsigned short v_clin;  /* liczba wierszy pikseli
                                                 na znak */
                      unsigned short v_vcol;  /* liczba kolumn pikseli
                                                 na ekranie */
                      unsigned short v_ccol;  /* liczba kolumn pikseli
                                                 na znak */
                  };

              Każdy z parametrów może mieÄ wartoÅÄ zerowÄ, co oznacza "nie
              zmieniaÄ", lecz jeÅli jednoczeÅnie 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
       bieżÄcego terminala.

       TIOCLINUX, subcode=0
              Zrzut ekranu. ZniknÄÅo w 1.1.92. (W jÄdrach 1.1.92 i
              późniejszych, należy zamiast tego czytaÄ z /dev/vcsN lub
              /dev/vcsaN).

       TIOCLINUX, subcode=1
              Pobranie informacji o zadaniu. ZniknÄÅo w wersji 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 zaznaczenia. 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 definiujÄ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 przeczytaÄ
              wszystkie te informacje 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ÅÄczenie 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. (Ostrzeżenie: CzÄste wyÅÄczanie zasilania może
                 uszkodziÄ monitor.)

WARTOÅÄ ZWRACANA
       Funkcja zwraca 0, jeżeli zakoÅczy siÄ pomyÅlnie. JeÅli wystÄpi bÅÄd
       zwraca -1 i ustawia 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  NiewystarczajÄce uprawnienia.

UWAGI
       Ostrzeżenie: Nie należy traktowaÄ tej strony podrÄcznika jak
       dokumentacji funkcji ioctl konsoli Linuksa. Strona jest przeznaczona
       dla ciekawskich jako alternatywa wobec czytania źródeÅ jÄdra. Funkcje
       ioctl sÄ nieudokumentowanymi 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 jÄdra
       Linuksa, ani nie bÄdÄ wspóÅpracowaÄ z przyszÅymi wersjami jÄdra.

       Należy korzystaÄ z funkcji zgodnych z POSIX.

ZOBACZ TAKŻE
       dumpkeys(1), kbd_mode(1), loadkeys(1), mknod(1), setleds(1),
       setmetamode(1), execve(2), fcntl(2), ioperm(2), termios(3), console(4),
       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

O STRONIE
       Angielska wersja tej strony pochodzi z wydania 4.05 projektu Linux
       man-pages. Opis projektu, informacje dotyczÄce zgÅaszania bÅÄdów oraz
       najnowszÄ wersjÄ oryginaÅu można znaleÅºÄ pod adresem
       https://www.kernel.org/doc/man-pages/.

TÅUMACZENIE
       Autorami polskiego tÅumaczenia niniejszej strony podrÄcznika man sÄ:
       Piotr Pogorzelski (PTM) <piotr.pogorzelski@ippt.gov.pl>, Andrzej M.
       Krzysztofowicz (PTM) <ankry@green.mf.pg.gda.pl> i MichaÅ KuÅach
       <michal.kulach@gmail.com>.

       Polskie tÅumaczenie jest czÄÅciÄ projektu manpages-pl; uwagi, pomoc,
       zgÅaszanie bÅÄdów na stronie http://sourceforge.net/projects/manpages-
       pl/. Jest zgodne z wersjÄ  4.05 oryginaÅu.



Linux                             28-02-2009                  CONSOLE_IOCTL(4)