Generic Trace Generator (GTG)  0.1
Data Structures | Macros | Typedefs
GTGOTF_Structs.h File Reference

OTF_Structs gives the global types and functions needed to have the OTF implementation. More...

#include <stdint.h>
#include "GTGList.h"
#include "GTGStack.h"

Go to the source code of this file.

Data Structures

struct  StateType
 
struct  State
 
struct  ContainerType
 
struct  Container
 
struct  EntityValue
 
struct  EventType
 
struct  LinkType
 
struct  Link
 
struct  VariableType
 
struct  Variable
 
struct  otf_color
 

Macros

#define MAX_PROCESS   64
 
#define ContainerType_NIL   0
 
#define Container_NIL   0
 
#define StateType_NIL   0
 
#define State_NIL   0
 
#define EntityValue_NIL   0
 
#define EventType_NIL   0
 
#define LinkType_NIL   0
 
#define VariableType_NIL   0
 
#define Variable_NIL   0
 
#define init_ContainerType(var)
 
#define init_Container(var)
 
#define init_StateType(var)
 
#define init_EntityValue(var)
 
#define init_EventType(var)
 
#define init_LinkType(var)
 
#define init_VariableType(var)
 
#define init_Variable(var)
 
#define init_State(var)
 
#define alloc_struct(ptr, type, list_head)
 
#define alloc_init_struct(type, ptr, list_head, _name_, _alias_)
 
#define alloc_Variable(_ptr_, _id_, _parent_, _type_, _value_)
 
#define alloc_State(_ptr_, _value_, _cont_, _stateType_)
 
#define free_struct(_type_, _list_head_)
 

Typedefs

typedef struct StateType StateType_t
 
typedef struct State State_t
 
typedef struct ContainerType ContainerType_t
 
typedef struct Container Container_t
 
typedef struct EntityValue EntityValue_t
 
typedef struct EventType EventType_t
 
typedef struct LinkType LinkType_t
 
typedef struct Link Link_t
 
typedef struct VariableType VariableType_t
 
typedef struct Variable Variable_t
 
typedef struct otf_colorotf_color_t
 

Detailed Description

OTF_Structs gives the global types and functions needed to have the OTF implementation.

Version
0.1
Authors
Developers are :
Francois Rue - franc.nosp@m.ois..nosp@m.rue@l.nosp@m.abri.nosp@m..fr
Francois Trahay - franc.nosp@m.ois..nosp@m.traha.nosp@m.y@la.nosp@m.bri.f.nosp@m.r
Johnny Jazeix - jazei.nosp@m.x@en.nosp@m.seirb.nosp@m.-mat.nosp@m.meca..nosp@m.fr
Kevin Coulomb - kevin.nosp@m..cou.nosp@m.lomb@.nosp@m.gmai.nosp@m.l.com
Mathieu Faverge - faver.nosp@m.ge@l.nosp@m.abri..nosp@m.fr
Olivier Lagrasse - lagra.nosp@m.sse@.nosp@m.ensei.nosp@m.rb-m.nosp@m.atmec.nosp@m.a.fr

Macro Definition Documentation

