.\" -*- coding: UTF-8 -*-
'\" t
.\" Copyright (c) Michael Haardt (michael@cantor.informatik.rwth-aachen.de),
.\"     Sun Jan 15 19:16:33 1995
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\" Modified, Sun Feb 26 15:02:58 1995, faith@cs.unc.edu
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH lp 4 "5 lutego 2023 r." "Linux man\-pages 6.03" 
.SH NAZWA
lp \- urządzenia drukarek wierszowych
.SH SKŁADNIA
.nf
\fB#include <linux/lp.h>\fP
.fi
.SH KONFIGURACJA
Pliki \fBlp\fP[0\[en]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\[en]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 \fIroot\fP i grupa
\fIlp\fP. 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.
.SH OPIS
Obsługiwane są następujące wywołania funkcji \fBioctl\fP(2):
.TP 
\fBint ioctl(int \fPfd\fB, LPTIME, int \fParg\fB)\fP
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
\fIarg\fP. 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.
.TP 
\fBint ioctl(int \fPfd\fB, LPCHAR, int \fParg\fB)\fP
Ustawia na \fIargv\fP 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 \(em należy ją
zmniejszyć. Domyślną wartością tego parametru jest 1000. Parametr ma wpływ
na sterownik jedynie w trybie próbkowania.
.TP 
\fBint ioctl(int \fPfd\fB, LPABORT, int \fParg\fB)\fP
Jeśli parametr \fIarg\fP 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.
.TP 
\fBint ioctl(int \fPfd\fB, LPABORTOPEN, int \fParg\fB)\fP
Jeśli \fIarg\fP jest równy 0, funkcja \fBopen\fP(2) zostanie przerwana po
wystąpieniu błędu; w przeciwnym wypadku błąd zostanie
zignorowany. Standardowe zachowanie polega na ignorowaniu błędów.
.TP 
\fBint ioctl(int \fPfd\fB, LPCAREFUL, int \fParg\fB)\fP
Jeśli \fIarg\fP 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.
.TP 
\fBint ioctl(int \fPfd\fB, LPWAIT, int \fParg\fB)\fP
.\" FIXME . Actually, since Linux 2.2, the default is 1
Ustawia na \fIarg\fP 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ń.
.TP 
\fBint ioctl(int \fPfd\fB, LPSETIRQ, int \fParg\fB)\fP
To wywołanie funkcji \fBioctl\fP(2) wymaga uprawnień administratora. Funkcja
pobiera argument typu \fIint\fP zawierający nowe przerwanie IRQ. Skutkiem
ubocznym jest inicjacja drukarki. Gdy \fIarg\fP jest zerem, to stosowany będzie
sterownik z próbkowaniem; jest to równocześnie zachowanie domyślne.
.TP 
\fBint ioctl(int \fPfd\fB, LPGETIRQ, int *\fParg\fB)\fP
Zachowuje w parametrze \fIarg\fP aktualnie stosowane przerwanie IRQ.
.TP 
\fBint ioctl(int \fPfd\fB, LPGETSTATUS, int *\fParg\fB)\fP
Zachowuje wartość stanu portu w zmiennej \fIarg\fP.  Poszczególne bity mają
następujące znaczenie:
.TS
l l.
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
.TE
.IP
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.
.TP 
\fBint ioctl(int \fPfd\fB, LPRESET)\fP
Inicjuje drukarkę. Nie stosuje się żadnych parametrów.
.SH PLIKI
.\" .SH AUTHORS
.\" The printer driver was originally written by Jim Weigand and Linus
.\" Torvalds.
.\" It was further improved by Michael K.\& Johnson.
.\" The interrupt code was written by Nigel Gamble.
.\" Alan Cox modularized it.
.\" LPCAREFUL, LPABORT, LPGETSTATUS were added by Chris Metcalf.
\fI/dev/lp*\fP
.SH "ZOBACZ TAKŻE"
\fBchmod\fP(1), \fBchown\fP(1), \fBmknod\fP(1), \fBlpcntl\fP(8), \fBtunelp\fP(8)
.PP
.SH TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są:
Piotr Pogorzelski <piotr.pogorzelski@ippt.gov.pl>
i
Michał Kułach <michal.kulach@gmail.com>
.
.PP
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
