Positron Developer's Guide: SAI File Format

This document explains the format of the SAI files. SAI files are used in the database as a table of contents. Every non-deleted record in the database will have a record in the SAI file. SAI records are all the same size, so it is very easy to modify the contents of this file in place, including removing and reordering entries.

A record in a SAI file consists of a pointer to a MDB record, and to its associated PAI module (if applicable). The pointer to the PAI module does not point to the start of the module, however, but to the location of the first entry within the module. See the PAI file format for more information.

Word OffsetSize (words)Description
02Signature, "0x05181971"
22Reserved (zero by default)
41Number of entries (N)
53Reserved (zero by default)
840x00000000, 0x00000000 (looks like an empty record)
122MDB pointer for record 1
142PAI pointer for record 1
.........
12+4*(i-1)2MDB pointer for record i
14+4*(i-1)2PAI pointer for record i
.........
12+4*(N-1)2MDB pointer for record N
14+4*(N-1)2PAI pointer for record N
12+4*N40x00000000, 0x00000000 (looks like an empty record)