update scripts
[lttv.git] / ltt / branches / poly / ltt / type.c
index a1563d04a494e776f5195e9b51074dd5b09aca18..1d1481de453653599d2c4fde6fd59f2af66545f3 100644 (file)
@@ -33,13 +33,19 @@ static unsigned intSizes[] = {
   sizeof(int8_t), sizeof(int16_t), sizeof(int32_t), sizeof(int64_t), 
   sizeof(short) };
 
+static unsigned floatSizes[] = {
+  0, 0, sizeof(float), sizeof(double), 0, sizeof(float), sizeof(double) };
+
+
 typedef enum _intSizesNames { SIZE_INT8, SIZE_INT16, SIZE_INT32,
                               SIZE_INT64, SIZE_SHORT, INT_SIZES_NUMBER }
                    intSizesNames;
 
+static char * typeNames[] = {
+  "int_fixed", "uint_fixed", "pointer", "char", "uchar", "short", "ushort",
+  "int", "uint", "long", "ulong", "size_t", "ssize_t", "off_t", "float",
+  "string", "enum", "array", "sequence", "struct", "union", "none" };
 
-static unsigned floatSizes[] = {
-  0, 0, sizeof(float), sizeof(double), 0, sizeof(float), sizeof(double) };
 
 #define FLOAT_SIZES_NUMBER 7
 
@@ -100,6 +106,20 @@ guint8 ltt_eventtype_id(LttEventType *et)
   return et->index;
 }
 
+/*****************************************************************************
+ *Function name
+ *    ltt_type_name  : get the name of the type
+ *Input params
+ *    t              : a type
+ *Return value
+ *    GQuark         : the name of the type
+ ****************************************************************************/
+
+GQuark ltt_type_name(LttType *t)
+{
+  return g_quark_from_static_string(typeNames[t->type_class]);
+}
+
 /*****************************************************************************
  *Function name
  *    ltt_field_name  : get the name of the field
@@ -141,15 +161,19 @@ LttTypeEnum ltt_type_class(LttType *t)
  *    returns 0 if erroneous, and show a critical warning message.
  ****************************************************************************/
 
-size_t ltt_type_size(LttTrace * trace, LttType *t)
+guint ltt_type_size(LttTrace * trace, LttType *t)
 {
-  size_t size;
+  guint size;
 
   switch(t->type_class) {
-
+    case LTT_INT_FIXED:
+    case LTT_UINT_FIXED:
+    case LTT_CHAR:
+    case LTT_UCHAR:
+    case LTT_SHORT:
+    case LTT_USHORT:
     case LTT_INT:
     case LTT_UINT:
-    case LTT_SEQUENCE:
     case LTT_ENUM:
       if(likely(t->size < INT_SIZES_NUMBER))
         size = intSizes[t->size];
@@ -167,11 +191,13 @@ size_t ltt_type_size(LttTrace * trace, LttType *t)
     case LTT_ULONG:
     case LTT_SIZE_T:
     case LTT_SSIZE_T:
+    case LTT_SEQUENCE:
     case LTT_OFF_T:
     case LTT_STRING:
     case LTT_ARRAY:
     case LTT_STRUCT:
     case LTT_UNION:
+    case LTT_NONE:
       goto error;
       break;
   }
@@ -371,7 +397,7 @@ int ltt_field_size(LttField * f)
 
 guint ltt_eventtype_num_fields(LttEventType *event_type)
 {
-  if(unlikely(!event_type)) return NULL;
+  if(unlikely(!event_type)) return 0;
 
   return event_type->fields->len;
   
This page took 0.024815 seconds and 4 git commands to generate.