LPRng-HOWTO: 15 Oct 2001 (For LPRng-3.7.9)
Prev | Chapter 13. Spool Queues and Files | Next

# 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

Prev | Home | Next
Job Files | Up | Job State