# peqs

The peqs super Q-pointer allows access to spooler jobs as if they were standard
 files.

CAUTION: Because the peqs file is a proprietary format, caution should be
 exercised when using the file.

 The following translations are applied on both retrieval and update (note that a DLE
 is character 16):

| Raw Job | Simulated File Item |
| --- | --- |
| CR,LF | AM |
| DLE | DLE,DLE |
| SM | DLE,’_’ |
| AM | DLE,’^’ |
| VM | DLE,’]’ |

 Note: All trailing null characters are removed when reading a job. This translation
 makes it easy to read, modify, and update jobs using BASIC, Editor, or the Update
 Processor.

 The copy command can be used to copy jobs into standard files for
 archival purposes. The delete and clearfile
 operations are supported, but only affect unlocked hold files (as with the
 associated sp-edit operation).

- An update of an existing, unlocked hold job updates the job contents without changing the job number.

- An update of a nonexistent job creates a new spooler job with the current sp-assign options.

- An update of a locked or nonhold job fails and does nothing.

 Note:

- When reading an item for later update, it is suggested using readu. This operation will fail if the job is locked or not a hold file.

- When a readu from Basic is done through the peqs OSFI driver and the spooler entry does not exist, a null spooler entry is created, the lock is set and the then clause is taken.

 If the user updates the peqs item 0, then the job is respooled with the current
 sp-assign options to the first available entry number. The
 user may optionally override the current sp-assign parameters by
 directly following the 0 in the item-ID by the new options.

 Note: There can be no spaces in the item-ID and that the sp-assign
 options c, i, o,
 rnnn, t and ? are ignored.

 When using the Update Processor to edit peqs items, using the (r
 option is suggested to better handle control characters and to prevent truncation of
 trailing attribute marks. The following pseudo attributes are defined from the peqs
 super Q-pointer. These attributes actually translate from the peqs item-ID into the
 header section of the peqs super Q-pointer (called hdr:peqs):

| Job | Job number. |
| --- | --- |
| Size | Size of the spooler entry. |
| User | User who last modified the job. |
| PIB | PIB (Process Information Block) of the user who last modified the job. |
| Line | PIB of the user who last modified the job. |
| Date | Date of last modification. |
| Time | Time of last modification. |
| Permissions | Indicates ability to read or write a job. |
| Form | Form queue number. |
| Copies | Number of copies set. |
| Status | Job status information (similar to list-peqs). |
| Prio | Indicates printing priority within a form queue. |

 The spooler account holds a Q-pointer with the file definition attribute set to qs.
 This signals the save processor to dump the spooler header information and the
 spooler job itself to tape.

 Tip:
 Print jobs can be saved by editing the dictionary of the
 peqs file.

- Log on to the spooler. For example, from the dm account, type: ```
 to spooler
```

- Update the dictionary of the peqs file. To open the dictionary, type: ```
u only dict peqs peqs
```

- Place an S next to the Q in attribute 1.

- Save the item.Print jobs will be saved to tape when a filesave is performed.

## Example(s)

```
 list peqs
 Page 1 Peqs 10:57:12 12 Feb 2003
 peqs
 1
 2
 3
 [405] 3 items listed out of 3 items.
 u peqs 3 (r
 peqs ’3’ size = 167
 01 .:list md md (p
 02 Page 1 md 10:57:59 12 Feb 2003
 03
 04 md...................
 05
 06 md
 07
 08 [405] 1 items listed out of 1 items.
 09
 peqs ’3’ size = 167 filed
```

---
Source: https://d3codex.com/tcl/peqs/ - part of the D3Codex reference.
