Each print request is sent to a ``spooling daemon''
(background program) that keeps track of all the jobs.
(This information is archived in the
The daemon is created when you
start the print service.
The spooling daemon is also responsible for keeping track
of the status of the printers and slow filters;
when a printer finishes printing a job,
the daemon starts it printing another job if one is queued.
You can customize the print service by adjusting or replacing
some of the items shown in
(the numbers are keyed to the diagram).
For printers that are not represented in the terminfo database,
you can add a new entry that describes the capabilities of the printer.
``Adding a printer entry to the terminfo database''.
The print service uses the terminfo database
in two parallel capacities:
screening print requests to ensure that those accepted can be handled
by the desired printer and setting the printer so it is
ready to print the requests.
For instance, if the terminfo database does not show a printer
capable of setting a page length requested by a user,
the spooling daemon rejects the request.
On the other hand, if it does show it capable,
then the interface program uses the same information
to initialize the printer.
If you have a particularly complicated printer
or if you want to use features not provided by the print service,
change the interface script.
This script is responsible for managing the printer:
it prints the banner page, initializes the printer,
and invokes a filter to send copies of the user's files to the printer.
To provide a link between the applications used on your system
and the printers, you can add slow and fast
Each type of filter can convert a file into another form,
for example, mapping one set of escape sequences into another,
and can provide a special setup by interpreting print modes
requested by a user.
Slow filters are run separately by the spooling daemon
to avoid tying up a printer.
Fast filters are run so their output goes directly to the printer;
thus, they can exert control over the printer.