Article Index |
---|
Automap advanced concepts |
Base path |
Directives |
Structure of a map file |
All Pages |
Page 4 of 4
Structure of a map file
This information is here for information only and may change without prior notice.
Offset | Size | Field | Comments |
---|---|---|---|
0 | 14 | Magic string | Contains "AUTOMAP M\024\x8\6\3" |
14 | 12 | Min version | Minimal version of runtime required to read/understand this map |
26 | 12 | Map version | Version of the Automap_Creator class that created the map |
38 | 8 | File size | Size in bytes of the map file |
46 | 8 | CRC | Adler32 checksum of the whole file (replacing this field with eight '0'. |
54 | 8 | Symbol count | |
62 | 8 | Data size | Size in bytes of the subsequent data block |
70 | DSIZE | Data block | (See below for structure) |
Structure of the Data block
The data block is a serialized array. It always contains two elements :
- the item referenced with the 'options' key contains the map options. It is an array of (<option-name> => <value>) elements.
- the item referenced with the 'map' key is an array of strings. Each element defines a slot. Each slot contains the information for the symbols belonging to a given namespace. Each namespace has its slot.
Structure of the slots array :
The array keys are normalized namespaces (without leading/trailing separators),
Each array value is a serialized array. Each element of this array has the following structure :
- Key is a string. It is the concatenation of the symbol type (one of the \Automap\Mgr::T_xxx constants) and the symbol name. Remember that, starting with version 3.0.0, Automap is fully case-sensitive, eliminating the need to convert the key to lowercase. Note that, for performance reasons, the symbol name contains the namespace.
- Value is a string too. It is the concatenation of a target type (one of \Automap\Mgr::F_xxx constants) and the target value. If the target type corresponds to a PHP script, target values are combined with the base path, if any, to compute target file paths.