Each parameter of a client problem is manipulated by DIET using the following structure:
typedef struct diet_arg_s diet_arg_t; struct diet_arg_s{ diet_data_desc_t desc; void *value; }; typedef diet_arg_t diet_data_t;
The second field is a pointer to the memory zone where the parameter data are stored. The first one consists of a complete DIET data description, which is better described by a figure than with C code, since it can be set and accessed through API functions. Figure 3.1 shows the data classification used in DIET. Every ``class'' inherits from the root ``class'' data, and could also be a parent of more detailed classes of data in future versions of DIET.