*Input params
* et : an event type
*Return value
- * unsigned * : the relative id
+ * unsigned : the relative id
****************************************************************************/
-unsigned *ltt_eventtype_relative_id(LttEventType *et)
+unsigned ltt_eventtype_relative_id(LttEventType *et)
{
- return (unsigned*)&et->index;
+ return et->index;
}
/*****************************************************************************
*Input params
* et : an event type
*Return value
- * unsigned * : the id
+ * unsigned : the id
****************************************************************************/
-unsigned *ltt_eventtype_id(LttEventType *et)
+unsigned ltt_eventtype_id(LttEventType *et)
{
- unsigned *id = g_new(unsigned,1);
- *id = et->facility->base_id + et->index;
- return (unsigned*)id;
+ return et->facility->base_id + et->index;
}
/*****************************************************************************
LttType *ltt_eventtype_type(LttEventType *et)
{
+ if(!et->root_field) return NULL;
return et->root_field->field_type;
}
return intSizes[t->size];
else{
LttArchSize size = trace->system_description->size;
- if(size == LTT_LP32)
- return sizeof(int16_t);
- else if(size == LTT_ILP32 || size == LTT_LP64)
- return sizeof(int32_t);
- else if(size == LTT_ILP64)
- return sizeof(int64_t);
+ if(size == LTT_LP32){
+ if(t->size == 5)return sizeof(int16_t);
+ else return sizeof(int32_t);
+ }
+ else if(size == LTT_ILP32 || size == LTT_LP64){
+ if(t->size == 5)return sizeof(int32_t);
+ else{
+ if(size == LTT_ILP32) return sizeof(int32_t);
+ else return sizeof(int64_t);
+ }
+ }
+ else if(size == LTT_ILP64)return sizeof(int64_t);
}
}
}
LttType *ltt_type_element_type(LttType *t)
{
- if(t->type_class != LTT_ARRAY || t->type_class != LTT_SEQUENCE)
+ if(t->type_class != LTT_ARRAY && t->type_class != LTT_SEQUENCE)
return NULL;
return t->element_type[0];
}
unsigned ltt_type_member_number(LttType *t)
{
- if(t->type_class != LTT_STRUCT || t->type_class != LTT_UNION)
+ if(t->type_class != LTT_STRUCT && t->type_class != LTT_UNION)
return 0;
return t->element_number;
}
* LttType * : the type of structure member
****************************************************************************/
-LttType *ltt_type_member_type(LttType *t, unsigned i)
+LttType *ltt_type_member_type(LttType *t, unsigned i, char ** name)
{
- if(t->type_class != LTT_STRUCT) return NULL;
- if(i >= t->element_number || i < 0 ) return NULL;
+ if(t->type_class != LTT_STRUCT){*name == NULL; return NULL;}
+ if(i >= t->element_number || i < 0 ){*name = NULL; return NULL;}
+ *name = t->element_type[i]->element_name;
return t->element_type[i];
}
LttField *ltt_field_element(LttField *f)
{
- if(f->field_type->type_class != LTT_ARRAY ||
+ if(f->field_type->type_class != LTT_ARRAY &&
f->field_type->type_class != LTT_SEQUENCE)
return NULL;
LttType *ltt_field_type(LttField *f)
{
+ if(!f)return NULL;
return f->field_type;
}