next up previous
Next: Basic Record Structure Up: Unofficial Format of IDL Previous: Low Level Routines


File Format

This section and the following sections contain a detailed description of the IDL save file format. As described above, and IDL file consists of a stream of tagged records:


Format: SAVEFMT        (overall save file format)
Type Name Description
BYTE$\times$2 SIGNATURE IDL SAVE file signature (=BYTE(['S','R']))
BYTE$\times$2 RECFMT IDL SAVE record format (=['00'xb, '04'xb])
Record 1
Record 2
$\vdots$
Record $n$ -- END_MARKER


However, these records must appear in a certain order, which also depends on which version of IDL is being used. These records might be described as the save file ``preamble,'' which give important metadata about the information. For IDL 4 this preamble consists of only one record:


Format: PREAMBLE4        (preamble records for IDL 4 save files)
Type Name Description
TIMESTAMP TIMESTAMP Save file history information


The first record must be of type TIMESTAMP (see below for record types). Beyond that, save files produced by IDL 4 do not contain heap data. For IDL version 5 and beyond, the preamble is extended to include several more records after the TIMESTAMP record, which describes the file version information, such as which version of IDL was used to create the file:


Format: PREAMBLE5        (preamble records for IDL 5 save files)
Type Name Description
TIMESTAMP TIMESTAMP Save file history information
VERSION VERSION Save session IDL information
HEAP_HEADER HEAP_HEADER (optional) Heap index information
-- PROMOTE64 (optional IDL 5.4 only) if file has ULONG64 offsets
NOTICE NOTICE (optional) Disclaimer notice


The HEAP_HEADER record only appears if the save file contains heap data (i.e., pointers). In IDL 5.4, the PROMOTE64 record indicates the presence of ULONG64 record offsets for storing files larger than 4 gigabytes (IDL 5.4 only).


next up previous
Next: Basic Record Structure Up: Unofficial Format of IDL Previous: Low Level Routines
Craig Markwardt 2011-12-21