Table of Contents
This document is a collection of notes about the lpr/lpd printing protocol described in RFC 1179. RFC 1179 is not an Internet standard, rather was an attempt to describe current practice. As a result it does not contain as rigourous a description of the protocol as a true Internet standard would. This document provides information not included in RFC 1179 or which is not clearly explained there. It also provides information about vendor extensions to the RFC 1179 protocol.
The queue files lines that begin with ``H'' and ``P'' are present in every job. They identify the node from which the job is printed and the name by which the user is known on that node.
If the user wants a banner page, then the ``J'', ``C'', and ``L'' lines will be present. BSD lpr ommits these lines when the user uses the lpr -h option.
The ``J'' line indicates the name of the job for the banner page and the lpq listing. This is norally composed of a list of the names of the files printed, but the user may override this by using the lpr -J switch. The ``C'' normally is the name of the node from which the job was sent, but the user may substitute an arbitrary string by using the lpr -C switch. The ``L'' line is the name of the user. The value is appearently redundant. (It is the same as the value for ``P''.)
If the lpr -p switch was used then a ``T'' line will be included. This gives the title for pr to print at the top of each page.
The width of the page will be indicated by a ``W'' line.
The left hand indent will be indicated by a ``I'' line.
If the user should be notified by email when the job is done, then there will be a ``M'' line. In jobs from BSD lpr, the paramter will be the same as the one in the ``P'' line.
OSF/1 may include additional queue file lines. They are as follows:
This line is generated when the lpr -I switch is used. No restrictions are placed on the argument to the -I switch. The lpr man page mentions a number of likely bin names including "upper", "lower", "cassette", "envelope_feeder", and "manual".
This line is generated when the lpr -o switch is used. No restrictions are placed on the arguments which may be used with the -o switch, however the lpr man page says it will be an integer value.
This line is generated when the lpr -O switch is used. According to the lpr man page, the value may be either "portrait" or "landscape", however no restriction is actually placed on the value.
This line is generated whenever the lpr -K switch is used. Though the -K switch accepts a number of alias values, the only values which will appear in the queue file are "one", "two", "tumble", "one_sided_duplex", "one_sided_tumble", and "two_sided_simplex". (The last three print in the mode described by the left hand part of the name but retain the layout appropriate for the right hand part.)
This line is used when the lpr -N switch is used. The value must be an integer between 0 and 100 inclusive.
Solaris systems (at least since version 2.6) may include additional queue file lines. They include the following:
Description missing.
Description missing.
Description missing.
Description missing.
Description missing.
Description missing.
Description missing.
Each file is indicated by a line which has a lower case letter as a type code at its begining and has the name of the queue data file as the rest of the line. If the file is to be printed multiple times then this line is repeated the required number of times.
After that comes an ``N'' line which indicates what name the file origionally had.
Finally, there is a ``U'' line which repeates the name of the file.