1 Some notes of the format of DL files:
7 All offsets are relative to the start of the section they are in.
8 All fileds are uint32 (4 bytes) unless otherwise specified. All other fields are aligned on 4 bytes boundries.
12 File Format Version Number
20 Schema Section # This section is always read entirely into memory
21 Schema Section Size (uint32)
24 Table Offset 0 # Relative to start of Schema Section
29 # Information about parsing modules is read directly from the meta tables
33 Records Count # Number of Records in record section.
34 Record 0 Offset # Relative to start of Table Section.
35 Index SubSection Offset # Relative to start of Table Section
36 Head of Free List # Table Section relative first free
37 # recordNumber slot (with bit 0 set)
38 # Or 0 if there are no free records
39 Record Number Count # Start of range of unused record numbers
40 Record 0 offset # Relative to start of Table Section.
42 Record 2 freelist # If Bit zero is set this is Table Section
43 # relative offset to next free recordNumber
44 # 0 indicates the last free record slot.
48 Record Size # Rounded up to nearest mulitple of 4
78 Index TOC # This is part of the Schema
102 Version Section # Maintained by AtomicFile code
103 4 byte version number
105 old Schema Section # This section is always read entirely into memory
106 Schema Section Size (uint32)
108 Relation Count (uint32)
111 Record Section Offset
115 Attribute Count (uint32)
117 Releation ID (uint32)
118 Attribute ID (uint32)
119 Attribute Format (uint32)
120 Attribute Name Format (uint32)
123 Attribute Name ID Size
124 Attribute Name ID Data
126 Parsion Module Present (bool)
129 SubService Type (uint32)
130 Addin Version Major (uint32)
131 Addin Version Minor (uint32)
141 Indexed Data Location (uint32)
142 Index Attribute Count (uint32)
143 Attribute ID (uint32)
144 Attribute ID (uint32)
146 Attribute ID (uint32)