Provided by: manpages-pl_0.6-2_all bug

NAZWA

       lp - urządzenia drukarek wierszowych

SKŁADNIA

       #include <linux/lp.h>

KONFIGURACJA

       Pliki  lp[0–2]  są  urządzeniami znakowymi obsługującymi drukarki dołączone do portów równoległych; numer
       główny tych urządzeń jest równy 6, numer podrzędny 0–2.  Numery  podrzędne  odpowiadają  adresom  bazowym
       portu  drukarki: 0x03bc, 0x0378 i 0x0278. Zwykle prawa dostępu do plików tych urządzeń wynoszą 220, a ich
       właścicielem jest użytkownik  root  i  grupa  lp.  Porty  drukarki  mogą  być  obsługiwane  zarówno  przy
       wykorzystaniu  próbkowania, jak i przerwań. Stosowanie przerwań jest zalecane, gdy spodziewamy się dużego
       ruchu, np. wynikającego  z  używania  drukarki  laserowej.  W  przypadku  zwykłych  drukarek  mozaikowych
       wystarczające jest próbkowanie. Domyślnym trybem obsługi portu jest próbkowanie.

OPIS

       Obsługiwane są następujące wywołania funkcji ioctl(2):

       int ioctl(int fd, LPTIME, int arg)
              Ustawia  okres,  przez  jaki  sterownik  jest  uśpiony,  zanim  powtórnie sprawdzi stan drukarki w
              sytuacji, gdy bufor drukarki zdaje się być wypełnionym do arg. Jeśli drukarka jest  szybka,  można
              zmniejszyć ten parametr.  Jeśli drukarka jest wolna, należy zwiększyć ten parametr. Jest to liczba
              określająca  czas w setnych częściach sekundy, wartość domyślna wynosi 2, co oznacza 0,02 sekundy.
              Parametr ten wpływa jedynie na tryb próbkowania.

       int ioctl(int fd, LPCHAR, int arg)
              Ustawia na argv maksymalną liczbę  iteracji  aktywnego  oczekiwania  (busy-wait),  jakie  wykonuje
              sterownik  próbkujący czekając, aż drukarka będzie gotowa na otrzymywanie znaków. Jeśli drukowanie
              odbywa się zbyt wolno należy zwiększyć tę liczbę; jeśli system  za  bardzo  zwalnia  —  należy  ją
              zmniejszyć.  Domyślną wartością tego parametru jest 1000. Parametr ma wpływ na sterownik jedynie w
              trybie próbkowania.

       int ioctl(int fd, LPABORT, int arg)
              Jeśli parametr arg jest równy 0, wtedy sterownik drukarki będzie powtarzał operację po wystąpieniu
              błędu; w przeciwnym wypadku przerwie działanie. Standardową wartością tego parametru jest 0.

       int ioctl(int fd, LPABORTOPEN, int arg)
              Jeśli arg jest równy 0, funkcja open(2) zostanie przerwana  po  wystąpieniu  błędu;  w  przeciwnym
              wypadku błąd zostanie zignorowany. Standardowe zachowanie polega na ignorowaniu błędów.

       int ioctl(int fd, LPCAREFUL, int arg)
              Jeśli  arg  jest  równy  0,  wtedy  wymaga się, aby sygnały "out-of-paper", "offline" oraz sygnały
              błędów były puste (false) we wszystkich operacjach zapisu, w  przeciwnym  wypadku  są  ignorowane.
              Domyślnie są ignorowane.

       int ioctl(int fd, LPWAIT, int arg)
              Ustawia na arg liczbę iteracji aktywnego oczekiwania (busy-wait) przed spróbkowaniem, czy drukarka
              zaakceptowała  właśnie zapisany znak, oraz liczbę iteracji, które należy przeczekać przed kolejnym
              próbkowaniem. Specyfikacje określają ten czas jako 0.5 mikrosekundy, lecz doświadczenie  wykazało,
              że opóźnienie spowodowane wykonaniem kodu jest już wystarczające. Z tego powodu wartością domyślną
              dla tego ustawienia jest 0. Jest ono wykorzystywane w sterowniku zarówno w trybie próbkowania, jak
              i w trybie przerwań.

       int ioctl(int fd, LPSETIRQ, int arg)
              To  wywołanie  funkcji ioctl(2) wymaga uprawnień administratora. Funkcja pobiera argument typu int
              zawierający nowe przerwanie IRQ. Skutkiem ubocznym jest inicjacja drukarki. Gdy arg jest zerem, to
              stosowany będzie sterownik z próbkowaniem; jest to równocześnie zachowanie domyślne.

       int ioctl(int fd, LPGETIRQ, int *arg)
              Zachowuje w parametrze arg aktualnie stosowane przerwanie IRQ.

       int ioctl(int fd, LPGETSTATUS, int *arg)
              Zachowuje wartość stanu portu w zmiennej arg.  Poszczególne bity mają następujące znaczenie:
              LP_PBUSY     odwrócony sygnał zajętości,
                           aktywny w stanie wysokim
              LP_PACK      niezmienione potwierdzenie wejścia,
                           aktywny w stanie niskim
              LP_POUTPA    niezmieniony sygnał braku papieru,
                           aktywny w stanie wysokim
              LP_PSELECD   niezmieniony sygnał wyboru,
                           aktywny w stanie wysokim
              LP_PERRORP   niezmieniony sygnał błędu,
                           aktywny w stanie niskim

              Znaczenia sygnałów należy szukać w dokumentacji  drukarki.  Należy  pamiętać,  że  dla  niektórych
              drukarek ustawiane mogą być też nieudokumentowane tu bity.

       int ioctl(int fd, LPRESET)
              Inicjuje drukarkę. Nie stosuje się żadnych parametrów.

PLIKI

       /dev/lp*

ZOBACZ TAKŻE

       chmod(1), chown(1), mknod(1), lpcntl(8), tunelp(8)

O STRONIE

       Angielska  wersja  tej strony pochodzi z wydania 3.71 projektu Linux man-pages. Opis projektu, informacje
       dotyczące  zgłaszania   błędów,   oraz   najnowszą   wersję   oryginału   można   znaleźć   pod   adresem
       http://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> 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ą  3.71 oryginału.

Linux                                              15-01-1995                                              LP(4)