Remote Administration Daemon Developer Guide

Exit Print View

Updated: July 2014
 
 

adr_type_t Type

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.

Table 5-1  Base and Array Types
ADR type
C adr_type_t
C array adr_type_t
string
adr_t_string
adr_t_array_string
integer
adr_t_integer
adr_t_array_integer
uinteger
adr_t_uinteger
adr_t_array_uinteger
long
adr_t_long
adr_t_array_long
ulong
adr_t_ulong
adr_t_array_ulong
time
adr_t_time
adr_t_array_time
name
adr_t_name
adr_t_array_name
boolean
adr_t_boolean
adr_t_array_boolean
opaque
adr_t_opaque
adr_t_array_opaque
secret
adr_t_secret
adr_t_array_secret
float
adr_t_float
adr_t_array_float
double
adr_t_double
adr_t_array_double
reference
adr_t_double
adr_t_array_reference

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.