printcap(5) 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" Ta NULL Ta nazwa pliku rozliczeniowego
"br    num     nonejeśli lp jest tty, ustawia prędkość
transmisji"
( funkcja ioctl(2)
"cf     str" Ta NULL Ta filtr danych cifplot
"df   str" Ta NULL Ta filtr danych tex
( format DVI
"fc     num     0       jeśli lp jest tty, czyści bity flag"
(sgtty.h )
"ff  str" Ta So \f Sc Ta łańcuch do wysłania dla wysuwu strony
"foboolfalsedrukuje wysuw strony przy otwarciu urządzenia"
"fsnum0jak `fc', ale ustawia bity"
"gfstr" Ta NULL Ta 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"
"ifstr" Ta NULL Ta nazwa wejściowego filtru tekstowego wykonującego rozliczanie
"lfstr" Ta /dev/console Ta nazwa pliku, w którym rejestrowane są błędy
"lostr" Ta lock Ta nazwa pliku blokującego
"lpstr" Ta /dev/lp Ta nazwa urządzenie otwieranego jako wyjście
"mxnum1000maksymalny rozmiar pliku (w blokach"
BUFSIZ), zero = bez ograniczeń
"ndstr" Ta NULL Ta następny katalog z listą kolejek (niezaimplementowane)
"nfstr" Ta NULL Ta filtr danych ditroff (device independent troff)
"ofstr" Ta NULL Ta nazwa wyjściowego programu filtrującego
"pcnum200cena za stopę lub stronę w setnych centów"
"plnum66długość strony (w wierszach)"
"pwnum132szerokość strony (w znakach)"
"pxnum0szerokość strony w pikselach (poziomo)"
"pynum0długość strony w pikselach (pionowo)"
"rfstr" Ta NULL Ta filtr dla drukowania plików tekstowych typu
FORTRAN-u
"rgstr" Ta NULL Ta grupa zastrzeżona. Tylko jej członkowie mają dozwolony dostęp
"rmstr" Ta NULL Ta nazwa maszyny dla drukarki zdalnej
"rpstr``lp''argument nazwy drukarki zdalnej"
"rsboolfalseogranicza możliwych zdalnych użytkowników do posiadających konta lokalne"
"rwboolfalseotwiera urządzenie druku do odczytu i zapisu"
"sbboolfalsekrótki nagłówek (tylko jeden wiersz)"
"scboolfalseeliminuje druk wielokrotnych kopii"
"sdstr" Ta /var/spool/lpd Ta katalog buforowania wydruków
"sfboolfalsezaniechanie wysuwu strony"
"shboolfalsezaniechanie nagłówkowej strony rozdzielającej"
"ststr" Ta status Ta nazwa pliku statusu
"tfstr" Ta NULL Ta filtr danych troff (cat fotonaświetlarki)
"trstr" Ta NULL Ta łańcuch końcowy do wydruku po opróżnieniu kolejki
"vfstr" Ta NULL Ta 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 ] -w szerokość -l długość -i wcię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 -x szerokość -y dł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 lpNs*) 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.

HISTORIA

Format pliku pojawił się w BSD 4.2

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.