Jumbo Workfiles

Qedit 5.7 for HP-UX

Home Previous Next


Jumbo Workfiles

The Qedit Jumbo workfile is an extension of the original Qedit workfile. This format allows files to be up to 1,000 characters wide, and up to 99 million lines long. The blocks are 1024 bytes long instead of 512.

Wide-Jumbo workfiles allow lines of up to 8,172 characters and limit the number of lines to 99 million. The blocks are 8,192 bytes long instead of 1,024 for Jumbo workfiles.

As in the old Qedit format, each block in Jumbo or Wide-Jumbo contains several Qedit lines (the exact number depends on the length of the lines). The lines in a block have contiguous line numbers and are extracted from the block by Qedit.

Block 0 of the workfile has a special format because it contains the language of the file and the number of lines, and provides indexing.

The first Qedit line is always in Block 1, and the first word of Block 1 points to the next sequential block in the file. Each block points to the next, and end-of-file occurs when the forward pointer is zero.

Within a data block, the structure is as follows:

Word Within Block    Contents            Comment
      (000)      Block type        First double-word in block
      (002)      Forward-pointer   Second double-word in block
      (004)      Line-number       First word of first line
      (005)        (cont.)
      (006)      Data length       Descriptor for first line
      (007)      Indent
      (008)      "AB"              Contents of first line
      (009)      "CD"
      (...)        (cont.)
      (...)
 (Data+004)      "YZ"              End of first line
 (Data+005)      Line-number       Start of second line
 (Data+006)        (cont.)
 (Data+007)      Data
 (Data+008)      Indent
 (Data+009)      "12"
      (...)
      (...)      "89"              End of last line
      (...)      Binary-zero       Unused portion of block.
      (...)        (cont.)         Binary-zeros are missing
      (511)        (cont.)           if the block is full.

The following definitions are used above:

Forward-pointer: block number of the next block (32-bit unsigned).

Line-number: a 32-bit integer containing the line number in binary (1,000 = 1.0).

Data: the number of words of data in the line (16-bit word).

Indent: number of full words of blanks before the data (16-bit word).


Home Previous Next