PRINTCAP(5)

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 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.