PHANDLER(1) Impressario PHANDLER(1)NAMEphandler - generic parallel printer driver
SYNOPSISphandler-P printername [ options ] [ inputfile ]
Where [ options ] consist of one or more of:
[ -e ]
[ -s ]
[ -w ]
[ -D ]
[ -L logfilename ]
[ -R ]
[ -B buffersize ]
[ -I ]
[ -u ]
[ -S papersize ]
[ -d ]
[ -K ]
DESCRIPTION
The phandler driver is a generic driver for printers attached to the
built-in (/dev/plp*) parallel port. phandler uses libpod(3) functions to
keep the printer object database (POD) current, provide feedback on any
engine errors encountered, and to serve as an example program for
developers. The source for phandler is part of the Impressario
Developer's Kit.
The driver opens and maintains the POD files for the specified printer.
The file <printername>.config contains the detailed information on the
printer's capabilities, <printername>.status contains the information on
operational status of the printer, and <printername>.log contains the
information on print job history. For more information on printer
database files refer to the libpod(3) man page.
While phandler has the port open, it performs an advisory file lock on
the parallel port, thereby ensuring that only one phandler accesses the
printer at a time.
phandler also creates a child process to update the POD printer status
database. This child is killed automatically upon the parent's death.
USAGEphandler assumes that its input is coming from standard input
(stdin) unless a filename is specified after any and all
command line options.
Page 1
PHANDLER(1) Impressario PHANDLER(1)-P printername
specifies the printer with which phandler is communicating.
printername is the name under which the System VR3 spooler
recognizes the printer, as given on the lp(1) command line.
This option is required.
-e specifies that driver should exit immediately on fault. By
default, the driver waits indefinitely for faults to clear,
retrying any errors every several seconds, where the exact
number of seconds is defined in the POD config database entry
error_retry_wait.
-s specifies that the driver should exit after ascertaining
printer status and updating the POD status file. If an error
is encountered, however, phandler will block unless the -e
switch is given as well. If a quick status update is what you
want, invoke phandler with both the -s and the -e options to
insure that phandler exits promptly.
-w Specify this flag to suppress warning messages in the printer
status file. By default, warning messages such as "low on ink"
or other non-fatal errors are written to the printer status
file.
-D Turns on debugging information. Four levels of debugging
information are supported: none, coarse detail, medium detail,
and fine detail. These correspond to 0, 1, 2, and 3 or more -D
switches given on the command line. That is, multiple -D
options given on the command line result in progressively more
detailed debugging information.
-L logfilename
specifies a filename to which error and debug information
should be appended. If this option is not specified, error and
debug information is appended to phandler's standard error
(stderr), which is generally redirected by the System VR3
spooler to /var/spool/lp/log.
-R specifies that the parallel port should be reset immediately
after opening it. This may have detrimental effects on some
printers, which may go offline for extended periods of time,
and therefore the -R option should be used with care.
Page 2
PHANDLER(1) Impressario PHANDLER(1)-B buffersize
specifies a positive number of bytes to buffer on each read and
write. Setting the buffersize to 1 (one) results in single-
byte reads and writes, which can be very inefficient. It is
recommended that if this option is specified, the buffersize be
an integral multiple of the system block size.
-I if specified enables sensing of EOI pin on the parallel port
(which is normally ignored).
-u if specified the parallel port status is ignored. Only valid
when -s is specified.
-S papersize
if specified the POD database will be updated with the paper
size. Valid paper sizes are listed in /usr/include/pod.h.
-d if specified, the driver will send a Control-D character at end
of job. Some printers use this to determine that the end of
the input stream has been reached.
-K Ignore Interrupts. If specified, phandler will ignore
interrupts and will continue to send output to the parallel
port until end-of-file is encountered on standard input. If
phandler receives a job cancellation (SIGTERM) signal it will
continue to read the input until end of file is reached and
will discard the input (it will not be sent to the printer).
This means that if a printer is unable to accept data,
cancelling the job may not kill the phandler process
immediately. To do so, you must explicitly kill the process
with SIGKILL (9), or reboot the machine. If a problem is
detected on the parallel port then phandler will continue to
run until the problem clears (this prevents subsequent print
jobs from being sent to the parallel port until the problem is
cleared).
SEE ALSOlp(1), lpadmin(1), libpod(3), libspool(3), printstatus(1), printpanel(1).
Page 3