Whole document tree
    

Whole document tree

Job Hold File

13.6. Job Hold File

Associated with each control file is a hold file that has additional information controlling the printing operations. The entries in this file have the form:

    key [value]


The following is an example of a hold file:

    server 0
    subserver 0
    attempt 3
    error cannot open printer
    hold 0
    priority 0
    remove 0
    routed 0


The server and subserver entry records the process ID of the server process and the subserver process that is printing the job. The attempt field records the total number of attempts to print the job. The error field records any error that would prevent the job from being printed. This information is reported by the lpq program.

The hold field is non-zero when the lpc hold command is used to explicitly prevent the job from being printed; lpc release will clear the field and allow the job to be printed.

The priority field is modified by the lpc topq command and is used to provide an overriding priority to printing the file.

The remove field is non-zero when the file has been printed and should be removed.

The routed field is used to indicate that there is routing information present in the hold file, and that special handling is needed. The routing information is provided by a routing filter. The information is recorded by information in the hold file. The following is an example of routing information. Normally this information is stored in a URL escaped format, with one line per destination, but for clarity this has been broken out into plain text form:

    active 0
    attempt 0
    done 0
    hold 0
    priority 0
    remove 0
    routed 880892602
    route 1
      dest t1
      ident papowell@h4+705.1
      error
      copies 1
      copy_done 0
      status 0
      active 0
      attempt 0
      done 0
      hold 0
      sequence 0
      priority B
      CB
      end
    route 2
      dest t1
      ident papowell@h4+705.2
      error
      copies 0
      copy_done 0
      status 0
      active 0
      attempt 0
      done 0
      hold 0
      sequence 1
      end


Routing information lines start with route followed by individual routing entry information. The route dest, copies, priority, and Xnnnn entries are derived from the output of the router program; other fields are used during the printing process. The copy_done records the numbers of copies done, while the done records that the entry has been completed. The status is the process ID of the server process doing the printing.

The output from route filter that generated the above file was:

    dest t1
    copies 1
    priority B
    CB
    end
    dest t1
    end