Comments on RFC 1179

David Chappell

7 May 2001


Table of Contents

Introduction
Who's Job?
Banner Page
Text File Processing
Notification
OSF Extensions
Solaris Extensions
The Files

Introduction

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.

Who's Job?

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.

Banner Page

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''.)

Text File Processing

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.

Notification

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 Extensions

OSF/1 may include additional queue file lines. They are as follows:

< -- input tray

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

> -- output tray

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.

O -- orientation

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.

K -- duplex

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

G -- N-Up

This line is used when the lpr -N switch is used. The value must be an integer between 0 and 100 inclusive.

Solaris Extensions

Solaris systems (at least since version 2.6) may include additional queue file lines. They include the following:

5f -- form required (lp -f switch)

Description missing.

5H -- special handling (lp -H switch)

Description missing.

O -- lp -o options

Description missing.

5P -- page list (lp -P switch)

Description missing.

5S -- character set (lp -S switch)

Description missing.

5T -- System V content type (lp -T switch)

Description missing.

5y -- "Modes" (lp -y switch)

Description missing.

The Files

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.