17 #ifndef _GTG_OTF2_STRUCTS_H_
18 #define _GTG_OTF2_STRUCTS_H_
25 #define MAX_PROCESS 64
134 #define ContainerType_NIL 0
135 #define Container_NIL 0
136 #define StateType_NIL 0
138 #define EntityValue_NIL 0
139 #define EventType_NIL 0
140 #define LinkType_NIL 0
141 #define VariableType_NIL 0
142 #define Variable_NIL 0
144 #define init_OTF2_String(var) \
151 #define init_StateType(var) \
153 init_OTF2_String((var).name); \
154 init_OTF2_String((var).alias); \
156 (var).id = StateType_NIL; \
157 GTG_LIST_INIT(&(var).token); \
160 #define init_State(var) \
162 (var).value = EntityValue_NIL; \
164 (var).stateType = NULL; \
165 GTG_STACK_INIT(&(var).token); \
168 #define init_ContainerType(var) \
170 init_OTF2_String((var).name); \
171 init_OTF2_String((var).alias); \
172 (var).id = ContainerType_NIL; \
173 GTG_LIST_INIT(&(var).token); \
176 #define init_Container(var) \
178 init_OTF2_String((var).name); \
179 init_OTF2_String((var).alias); \
180 (var).ctType = NULL; \
181 (var).id = Container_NIL; \
182 (var).parent = NULL; \
183 (var).ev_writer = NULL; \
184 GTG_LIST_INIT(&(var).token); \
185 GTG_STACK_INIT(&(var).state_stack.token); \
188 #define init_EntityValue(var) \
190 init_OTF2_String((var).name); \
191 init_OTF2_String((var).alias); \
193 (var).id = EntityValue_NIL; \
194 GTG_LIST_INIT(&(var).token); \
197 #define init_EventType(var) \
199 init_OTF2_String((var).name); \
200 init_OTF2_String((var).alias); \
201 (var).contType = NULL; \
202 (var).id = EventType_NIL; \
203 GTG_LIST_INIT(&(var).token); \
206 #define init_LinkType(var) \
208 init_OTF2_String((var).name); \
209 init_OTF2_String((var).alias); \
210 (var).contType = NULL; \
211 (var).srcType = NULL; \
212 (var).destType = NULL; \
213 (var).id = LinkType_NIL; \
214 GTG_LIST_INIT(&(var).token); \
217 #define init_VariableType(var) \
219 init_OTF2_String((var).name); \
220 init_OTF2_String((var).alias); \
221 (var).contType = NULL; \
222 (var).id = VariableType_NIL; \
223 GTG_LIST_INIT(&(var).token); \
226 #define init_Variable(var) \
228 (var).parent = NULL; \
231 (var).id = Variable_NIL; \
232 GTG_LIST_INIT(&(var).token); \
236 #define alloc_struct(ptr, type, list_head) \
238 ptr = (type*) malloc(sizeof(type)); \
239 GTG_LIST_INIT(&(ptr->token)); \
240 ptr->id = (gtg_list_entry((list_head)->prev, type, token)->id) + 1; \
241 gtg_list_add_tail(&(ptr->token), list_head); \
245 #define alloc_init_struct(type, ptr, list_head, _name_, _alias_) \
247 alloc_struct(ptr, type, list_head); \
248 (ptr)->name = (char *)malloc(sizeof(char)*(strlen(_name_)+1)); \
249 strcpy((ptr)->name, _name_); \
250 (ptr)->alias = (char *)malloc(sizeof(char)*(strlen(_alias_)+1)); \
251 strcpy((ptr)->alias, _alias_); \
254 #define alloc_Variable(_ptr_, _id_, _parent_, _type_, _value_) \
256 (_ptr_) = (Variable_t*) malloc(sizeof(Variable_t)); \
257 init_Variable(*(_ptr_)); \
258 (_ptr_)->id = _id_; \
259 (_ptr_)->parent = _parent_; \
260 (_ptr_)->type = _type_; \
261 (_ptr_)->value = _value_; \
264 #define alloc_State(_ptr_, _value_, _cont_, _stateType_) \
266 _ptr_ = (State_t*) malloc(sizeof(State_t)); \
267 init_State(*(_ptr_)); \
268 (_ptr_)->value = _value_; \
269 (_ptr_)->cont = _cont_; \
270 (_ptr_)->stateType = _stateType_; \
273 #define free_struct(_type_, _list_head_)\
276 gtg_list_for_each_entry_safe(ptr, tmp, &(_list_head_).token, token) { \
277 gtg_list_del(&(ptr->token));\
278 free(ptr->name.name);\
otf2_id_t id
Definition: GTGOTF2_Structs.h:121
OTF2_EvtWriter * evt_writer
Definition: GTGOTF2_Structs.h:69
struct LinkType LinkType_t
Definition: GTGOTF2_Structs.h:27
struct Variable Variable_t
struct __OTF2_String name
Definition: GTGOTF2_Structs.h:84
otf2_id_t id
Definition: GTGOTF2_Structs.h:55
struct gtg_list token
Definition: GTGOTF2_Structs.h:79
Definition: GTGOTF2_Structs.h:74
otf2_id_t uint32_t
Definition: GTGOTF2_Structs.h:32
struct EventType EventType_t
Definition: GTGOTF2_Structs.h:109
struct otf_color * otf_color_t
Definition: GTGOTF2_Structs.h:132
struct VariableType VariableType_t
double varPrec
Use the double precision type for time and value.
Definition: GTGTypes.h:28
struct gtg_list token
Definition: GTGOTF2_Structs.h:88
struct __OTF2_String name
Definition: GTGOTF2_Structs.h:75
otf2_id_t id
Definition: GTGOTF2_Structs.h:113
gtg_stack token
Definition: GTGOTF2_Structs.h:48
Definition: GTGOTF2_Structs.h:92
ContainerType_t * contType
Definition: GTGOTF2_Structs.h:95
otf2_id_t id
Definition: GTGOTF2_Structs.h:87
int src
Definition: GTGOTF2_Structs.h:104
struct gtg_list token
Definition: GTGOTF2_Structs.h:122
struct gtg_list token
Definition: GTGOTF2_Structs.h:99
struct gtg_list token
Definition: GTGOTF2_Structs.h:114
ContainerType_t * destType
Definition: GTGOTF2_Structs.h:97
Definition: GTGOTF2_Structs.h:61
Container_t * parent
Definition: GTGOTF2_Structs.h:118
uint64_t value
Definition: GTGOTF2_Structs.h:120
State_t state_stack
Definition: GTGOTF2_Structs.h:68
struct __OTF2_String alias
Definition: GTGOTF2_Structs.h:63
struct __OTF2_String alias
Definition: GTGOTF2_Structs.h:54
ContainerType_t * contType
Definition: GTGOTF2_Structs.h:86
Definition: GTGOTF2_Structs.h:52
ContainerType_t * contType
Definition: GTGOTF2_Structs.h:112
otf2_id_t id
Definition: GTGOTF2_Structs.h:78
Container_t * cont
Definition: GTGOTF2_Structs.h:46
otf2_id_t id
Definition: GTGOTF2_Structs.h:65
ContainerType_t * ctType
Definition: GTGOTF2_Structs.h:64
StateType_t * stateType
Definition: GTGOTF2_Structs.h:47
struct Container * parent
Definition: GTGOTF2_Structs.h:66
struct EntityValue EntityValue_t
struct __OTF2_String name
Definition: GTGOTF2_Structs.h:53
ContainerType_t * srcType
Definition: GTGOTF2_Structs.h:96
struct __OTF2_String alias
Definition: GTGOTF2_Structs.h:111
uint8_t green
Definition: GTGOTF2_Structs.h:128
VariableType_t * type
Definition: GTGOTF2_Structs.h:119
varPrec time
Definition: GTGOTF2_Structs.h:103
struct __OTF2_String alias
Definition: GTGOTF2_Structs.h:94
struct __OTF2_String alias
Definition: GTGOTF2_Structs.h:37
int groupId
Definition: GTGOTF2_Structs.h:77
struct ContainerType ContainerType_t
struct __OTF2_String name
Definition: GTGOTF2_Structs.h:36
char * colorID
Definition: GTGOTF2_Structs.h:126
struct __OTF2_String alias
Definition: GTGOTF2_Structs.h:85
struct __OTF2_String name
Definition: GTGOTF2_Structs.h:110
char * name
Definition: GTGOTF2_Structs.h:29
Definition: GTGOTF2_Structs.h:83
Definition: GTGOTF2_Structs.h:125
struct __OTF2_String name
Definition: GTGOTF2_Structs.h:62
struct __OTF2_String alias
Definition: GTGOTF2_Structs.h:76
struct gtg_list token
Definition: GTGOTF2_Structs.h:57
uint8_t blue
Definition: GTGOTF2_Structs.h:129
uint8_t red
Definition: GTGOTF2_Structs.h:127
struct gtg_list token
Definition: GTGOTF2_Structs.h:40
Definition: GTGOTF2_Structs.h:44
uint32_t id
Definition: GTGOTF2_Structs.h:28
struct __OTF2_String name
Definition: GTGOTF2_Structs.h:93
struct ContainerType * parent_type
Definition: GTGOTF2_Structs.h:56
otf2_id_t id
Definition: GTGOTF2_Structs.h:39
struct gtg_list token
Definition: GTGOTF2_Structs.h:67
struct Container Container_t
Definition: GTGOTF2_Structs.h:35
int groupId
Definition: GTGOTF2_Structs.h:38
struct StateType StateType_t
Definition: GTGOTF2_Structs.h:117
otf2_id_t id
Definition: GTGOTF2_Structs.h:98
EntityValue_t * value
Definition: GTGOTF2_Structs.h:45
Definition: GTGOTF2_Structs.h:102