Provided by:
manpages-pl_20060617-3_all 
NAZWA
lp - urzdzenia drukarek wierszowych
SK/LADNIA
#include <linux/lp.h>
KONFIGURACJA
Pliki lp[0-2] s urzdzeniami znakowymi obslugujcymi drukarki dolczone do
portow rownoleglych; numer glowny tych urzdze jest rowny 6, numer
podrzdny 0-2. Numery podrzdne odpowiadaj adresom portu rownoleglego
kolejno 0x03bc, 0x0378 and 0x0278. Zwykle prawa dostpu do plikow tych
urzdze wynosz 220 i nale do uytkownika root i grupy lp. Porty
rownolegle mog by obslugiwane zarowno przy wykorzystaniu probkowania,
jak i przerwa. Stosowanie przerwa jest zalecane gdy spodziewamy si
duego ruchu, np. wynikajcego z uywania drukarki laserowej. W przypadku
zwyklych drukarek mozaikowych wystarczajce jest probkowanie.
Standardowym trybem obslugi portu jest probkowanie.
OPIS
Urzdzenia lp obsluguj nastpujce wywolania funkcji ioctl(2):
int ioctl(int fd, LPTIME, int arg)
Ustawia okres przez jaki sterownik jest upiony, zanim powtornie
sprawdzi stan drukarki w sytuacji, gdy bufor drukarki zdaje si
by wypelnionym do arg. Jeli posiadamy szybk drukark moemy
zmniejszy ten parametr. Jeli drukarka jest wolna, naley zwikszy
ten parametr. Jest to liczba okrelajca czas w setnych czciach
sekundy, warto domylna wynosi 2, co oznacza 0,02 s. Parametr ten
ma wplyw jedynie w trybie probkowania.
int ioctl(int fd, LPCHAR, int arg)
Ustawia maksymaln liczb iteracji aktywnego oczekiwania (busy-
wait), jakie wykonuje sterownik probkujcy czekajc a drukarka
bdzie gotowa na otrzymywanie znakow do arg. Jeli drukowanie
odbywa si zbyt wolno naley zwikszy t liczb; jeli system za
bardzo zwalnia - naley j zmniejszy. Standardow wartoci tego
parametru jest 1000. Parametr ma wplyw na sterownik jedynie w
trybie probkowania.
int ioctl(int fd, LPABORT, int arg)
Jeli parametr arg jest rowny 0, wtedy sterownik drukarki bdzie
powtarzal operacj po wystpieniu bldu; w przeciwmym wypadku
przerwie w dzialanie. Standardow wartoci tego parametru jest 0.
int ioctl(int fd, LPABORTOPEN, int arg)
Jeli arg jest rowny 0, funkcja open(2) zostanie przerwana po
wystpieniu bldu; w przeciwnym wypadku bld zostanie zignorowany.
Standardowe zachowanie polega na ignorowaniu bldow.
int ioctl(int fd, LPCAREFUL, int arg)
Jeli arg jest rowny 0, wtedy wymaga si aby sygnaly out-of-paper,
offline oraz sygnaly bldow byly puste (false) we wszystkich
operacjach zapisu, w przeciwnym wypadku s ignorowane. Ustawienie
standardowe polega na ignorowaniu bldow.
int ioctl(int fd, LPWAIT, int arg)
Ustawia na arg liczb iteracji aktywnego oczekiwania (busy-wait)
przed sprobkowaniem, czy drukarka zaakceptowala wlanie zapisany
znak oraz liczb iteracji, ktore naley przeczeka przed kolejnym
probkowaniem. Specyfikacje okrelaj ten czas jako 0.5
mikrosekundy, lecz dowiadczenie wykazalo, e oponienie
spowodowane wykonaniem kodu jest ju wystarczajce. Z tego powodu
wartoci domyln dla tego ustawienia jest 0. Jest ono
wykorzystywane w sterowniku zarowno w trybie probkowania, jak i
w trybie przerwa.
int ioctl(int fd, LPSETIRQ, int arg)
To wywolanie funkcji ioctl() wymaga uprawnie administratora.
Funkcja pobiera argument typu int zawierajcy nowe przerwanie
IRQ. Skutekiem ubocznym jest inicjalizacja drukarki. Gdy arg
jest zerem, to stosowany bdzie sterownik z probkowaniem; jest to
rownoczenie zachowanie domylne.
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. Poszczegolne bity
maj nastpujce znaczenie:
LP_PBUSY odwrocony sygnal zajtoci, aktywny w stanie
wysokim
LP_PACK niezmienione potwierdzenie wejcia, aktywny
w stanie niskim
LP_POUTPA niezmieniony sygnal braku papieru, aktywny
w stanie wysokim
LP_PSELECD niezmieniony sygnal wyboru, aktywny w stanie
wysokim
LP_PERRORP niezmieniony sygnal bldu, aktywny w stanie
niskim
Znaczenia sygnalow naley szuka w dokumentacji drukarki. Naley
pamita, e dla niektorych drukarek ustawiane mog by te
nieudokumentowane tu bity.
int ioctl(int fd, LPRESET)
Inicjalizuje drukark. Nie stosuje si adnych parametrow.
PLIKI
/dev/lp*
AUTORZY
Sterownik drukarki zostal napisany przez Jima Weiganda i Linusa
Torvaldsa. Poniej zostal on ulepszony przez Michaela K. Johnsona.
Oprogramowanie przerwa wykonal Nigel Gamble. Zmodularyzowal go Alan
Cox. LPCAREFUL, LPABORT, LPGETSTATUS dodal Chris Metcalf.
ZOBACZ TAKE
mknod(1), chown(1), chmod(1), tunelp(8), lpcntl(8)
INFORMACJE O T/LUMACZENIU
Powysze tlumaczenie pochodzi z nieistniejcego ju Projektu Tlumaczenia
Manuali i moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji,
prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.
1995-01-15 LP(4)