fix char cpu name
[lttv.git] / ltt / branches / poly / ltt / ltt-private.h
index 5fa28863d872c8040702f9b6dbf1959230d62308..c71c8fbc2665ac3d3f9606e68b5a7f3b49cd830a 100644 (file)
 #include <sys/types.h>
 #include <ltt/ltt.h>
 
+
+#ifndef max
+#define max(a,b) ((a)>(b)?(a):(b))
+#endif
+
+
 #define LTT_MAGIC_NUMBER 0x00D6B7ED
 #define LTT_REV_MAGIC_NUMBER 0xEDB7D600
 
@@ -37,8 +43,8 @@
 enum ltt_core_events {
     LTT_EVENT_FACILITY_LOAD,
     LTT_EVENT_FACILITY_UNLOAD,
-    LTT_EVENT_STATE_DUMP_FACILITY_LOAD,
-    LTT_EVENT_HEARTBEAT
+    LTT_EVENT_HEARTBEAT,
+    LTT_EVENT_STATE_DUMP_FACILITY_LOAD
 };
 
 
@@ -80,7 +86,7 @@ typedef guint16 uint16_t;
 typedef guint32 uint32_t;
 typedef guint64 uint64_t;
 
-/* Hardcoded facility load event : this plus an following "name" string */
+/* Hardcoded facility load event : this plus an preceding "name" string */
 struct LttFacilityLoad {
   guint32 checksum;
   guint32 id;
@@ -88,11 +94,11 @@ struct LttFacilityLoad {
   guint32 pointer_size;
   guint32 size_t_size;
   guint32 alignment;
-};
+} LTT_PACKED_STRUCT;
 
 struct LttFacilityUnload {
   guint32 id;
-};
+} LTT_PACKED_STRUCT;
 
 struct LttStateDumpFacilityLoad {
   guint32 checksum;
@@ -101,9 +107,7 @@ struct LttStateDumpFacilityLoad {
   guint32 pointer_size;
   guint32 size_t_size;
   guint32 alignment;
-};
-
-
+} LTT_PACKED_STRUCT;
 
 typedef struct _TimeHeartbeat {
   LttTime       time;       //Time stamp of this block
@@ -115,14 +119,14 @@ struct ltt_event_header_hb {
   unsigned char  facility_id;
   unsigned char event_id;
   uint16_t      event_size;
-} __attribute((aligned(8)));
+} LTT_PACKED_STRUCT;
 
 struct ltt_event_header_nohb {
   uint64_t      timestamp;
   unsigned char  facility_id;
   unsigned char event_id;
   uint16_t      event_size;
-} __attribute((aligned(8)));
+} LTT_PACKED_STRUCT;
 
 struct ltt_trace_header {
   uint32_t        magic_number;
@@ -136,7 +140,7 @@ struct ltt_trace_header {
   uint8_t          has_heartbeat;
   uint8_t          has_alignment;  /* Event header alignment */
        uint8_t                                  has_tsc;
-} __attribute((aligned(8)));
+} LTT_PACKED_STRUCT;
 
 
 struct ltt_block_start_header {
@@ -151,7 +155,7 @@ struct ltt_block_start_header {
   uint32_t                lost_size;  /* Size unused at the end of the buffer */
   uint32_t                buf_size;   /* The size of this sub-buffer */
   struct ltt_trace_header trace;
-} __attribute((aligned(8)));
+} LTT_PACKED_STRUCT;
 
 
 struct _LttType{
@@ -181,7 +185,7 @@ struct _LttEvent{
   /* Begin of LttEventPosition fields */
   LttTracefile  *tracefile;
   unsigned int  block;
-  void          *offset;
+  unsigned int  offset;
 
   /* Timekeeping */
   uint64_t                tsc;       /* Current timestamp counter */
@@ -200,6 +204,8 @@ struct _LttEvent{
 
   void * data;               //event data
   guint  data_size;
+  guint  event_size;         //event_size field of the header : 
+                             //used to verify data_size from facility.
 
   int      count;                    //the number of overflow of cycle count
   gint64 overflow_nsec;              //precalculated nsec for overflows
@@ -208,7 +214,7 @@ struct _LttEvent{
 struct _LttEventPosition{
   LttTracefile  *tracefile;
   unsigned int  block;
-  void          *offset;
+  unsigned int  offset;
   
   /* Timekeeping */
   uint64_t                tsc;       /* Current timestamp counter */
@@ -262,6 +268,7 @@ struct _LttFacility{
   guint32  id;          //id of the facility
  
   guint32 pointer_size;
+  guint32 long_size;
   guint32 size_t_size;
   guint32 alignment;
 
@@ -301,6 +308,7 @@ typedef struct _LttBuffer {
 
 struct _LttTracefile{
   gboolean cpu_online;               //is the cpu online ?
+  GQuark long_name;                  //tracefile complete filename
   GQuark name;                       //tracefile name
   guint cpu_num;                     //cpu number of the tracefile
   LttTrace * trace;                  //trace containing the tracefile
@@ -339,11 +347,14 @@ struct _LttTrace{
                                         /* Points to array of fac_id of all the
                                          * facilities that has this name. */
 
+  guint32   arch_type;
+  guint32   arch_variant;
+  guint8    arch_size;
   guint8    ltt_major_version;
   guint8    ltt_minor_version;
   guint8    flight_recorder;
   guint8    has_heartbeat;
// guint8    alignment;
 guint8    has_alignment;
        guint8          has_tsc;
 
   GData     *tracefiles;                    //tracefiles groups
This page took 0.024562 seconds and 4 git commands to generate.