NOME
printcap — database delle capacità delle stampanti
SINTASSI
printcap
DESCRIZIONE
La funzione Printcap è una versione semplificata del database termcap(5) usato per descrivere le stampanti. Il sistema di spooling accede al file printcap ogni volta che viene usato, permettendo l’inserimento e l’eliminazione dinamica di stampanti. Ogni voce nel database è usata per descrivere una stampante. Questo database non può essere sostituito, come avviene per termcap, perché permetterebbe di sfuggire alla registrazione contabile.
La stampante predefinita è normalmente lp, ma la variabile di ambiente PRINTER può essere usata per modificarla. Ogni utilità di spooling supporta un’opzione, −P stampante, che permette di nominare esplicitamente una stampante di destinazione.
Fate riferimento al 4.3 BSD Line Printer Spooler Manual per una trattazione completa su come configurare il database per una data stampante.
CAPACITÀ
Fate riferimento a termcap(5) per una descrizione del formato del file.
Nome |
Tipo |
Descrizione |
af |
str |
NULL | |
nome del file di registrazione contabile | |||
br |
num |
none | |
se lp è un tty, imposta il baud rate (chiamando ioctl(2)) | |||
cf |
str |
NULL | |
filtro dati da cifplot | |||
df |
str |
NULL | |
filtro dati da tex (DVI format) | |||
fc |
num |
0 | |
se lp è un tty, pulisce i flag bit (sgtty.h) | |||
ff |
str |
’ |
\f ’ stringa da inviare per il form feed
fo bool false invia un form
feed quando il dispositivo viene aperto
fs num 0 come ’fc’ ma imposta i bit
gf str NULL filtro per dati grafici formato (plot(3))
hl bool false stampa la pagina di intestazione per ultima
ic bool false driver di supporto ioctl (non standard) per
indentare le stampe
if str NULL nome del filtro di testo che si occupa della
registrazione contabile
lf str /dev/console nome del file di log
lo str lock nome del file di lock
lp str /dev/lp nome del dispositivo da aprire per
l’output
mx num 1000 dimensione massima dei file (in BUFSIZ blocchi),
zero = illimitata
nd str NULL prossima directory per la lista delle code (non
implementato)
nf str NULL filtro dati da ditroff (device independent
troff)
of str NULL nome del programma che filtra l’output
pc num 200 prezzo per piedi o pagine in centinaia di
centesimi
pl num 66 lunghezza di pagina (in linee)
pw num 132 larghezza di pagina (in caratteri)
px num 0 larghezza di pagina in pixel (orizzontali)
py num 0 lunghezza di pagina in pixel (verticali)
rf str NULL filtro per stampare file di testo in stile
FORTRAN
rg str NULL gruppo ristretto. Solo i membri del gruppo sono
autorizzati
rm str NULL nome della macchina per stampe remote
rp str ’’lp’’ argomento nome della
stampante remota
rs bool false restringe gli utenti remoti a quelli con
account locale
rw bool false apre il dispositivo di stampa in
lettura/scrittura
sb bool false piccolo banner (una sola riga)
sc bool false evita le copie multiple
sd str /var/spool/lpd directory di spool
sf bool false evita i form feed
sh bool false evita la stampa della pagina di intestazione
st str stato nome del file di stato
tf str NULL filtro dati da troff (cat phototypesetter)
tr str NULL stringa da stampare quando la coda si svuota
vf str NULL filtro per immagini raster
Se il driver locale della stampante supporta l’indentazione, il demone deve sapere come invocarla.
FILTRI
Il demone lpd(8) crea una pipeline di filtri per processare file per vari tipi di stampanti. I filtri selezionati dipendono dai flag passati a lpr(1). L’impostazione della pipeline è :
p pr | se testo normale + pr(1)
none |
if |
testo normale |
||
c |
cf |
cifplot |
||
d |
df |
DVI (tex) |
||
g |
gf |
plot(3) | ||
n |
nf |
ditroff |
||
f |
rf |
Fortran |
||
t |
tf |
troff |
||
v |
vf |
immagine raster |
Il filtro if viene invocato con questi argomenti:
if [−c] −wlarghezza −llunghezza −iindentazione −n login −h host file-di-registrazione-contabile
Il flag −c viene passato solo se è stato specificato il flag −l (passa i caratteri di controllo alla lettera) a lpr. Larghezza e lunghezza specificano la larghezza e la lunghezza della pagina (da pw e pl rispettivamente) in caratteri. I parametri −n e −h specificano rispettivamente il nome di login e il nome dell’host del proprietario del job. Il parametro file-di-registrazione-contabile viene passato dalla voce af di printcap.
Se non viene specificato if , al suo posto viene usato of , con la differenza che of è aperto solo una volta, mentre if è aperto da ogni singolo job. Quindi if è meglio indicato per gestire la contabilità. A of sono passati solo i flag larghezza e lunghezza.
Tutti gli altri filtri sono chiamati come :
filtro −xlarghezza −ylunghezza −n login −h host file-di-registrazione-contabile
dove larghezza e lunghezza sono rappresentati in pixel, specificati rispettivamente dalle voci px e py.
Tutti i filtri prendono stdin come file, stdout come stampante, possono inviare il log a stderr o usare syslog(3) e non devono ignorare SIGINT.
MESSAGGI DI LOG
I messaggi di errore generati direttamente dai programmi di gestione della stampante (che sono i programmi lp*) sono gestiti da syslog(3) usando la facility LPR. I messaggi inviati a stderr da uno dei filtri sono spediti al corrispondente file lf. I filtri possono, certamente, usare loro stessi syslog.
I messaggi di errore inviati alla console hanno un ritorno di carrello e un ritorno di linea aggiunti in fondo, al posto del solo ritorno di linea.
VEDERE ANCHE
termcap(5), lpc(8), lpd(8), pac(8), lpr(1), lpq(1), lprm(1).
STORIA
Il formato del file printcap è apparso in 4.2BSD.