Each record, weather its an atom or a container, has a Record Header. The record header is a structure defined in "Serial.h" as follows:
struct RecordHeader
{
psrVersion recVer : 4
psrInstance recInstance : 12;
psrType recType;
psrSize recLen;
};
Record Version: (recVer) Indicates the version if the record is an atom. All versions are prefixed by VER and are enumerated in "Serial.h". If the record is a container, this field has a value of 0xFFFF.
Record Instance: (recInstance) Differentiates atoms. Depending on the instance a record's contents it can have different meanings. For example a list container can store a list of slides or a list of fonts, and it's instance would vary accordingly. Instances are prefixed in "Serial.h" by INS. The instance of a record is useful for differentiating atoms when there is more than one atom of the same type in a particular container.
Record Type: (recType) Indicates the signature or type of the record. Each record has a symbolic and a numeric signature in "Serial.h". All the symbolic signatures are prefixed by PST. For example, the symbolic signature for a slide is PST_Slide which has a value of 1006. A description of each of the different types can be found in the Record Descriptions section.
Record Length: (recLen) Stores the length of the record in bytes. If the record is an atom, it refers to the length of the atom excluding the header. If the record is a container, it refers to the sum of the lengths of the atoms inside it, plus the length of the record headers.