Each data type is represented by an adr_type_t type, whether it is just a base type or a complex type of nested structures and arrays. The adr_type_t contains all the information necessary to understand the structure of the type. libadr provides statically-allocated singletons of adr_type_t type for the base types. These singleton types are more than a convenience: they must be used when referencing the base types.
The base types and their corresponding array types are listed in the following table.
|
The adr_type_t for a derived type should also be unique, but obviously they cannot be defined by libadr. Although technically adr_type_t could be dynamically allocated, at the moment, the only supported way of defining an adr_type_t is to generate a definition using the ADR IDL and radadrgen.