#define alloc_init_struct (   type,
  ptr,
  list_head,
  _name_,
  _alias_ 
)
Value:
do { \
alloc_struct(ptr, type, list_head); \
(ptr)->name = (char *)malloc(sizeof(char)*(strlen(_name_)+1)); \
strcpy((ptr)->name, _name_); \
(ptr)->alias = (char *)malloc(sizeof(char)*(strlen(_alias_)+1)); \
strcpy((ptr)->alias, _alias_); \
}while(0)
#define alloc_struct(ptr, type, list_head)
Definition: GTGOTF_Structs.h:216
#define alloc_State (   _ptr_,
  _value_,
  _cont_,
  _stateType_ 
)
Value:
do { \
_ptr_ = (State_t*) malloc(sizeof(State_t)); \
init_State(*(_ptr_)); \
(_ptr_)->value = _value_; \
(_ptr_)->cont = _cont_; \
(_ptr_)->stateType = _stateType_; \
}while(0)
#define init_State(var)
Definition: GTGOTF_Structs.h:207
Definition: GTGOTF2_Structs.h:44
#define alloc_struct (   ptr,
  type,
  list_head 
)
Value:
do { \
ptr = (type*) malloc(sizeof(type)); \
GTG_LIST_INIT(&(ptr->token)); \
ptr->id = (gtg_list_entry((list_head)->prev, type, token)->id) + 1; \
gtg_list_add_tail(&(ptr->token), list_head); \
} while(0)
#define GTG_LIST_INIT(ptr)
initialize a list.
Definition: GTGList.h:16
#define gtg_list_entry(ptr, type, member)
get the structure corresponding to a list entry
Definition: GTGList.h:39
struct gtg_list * prev
Definition: GTGList.h:5
static void gtg_list_add_tail(gtg_list_t lnew, gtg_list_t head)
Insert a new entry before the specified head (ie. at the tail of the list).
Definition: GTGList.h:76
#define alloc_Variable (   _ptr_,
  _id_,
  _parent_,
  _type_,
  _value_ 
)
Value:
do { \
(_ptr_) = (Variable_t*) malloc(sizeof(Variable_t)); \
init_Variable(*(_ptr_)); \
(_ptr_)->id = _id_; \
(_ptr_)->parent = _parent_; \
(_ptr_)->type = _type_; \
(_ptr_)->value = _value_; \
}while(0)
#define init_Variable(var)
Definition: GTGOTF_Structs.h:198
Definition: GTGOTF2_Structs.h:117
#define Container_NIL   0
#define ContainerType_NIL   0
#define EntityValue_NIL   0
#define EventType_NIL   0
#define free_struct (   _type_,
  _list_head_ 
)
Value:
do{\
_type_ *ptr, *tmp; \
gtg_list_for_each_entry_safe(ptr, tmp, &(_list_head_).token, token) { \
gtg_list_del(&(ptr->token));\
free(ptr->name);\
free(ptr->alias);\
free(ptr);\
}\
}while(0)
static void gtg_list_del(gtg_list_t entry)
delete an entry from its list and reinitialize it.
Definition: GTGList.h:99
#define gtg_list_for_each_entry_safe(pos, n, head, member)
iterate over list of given type safe against removal of list entry
Definition: GTGList.h:157
#define init_Container (   var)
Value:
do { \
(var).name = NULL; \
(var).alias = NULL; \
(var).ctType = ContainerType_NIL; \
(var).id = Container_NIL; \
GTG_LIST_INIT(&(var).token); \
GTG_STACK_INIT(&(var).state_stack.token); \
}while(0)
#define GTG_LIST_INIT(ptr)
initialize a list.
Definition: GTGList.h:16
#define GTG_STACK_INIT(ptr)
Definition: GTGStack.h:9
#define Container_NIL
Definition: GTGOTF_Structs.h:124
#define ContainerType_NIL
Definition: GTGOTF_Structs.h:123
#define init_ContainerType (   var)
Value:
do { \
(var).name = NULL; \
(var).alias = NULL; \
(var).id = ContainerType_NIL; \
GTG_LIST_INIT(&(var).token); \
}while(0)
#define GTG_LIST_INIT(ptr)
initialize a list.
Definition: GTGList.h:16
#define ContainerType_NIL
Definition: GTGOTF_Structs.h:123
#define init_EntityValue (   var)
Value:
do { \
(var).name = NULL; \
(var).alias = NULL; \
(var).groupId = 0; \
(var).id = EntityValue_NIL; \
GTG_LIST_INIT(&(var).token); \
}while(0)
#define EntityValue_NIL
Definition: GTGOTF_Structs.h:127
#define GTG_LIST_INIT(ptr)
initialize a list.
Definition: GTGList.h:16
#define init_EventType (   var)
Value:
do { \
(var).name = NULL; \
(var).alias = NULL; \
(var).contType = ContainerType_NIL; \
(var).id = EventType_NIL; \
GTG_LIST_INIT(&(var).token); \
}while(0)
#define GTG_LIST_INIT(ptr)
initialize a list.
Definition: GTGList.h:16
#define EventType_NIL
Definition: GTGOTF_Structs.h:128
#define ContainerType_NIL
Definition: GTGOTF_Structs.h:123
#define init_LinkType (   var)
Value:
do { \
(var).name = NULL; \
(var).alias = NULL; \
(var).contType = ContainerType_NIL; \
(var).srcType = ContainerType_NIL; \
(var).destType = ContainerType_NIL; \
(var).id = LinkType_NIL; \
GTG_LIST_INIT(&(var).token); \
}while(0)
#define GTG_LIST_INIT(ptr)
initialize a list.
Definition: GTGList.h:16
#define ContainerType_NIL
Definition: GTGOTF_Structs.h:123
#define LinkType_NIL
Definition: GTGOTF_Structs.h:129
#define init_State (   var)
Value:
do { \
(var).value = EntityValue_NIL; \
(var).cont = Container_NIL; \
(var).stateType = StateType_NIL; \
GTG_STACK_INIT(&(var).token); \
}while(0)
#define EntityValue_NIL
Definition: GTGOTF_Structs.h:127
#define GTG_STACK_INIT(ptr)
Definition: GTGStack.h:9
#define Container_NIL
Definition: GTGOTF_Structs.h:124
#define StateType_NIL
Definition: GTGOTF_Structs.h:125
#define init_StateType (   var)
Value:
do { \
(var).name = NULL; \
(var).alias = NULL; \
(var).groupId = 0; \
(var).id = StateType_NIL; \
GTG_LIST_INIT(&(var).token); \
}while(0)
#define GTG_LIST_INIT(ptr)
initialize a list.
Definition: GTGList.h:16
#define StateType_NIL
Definition: GTGOTF_Structs.h:125
#define init_Variable (   var)
Value:
do { \
(var).parent = Container_NIL; \
(var).parent = VariableType_NIL; \
(var).value = 0; \
(var).id = Variable_NIL; \
GTG_LIST_INIT(&(var).token); \
}while(0)
#define Variable_NIL
Definition: GTGOTF_Structs.h:131
#define GTG_LIST_INIT(ptr)
initialize a list.
Definition: GTGList.h:16
#define VariableType_NIL
Definition: GTGOTF_Structs.h:130
#define Container_NIL
Definition: GTGOTF_Structs.h:124
#define init_VariableType (   var)
Value:
do { \
(var).name = NULL; \
(var).alias = NULL; \
(var).contType = ContainerType_NIL; \
(var).id = VariableType_NIL; \
GTG_LIST_INIT(&(var).token); \
}while(0)
#define GTG_LIST_INIT(ptr)
initialize a list.
Definition: GTGList.h:16
#define VariableType_NIL
Definition: GTGOTF_Structs.h:130
#define ContainerType_NIL
Definition: GTGOTF_Structs.h:123
#define LinkType_NIL   0
#define MAX_PROCESS   64
#define State_NIL   0
#define StateType_NIL   0
#define Variable_NIL   0
#define VariableType_NIL   0

Typedef Documentation

typedef struct Container Container_t

Containers

typedef struct EntityValue EntityValue_t

EntityValue, contains the name of the functions/states

typedef struct EventType EventType_t

Events/Markers

typedef struct Link Link_t
typedef struct LinkType LinkType_t

Links/Messages

typedef struct otf_color* otf_color_t
typedef struct State State_t

States

typedef struct StateType StateType_t

StateTypes

typedef struct Variable Variable_t
typedef struct VariableType VariableType_t

Variables/Counters