update x86_64 enum
[lttv.git] / ltt / branches / poly / ltt / event.c
index 8011782a6be589617d8cd7f830163e296fe614a7..1483102734e22ceb358282b138b5309263ebaeb4 100644 (file)
@@ -170,6 +170,16 @@ void ltt_event_position_get(LttEventPosition *ep, LttTracefile **tf,
 }
 
 
+void ltt_event_position_set(LttEventPosition *ep, LttTracefile *tf,
+        guint block, guint offset, guint64 tsc)
+{
+  ep->tracefile = tf;
+  ep->block = block;
+  ep->offset = offset;
+  ep->tsc = tsc;
+}
+
+
 /*****************************************************************************
  *Function name
  *    ltt_event_position : get the event's position
@@ -373,8 +383,13 @@ off_t ltt_event_field_offset(LttEvent *e, LttField *f)
  ****************************************************************************/
 guint32 ltt_event_get_unsigned(LttEvent *e, LttField *f)
 {
-  gboolean reverse_byte_order = LTT_GET_BO(e->tracefile);
-  
+  gboolean reverse_byte_order;
+       if(unlikely(f->field_type.network)) {
+               reverse_byte_order = (g_ntohs(0x1) != 0x1);
+       } else {
+       reverse_byte_order = LTT_GET_BO(e->tracefile);
+       }
+
   switch(f->field_size) {
   case 1:
     {
@@ -398,8 +413,13 @@ guint32 ltt_event_get_unsigned(LttEvent *e, LttField *f)
 
 gint32 ltt_event_get_int(LttEvent *e, LttField *f)
 {
-  gboolean reverse_byte_order = LTT_GET_BO(e->tracefile);
-  
+  gboolean reverse_byte_order;
+       if(unlikely(f->field_type.network)) {
+               reverse_byte_order = (g_ntohs(0x1) != 0x1);
+       } else {
+       reverse_byte_order = LTT_GET_BO(e->tracefile);
+       }
+
   switch(f->field_size) {
   case 1:
     {
@@ -423,7 +443,12 @@ gint32 ltt_event_get_int(LttEvent *e, LttField *f)
 
 guint64 ltt_event_get_long_unsigned(LttEvent *e, LttField *f)
 {
-  gboolean reverse_byte_order = LTT_GET_BO(e->tracefile);
+       gboolean reverse_byte_order;
+       if(unlikely(f->field_type.network)) {
+               reverse_byte_order = (g_ntohs(0x1) != 0x1);
+       } else {
+       reverse_byte_order = LTT_GET_BO(e->tracefile);
+       }
   
   switch(f->field_size) {
   case 1:
@@ -450,7 +475,12 @@ guint64 ltt_event_get_long_unsigned(LttEvent *e, LttField *f)
 
 gint64 ltt_event_get_long_int(LttEvent *e, LttField *f)
 {
-  gboolean reverse_byte_order = LTT_GET_BO(e->tracefile);
+       gboolean reverse_byte_order;
+       if(unlikely(f->field_type.network)) {
+               reverse_byte_order = (g_ntohs(0x1) != 0x1);
+       } else {
+       reverse_byte_order = LTT_GET_BO(e->tracefile);
+       }
   
   switch(f->field_size) {
   case 1:
@@ -477,8 +507,13 @@ gint64 ltt_event_get_long_int(LttEvent *e, LttField *f)
 
 float ltt_event_get_float(LttEvent *e, LttField *f)
 {
-  g_assert(LTT_HAS_FLOAT(e->tracefile));
-  gboolean reverse_byte_order = LTT_GET_FLOAT_BO(e->tracefile);
+       gboolean reverse_byte_order;
+       if(unlikely(f->field_type.network)) {
+               reverse_byte_order = (g_ntohs(0x1) != 0x1);
+       } else {
+         g_assert(LTT_HAS_FLOAT(e->tracefile));
+       reverse_byte_order = LTT_GET_FLOAT_BO(e->tracefile);
+       }
 
   g_assert(f->field_type.type_class == LTT_FLOAT && f->field_size == 4);
 
@@ -492,8 +527,13 @@ float ltt_event_get_float(LttEvent *e, LttField *f)
 
 double ltt_event_get_double(LttEvent *e, LttField *f)
 {
-  g_assert(LTT_HAS_FLOAT(e->tracefile));
-  gboolean reverse_byte_order = LTT_GET_FLOAT_BO(e->tracefile);
+       gboolean reverse_byte_order;
+       if(unlikely(f->field_type.network)) {
+               reverse_byte_order = (g_ntohs(0x1) != 0x1);
+       } else {
+         g_assert(LTT_HAS_FLOAT(e->tracefile));
+       reverse_byte_order = LTT_GET_FLOAT_BO(e->tracefile);
+       }
 
   if(f->field_size == 4)
     return ltt_event_get_float(e, f);
@@ -657,7 +697,7 @@ void compute_fields_offsets(LttTracefile *tf,
         guint i;
         gint ret=0;
         if(field->fixed_root == FIELD_VARIABLE) {
-          *offset += ltt_align(*offset, get_alignment(fac, field),
+          *offset += ltt_align(*offset, get_alignment(field),
                                fac->alignment);
           /* remember offset */
           field->offset_root = *offset;
This page took 0.025696 seconds and 4 git commands to generate.