pap
is used to connect and send files to an AppleTalk connected printer using
the Apple Printer Access Protocol (PAP).
pap
can also be used to conduct an interactive session with a PostScript
printer. When
pap
starts execution, it first tries obtain the status of the printer. It
then tries to open a session with the printer using PAP, and
then downloads the
files
to the printer.
If no
files
are given on the command line,
pap
begins reading from standard input.
If no printer is specified on the command line,
pap
looks for a file called
.paprc
in the current directory and reads it to obtain the name of a printer. The
.paprc
file should contain a single line of the form
object:type@zone
where each of
object,
:type,
and
@zone
are optional.
type
and
zone
must be proceeded by
`:'
and
`@'
respectively. Lines the begin with a
`#'
are ignored.
type
and
zone
default to
LaserWriter
and the zone of the local host, respectively.
Note that
pap
is designed to be useful as a communication filter for sending
lpd(8)
spooled print jobs to AppleTalk connected printers. See
psf(8)
for hints on how to use it this way.
OPTIONS
-pprinter
Connect to the printer named
printer
(do not consult the
.paprc
file to find a printer name). The syntax for
printer
is the same as discussed above for the
.paprc
file.
-sstatusfile
Update the file called
statusfile
to contain the most recent status message from the printer.
pap
gets the status from the printer when it is waiting for the printer to
process input. The
statusfile
will contain a single line terminated with a newline. This is useful
when
pap
is invoked by
lpd(8)
within
lpd's
spool directory.
-c
Take cuts. The PAP protocol specified a simple queuing procedure, such
that the clients tell the printer how long they've been waiting to
print. This option causes
pap
to lie about how long it's been waiting.
-e
Send stdout to stderr. This causes information that the printer
returns to be recorded as error output for lpd.
-E
Don't wait for EOF from the printer. This option is useful for
printers which don't implement PAP correctly. In a correct
implementation, the client side should wait for the printer to return
EOF before closing the connection. Some clients don't wait, and hence
some printers have related bugs in their implementation.
-w
Wait for the printer's status to contain the word "waiting" before
sending the job. This is to defeat printer-side spool available on HP
IV and V printers.
pap
will send a
quit
command to exit interactive mode when it gets an end-of-file
on a tty. If the user has already typed
quit
themselves, the
quit
that
pap
sends is spurious and will cause a PostScript error. The fix would be for
pap
to watch what the user types and look for quit, but this is impractical.