X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Fltt%2Fltt-private.h;h=c71c8fbc2665ac3d3f9606e68b5a7f3b49cd830a;hb=69bd59ed20497e8453727155aa54c9b515e1c3ab;hp=25692fae06a488161bc465566b87ad19c1da64b1;hpb=3aee1200b100fe8063661fd2d8eaa5fbbfc1977f;p=lttv.git diff --git a/ltt/branches/poly/ltt/ltt-private.h b/ltt/branches/poly/ltt/ltt-private.h index 25692fae..c71c8fbc 100644 --- a/ltt/branches/poly/ltt/ltt-private.h +++ b/ltt/branches/poly/ltt/ltt-private.h @@ -23,6 +23,12 @@ #include #include + +#ifndef max +#define max(a,b) ((a)>(b)?(a):(b)) +#endif + + #define LTT_MAGIC_NUMBER 0x00D6B7ED #define LTT_REV_MAGIC_NUMBER 0xEDB7D600 @@ -30,8 +36,6 @@ #define LTT_PACKED_STRUCT __attribute__ ((packed)) -#define NUM_FACILITIES 256 - /* Hardcoded facilities */ #define LTT_FACILITY_CORE 0 @@ -39,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 }; @@ -82,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; @@ -90,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; @@ -103,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 @@ -117,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; @@ -138,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 { @@ -153,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{ @@ -183,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 */ @@ -201,6 +203,9 @@ struct _LttEvent{ LttTime event_time; 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 @@ -209,7 +214,7 @@ struct _LttEvent{ struct _LttEventPosition{ LttTracefile *tracefile; unsigned int block; - void *offset; + unsigned int offset; /* Timekeeping */ uint64_t tsc; /* Current timestamp counter */ @@ -263,6 +268,7 @@ struct _LttFacility{ guint32 id; //id of the facility guint32 pointer_size; + guint32 long_size; guint32 size_t_size; guint32 alignment; @@ -302,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 @@ -340,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