NAZWA
printcap — baza danych właściwości drukarek
SKŁADNIA
printcap
OPIS
Plik Printcap jest uproszczoną wersją bazy danych termcap(5) stosowaną do opisu drukarek wierszowych. System buforowania druku sięga do printcap za każdym razem, gdy jest używany, umożliwiając dynamiczne dodawanie i usuwanie drukarek. Każdy wpis w bazie danych stosowany jest do opisania jednej drukarki. Tej bazy danych nie można zastąpić inną, jak jest to możliwe w przypadku termcap, gdyż może ona zezwalać na ominięcie rozliczania kosztów.
Drukarkę domyślną jest zwykle lp, choć można zastosować zmienną środowiska PRINTER by to przesłonić. Każde narzędzie obsługi buforowania wydruków udostępnia opcję −P drukarka, pozwalającą na jawne nazwanie drukarki docelowej.
W 4.3 BSD Line Printer Spooler Manual można znaleźć pełne omówienie sposobu konfiguracji bazy danych dla danej drukarki.
WŁAŚCIWOŚCI
Opis formatu pliku znaleźć można w termcap(5).
Nazwa |
Typ |
Opis |
af |
str |
NULL | |
nazwa pliku rozliczeniowego | |||
br |
num |
none | |
jeśli lp jest tty, ustawia prędkość transmisji" (funkcja ioctl(2)) | |||
cf |
str |
NULL | |
filtr danych cifplot | |||
df |
str |
NULL | |
filtr danych tex (format DVI) | |||
fc |
num |
0 | |
jeśli lp jest tty, czyści bity flag (sgtty.h) | |||
ff |
str |
’ |
\f ’ łańcuch do wysłania dla wysuwu strony
fo bool false drukuje wysuw
strony przy otwarciu urządzenia
fs num 0 jak ’fc’, ale ustawia bity
gf str NULL filtr danych grafiki (format plot(3))
hl bool false drukuje stronę rozdzielającą
jako ostatnią
ic bool false sterownik obsługuje (nie standardowe)
ioctl do wcięcia wydruku
if str NULL nazwa wejściowego filtru tekstowego
wykonującego rozliczanie
lf str /dev/console nazwa pliku, w którym
rejestrowane są błędy
lo str lock nazwa pliku blokującego
lp str /dev/lp nazwa urządzenie otwieranego jako
wyjście
mx num 1000 maksymalny rozmiar pliku (w blokach BUFSIZ),
zero = bez ograniczeń
nd str NULL następny katalog z listą kolejek
(niezaimplementowane)
nf str NULL filtr danych ditroff (device independent troff)
of str NULL nazwa wyjściowego programu
filtrującego
pc num 200 cena za stopę lub stronę w setnych
centów
pl num 66 długość strony (w wierszach)
pw num 132 szerokość strony (w znakach)
px num 0 szerokość strony w pikselach (poziomo)
py num 0 długość strony w pikselach (pionowo)
rf str NULL filtr dla drukowania plików tekstowych
typu FORTRAN-u
rg str NULL grupa zastrzeżona. Tylko jej
członkowie mają dozwolony dostęp
rm str NULL nazwa maszyny dla drukarki zdalnej
rp str ’’lp’’ argument nazwy
drukarki zdalnej
rs bool false ogranicza możliwych zdalnych
użytkowników do posiadających konta lokalne
rw bool false otwiera urządzenie druku do odczytu i
zapisu
sb bool false krótki nagłówek (tylko
jeden wiersz)
sc bool false eliminuje druk wielokrotnych kopii
sd str /var/spool/lpd katalog buforowania
wydruków
sf bool false zaniechanie wysuwu strony
sh bool false zaniechanie nagłówkowej strony
rozdzielającej
st str status nazwa pliku statusu
tf str NULL filtr danych troff (cat fotonaświetlarki)
tr str NULL łańcuch końcowy do wydruku po
opróżnieniu kolejki
vf str NULL filtr obrazu rastrowego
Jeżeli lokalna drukarka wierszowa obsługuje wcięcia, to demon musi wiedzieć jak to wywołać.
FILTRY
Demon lpd(8a) tworzy potok filtrów by przetworzyć pliki dla rozmaitych typów drukarek. Wybrane filtry zależą od flag przesłanych do lpr(1a). Ustawienie potoku to:
p pr | if zwykły tekst + pr(1)
nic |
if |
zwykły tekst |
||
c |
cf |
cifplot |
||
d |
df |
DVI (tex) |
||
g |
gf |
plot(3) | ||
n |
nf |
ditroff |
||
f |
rf |
Fortran |
||
t |
tf |
troff |
||
v |
vf |
obraz rastrowy |
Flitr if wywoływany jest z argumentami:
if [−c] −wszerokość −ldługość −iwcięcie −n login −h host plik-rozliczeń
Flaga −c przekazywana jest tylko wtedy, gdy przy wywołaniu lpr podano flagę −l (dosłowne wysyłanie znaków sterujących). Szerokość i długość podają szerokość i długość strony (odpowiednio z pw i pl) w znakach. Parametry −n i −h określają odpowiednio: nazwę zgłoszeniową i nazwę hosta właściciela zadania. Argument plik-rozliczeń przekazywany jest z af odpowiedniej pozycji w printcap.
Jeżeli nie podano if, to zamiast tego używane jest of, z tą różnicą, że of otwierany jest tylko raz, podczas gdy if otwierany jest dla każdego poszczególnego zadania. Zatem, if jest odpowiedniejsze do wykonywania rozliczeń. of przyjmuje tylko flagi szerokość i długość.
Wszystkie pozostałe filtry wołane są jako:
filtr −xszerokość −ydługość −n login −h host plik-rozlicz
gdzie szerokość i długość przedstawiane są w pikselach, określone odpowiednio przez pozycje px i py.
Wszystkie filtry biorą stdin za plik, stdout za drukarkę, mogą zapisywać raporty albo na stderr albo wykorzystując syslog(3), i nie mogą ignorować SIGINT.
RAPORTOWANIE
Komunikaty o błędach generowane przez same programy drukarki (to jest, programy lp*) rejestrowane są przez syslog(3) używając podsystemu LPR. Komunikaty wypisywane na stderr przez któryś z filtrów wysyłane są do odpowiedniego pliku lf. Filtry mogą, oczywiście, samodzielnie wykorzystywać syslog.
Komunikaty o błędach wysyłane na konsolę mają na końcu dołączone znaki powrotu karetki i wysuwu wiersza zamiast po prostu wysuwu wiersza (LF - nowa linia.
ZOBACZ TAKŻE
termcap(5), lpc(8a), lpd(8a), pac(8a), lpr(1a), lpq(1a), lprm(1a)
4.3 BSD Line Printer Spooler Manual .
HISTORIA
Format pliku printcap pojawił się w 4.2BSD.
INFORMACJE O TŁUMACZENIU
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i może nie być aktualne. W razie zauważenia różnic między powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony podręcznika.