Manpages

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.