lp - urządzenia drukarek wierszowych
lp[0–2] are character devices for the parallel line
printers; they have major number 6 and minor number 0–2. The minor
numbers correspond to the printer port base addresses 0x03bc, 0x0378, and
0x0278. Usually they have mode 220 and are owned by user root and
group lp. You can use printer ports either with polling or with
interrupts. Interrupts are recommended when high traffic is expected, for
example, for laser printers. For typical dot matrix printers, polling will
usually be enough. The default is polling.
Obsługiwane są następujące
wywołania funkcji ioctl(2):
- int ioctl(int
fd, LPTIME, int arg)
- Sets the amount of time that the driver sleeps before rechecking the
printer when the printer's buffer appears to be filled to arg. If
you have a fast printer, decrease this number; if you have a slow printer,
then increase it. This is in hundredths of a second, the default 2 being
0.02 seconds. It influences only the polling driver.
- int ioctl(int
fd, LPCHAR, int arg)
- Sets the maximum number of busy-wait iterations which the polling driver
does while waiting for the printer to get ready for receiving a character
to arg. If printing is too slow, increase this number; if the
system gets too slow, decrease this number. The default is 1000. It
influences only the polling driver.
- 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)
- If arg is 0, then the out-of-paper, offline, and error signals are
required to be false on all writes, otherwise they are ignored. The
default is to ignore them.
- 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 |
LP_PACK |
niezmienione potwierdzenie wejścia |
LP_POUTPA |
niezmieniony sygnał braku papieru |
LP_PSELECD |
niezmieniony sygnał wyboru |
LP_PERRORP |
niezmieniony sygnał błędu |
- 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.
Angielska wersja tej strony pochodzi z wydania 5.10 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/.
Autorami polskiego tłumaczenia niniejszej strony
podręcznika są: Piotr Pogorzelski
<piotr.pogorzelski@ippt.gov.pl> i Michał Kułach
<michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną
dokumentacją. Bliższe informacje o warunkach licencji
można uzyskać zapoznając się z
GNU General
Public License w wersji 3 lub nowszej. Nie przyjmuje się
ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika
prosimy zgłaszać na adres
manpages-pl-list@lists.sourceforge.net.