PAP(8)

NAME
pap - download files to or communicate interactively with an AppleTalk network connected printer

SYNOPSIS
/usr/local/sbin/pap [ -d ] [ -p printer ] [ -s statusfile ] [ files ]

DESCRIPTION
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

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

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

FILES

.paprc
    file that contains printer name

~/.paprc
    secondary file to look in for printer name

SEE ALSO
nbp(1), pap(4), lpd(8), papstatus(8), psf(8).

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