Enscribe Programmer's Guide

Figure 31 Block Format for Structured Format 2 Files
byte offset from [0] to record N
(key-sequenced, queue, and
entry-sequenced files only)
size of record N
(relative file
only)
size of record 0
(relative file
only)
relative-block number
flags
block-level
large-block-flags
checksum
block-version
volume-sequence-number
checksum-32-bit
(record 0)
(record N, where N = number-of-records -1)
free space (key-sequenced, queue, and
entry-sequenced files only)
byte offset from [0] to start of free
space
(reserved)
Decimal
Offset
[0]
[4]
[6]
[8]
[12]
[14]
[blocksize
- 12]
[16]
[24]
Length
in
Bytes
4
2
2
4
2
2
8
4
4
4
Common
Block
Header
Data
Area
Offsets
Map or
Record-
size
Array
byte offset from [0] to record 0
(key-sequenced, queue, and
entry-sequenced files only)
4
[28]
(reserved)
8
type-specific-block- header
The fields in Figure 31 are defined as:
relative-block-number
identifies the relative block number within the file.
flags
Bit 0: This bit is set (=1) if the block is broken (inconsistent).
Bits 1 and 2: These two bits are reserved for decompression and are used internally for SQL
compression logic.
Bits 3 through 5: These three bits indicate the file type as:
(reserved)000
Relative File001
Entry-Sequenced File010
Key-Sequenced or Queue File011
175