next up previous
Next: Compiled Procedures and Functions Up: Record Descriptions Previous: Preamble Records


Content Records

This section describes data which contain actual content, however, they contain subtypes which will require further elaboration in later sections.


Format: COMMONBLOCK (1)        (declaration of common block and variables)
Type Name Description
RHDR HDR Block header record
LONG NVARS Number of common block variables
STRING NAME Name of common block
STRING $\times$NVARS VARNAMES Names of common block variables


NOTES: This record describes the existence, but not the values of, any common block variables. This is equivalent to the declarative COMMON statement in an IDL procedure. The names of the common variables are established, but the values must be defined by another separate record which appears later in the file.


Format: VARIABLE        (definition of standard IDL variable)
Type Name Description
RHDR HDR Block header record
STRING VARNAME Name of IDL variable (upper case ASCII)
TYPEDESC TYPEDESC Variable type descriptor
LONG VARSTART Indicates start of data (= 7)
VARDATA VARDATA Variable data



Format: SYSTEM_VARIABLE        (definition of IDL system variable)
Type Name Description
RHDR HDR Block header record
STRING VARNAME Name of IDL system variable (upper case ASCII, begins with '!')
TYPEDESC TYPEDESC Variable type descriptor
LONG VARSTART Indicates start of data (= 7)
VARDATA VARDATA Variable data


NOTES: The formats of standard IDL variables and system variables are the same. The only difference is the VARFLAGS flag byte within the TYPEDESC descriptor. The definitions of TYPEDESC and VARDATA are presented in sections 8 and 9. The TYPEDESC segment defines the type of the data, and is read and written by CMSV_RVTYPE and CMSV_WVTYPE. The VARDATA segment actually contains the data, and is read and written by CMSV_RDATA and CMSV_WDATA.

For scalars TYPEDESC is simply the IDL type number, but for arrays and structures the TYPEDESC descriptor can be much more complicated. Because the TYPEDESC descriptor can have a variable size, depending on the complexity of the type being described, it is not possible to parse the data segment of the record without first parsing the type descriptor.


Format: HEAP_DATA        (type and data for IDL heap variable)
Type Name Description
RHDR HDR Block header record
LONG HEAP_INDEX The heap index of this particular variable. This index refers to the table of contents found in the HEAP_HEADER record.
LONG -- Unknown ('02'XL or '12'XL)
TYPEDESC TYPEDESC Heap variable type descriptor
LONG VARSTART Indicates start of data (= 7)
VARDATA VARDATA Heap variable data


NOTES: A heap variable has the same format as an IDL standard or system variable, except that, instead of a STRING variable which provides the name of the variable, an integer number is used to identify which variable it is in the heap table of contents.


next up previous
Next: Compiled Procedures and Functions Up: Record Descriptions Previous: Preamble Records
Craig Markwardt 2011-12-21