The four-byte file header is followed by any number of data records, the last of which signals the end of data. There are 11 defined record types. Each record begins with a 4-byte header:
The recsize field is a short unsigned integer giving the total record size, including the header. Thus, as in GDSII, records are limited to 64K bytes in length. The record size will always be an even number. The rectype byte is set to a small integer to define the type of record. The flags byte is used in some of the record types, otherwise it is ignored.
The defined record types are given in the table below.
It is allowable to define additional record types for local or proprietary purposes. If a parser encounters an unknown record type, it may skip over the record, ignoring it.