13.5. Job Files

A print job consists of a control file and one or more data files. RFC1179 specifies the general format of these files and how they are to be transfered between servers. LPRng has extended the contents of the control files and the transfer protocol to provide a more powerful set of features, but has extensive provisions for backwards compatibility with non-LPRng software. A sample control file is shown below:

Hh4.private
J/tmp/file1 /tmp/file2
CA
Lpapowell
Ppapowell
fdfA002230h4.private
N/tmp/file1
UdfA002230h4.private
fdfB002230h4.private
N/tmp/file2
UdfB002230h4.private

The first part of the control file contains general information generated by the lpr or other spooling program. The information lines start with an uppercase letter or digit. Some other spooling systems also start information lines with various punctuation marks such as underscores (_) or periods (.).

Following this are a set of entries about each of the various files to be printed. These lines start with a lower case letter, followed by the print file name. The lower case letter is the format to be used to process the file. See print file formats for more information about its use.

Table 13-1. Control File Lines

Key Meaning Generated By
Key Meaning Generated By
A identifier * LPRng internal
C class lpr -C class
D date lpr
H originating host lpr
I indent lpr -i indent
J jobname lpr -J jobname (default: list of files)
L bnrname lpr -U username
N filename (see text)
M mailname lpr -m mailname
P logname lpr
Q queuename lpr -Q
R accntname lpr -R accntname
S slinkdata * lpr
T prtitle lpr -T prtitle
U unlnkfile (see text)
W width lpr -w width
Z zopts * lpr -Z zopts
1 font1 lpr -1 font1
2 font2 lpr -2 font2
3 font3 lpr -3 font3
4 font4 lpr -4 font4

The entries marked with * are used only by LPRng. N and U lines are associated with a print file. The N line is the original name of the print file. By default, LPRng places this line before the corresponding data file. You can use the nline_after_file option to have LPRng place the N line after the data file line. The U line originally was used to indicate that the named file was to be unlinked after printing. This information is now ignored by LPRng. These lines are always grouped with a print file entry.

The names of control and data files follow a very strict pattern. Control files have the format cfXnumberhost, where X is an upper case letter, number is (usually) a 3 digit number, and host is the host name. RFC1179 restricted the total length of the control file name to 32 characters; LPRng has a much looser limit.

Data file names must follow the same pattern as the control file name, and have the format dfXnumberhost. The X can be in the range A-Za-z, allowing at most 52 data files for a job. The number and host must be identical to the corresponding control file.

By convention, LPRng uses the X of the control file name to set a priority for the job. A job with control file name cfA... will have lower format than a job with format cfB..., and so forth. The lpr program uses the first letter of the class name or an explicit priority value to set the letter value. If none of these are specified, then the default_priority value from the configuration or printcap entry is used.

The job number is usually a 3 digit value. However, in systems where a large number of jobs are spooled and need to be kept for printing at scheduled times, this can lead to problems. The longnumber option will use 6 digit job numbers. This must be used with care when operating with non-LPRng software.