Value label records must follow the variable records and must precede the header termination record. Other than this, they may appear anywhere in the system file. Every value label record must be immediately followed by a label variable record, described below.
Value label records begin with rec_type
, an int32
value
set to the record type of 3. This is followed by count
, an
int32
value set to the number of value labels present in this
record.
These two fields are followed by a series of count
tuples. Each
tuple is divided into two fields, the value and the label. The first of
these, the value, is composed of a 64-bit value, which is either a
flt64
value or up to 8 characters (padded on the right to 8
bytes) denoting a short string value. Whether the value is a
flt64
or a character string is not defined inside the value label
record.
The second field in the tuple, the label, has variable length. The
first char
is a count of the number of characters in the value
label. The remainder of the field is the label itself. The field is
padded on the right to a multiple of 64 bits in length.