X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Fltt%2Fltt-private.h;h=8d862840d52579c01eb4f82f70d58838533499e1;hb=3c165eaf5aa1e60ce88c036cfb692ce3e1d81585;hp=a4801c1ca18d61dc090e2357da9af8d071ba8612;hpb=dd3a6d3981f13150b4262a418f5ee00c715eda71;p=lttv.git diff --git a/ltt/branches/poly/ltt/ltt-private.h b/ltt/branches/poly/ltt/ltt-private.h index a4801c1c..8d862840 100644 --- a/ltt/branches/poly/ltt/ltt-private.h +++ b/ltt/branches/poly/ltt/ltt-private.h @@ -25,7 +25,6 @@ #include #include - #ifndef max #define max(a,b) ((a)>(b)?(a):(b)) #endif @@ -138,15 +137,13 @@ typedef struct _TimeHeartbeatFull { struct ltt_event_header_hb { uint32_t timestamp; - unsigned char facility_id; - unsigned char event_id; + uint16_t event_id; uint16_t event_size; } LTT_PACKED_STRUCT; struct ltt_event_header_nohb { uint64_t timestamp; - unsigned char facility_id; - unsigned char event_id; + uint16_t event_id; uint16_t event_size; } LTT_PACKED_STRUCT; @@ -167,47 +164,7 @@ struct ltt_trace_header_any { uint32_t freq_scale; } LTT_PACKED_STRUCT; - -/* For version 0.3 */ - -struct ltt_trace_header_0_3 { - uint32_t magic_number; - uint32_t arch_type; - uint32_t arch_variant; - uint32_t float_word_order; - uint8_t arch_size; - uint8_t major_version; - uint8_t minor_version; - uint8_t flight_recorder; - uint8_t has_heartbeat; - uint8_t has_alignment; /* Event header alignment */ - uint32_t freq_scale; -} LTT_PACKED_STRUCT; - -/* For version 0.7 */ - -struct ltt_trace_header_0_7 { - uint32_t magic_number; - uint32_t arch_type; - uint32_t arch_variant; - uint32_t float_word_order; - uint8_t arch_size; - uint8_t major_version; - uint8_t minor_version; - uint8_t flight_recorder; - uint8_t has_heartbeat; - uint8_t has_alignment; /* Event header alignment */ - uint32_t freq_scale; - uint64_t start_freq; - uint64_t start_tsc; - uint64_t start_monotonic; - uint64_t start_time_sec; - uint64_t start_time_usec; -} LTT_PACKED_STRUCT; - -/* For version 0.8 */ - -struct ltt_trace_header_0_8 { +struct ltt_trace_header_1_0 { uint32_t magic_number; uint32_t arch_type; uint32_t arch_variant; @@ -251,16 +208,22 @@ struct _LttType{ guint size; LttTypeEnum type_class; //which type GHashTable *enum_map; //maps enum labels to numbers. + gint32 highest_value; //For enum + gint32 lowest_value; //For enum GArray *fields; // Array of LttFields, for array, sequence, union, struct. GData *fields_by_name; guint network; // Is the type in network byte order ? + //part added by gaby for fmt: + char *header; + char *separator; + char *footer; }; struct _LttEventType{ GQuark name; gchar * description; guint index; //id of the event type within the facility - LttFacility * facility; //the facility that contains the event type + struct marker_info *info; GArray * fields; //event's fields (LttField) GData *fields_by_name; int has_compact_data; //event header contains compact data (first field) @@ -282,8 +245,7 @@ struct _LttEvent{ guint32 timestamp; /* truncated timestamp */ - unsigned char facility_id; /* facility ID are never reused. */ - unsigned char event_id; + guint16 event_id; LttTime event_time; @@ -330,6 +292,7 @@ struct _LttField{ // contain variable length fields. }; +#if 0 struct _LttFacility{ LttTrace *trace; GQuark name; @@ -348,6 +311,7 @@ struct _LttFacility{ unsigned char exists; /* 0 does not exist, 1 exists */ }; +#endif //0 typedef struct _LttBuffer { void * head; @@ -390,6 +354,7 @@ struct _LttTracefile{ size_t has_alignment; //alignment of events in the tracefile. // 0 or the architecture size in bytes. + guint8 has_heartbeat; size_t buffer_header_size; int compact; //compact tracefile ? uint8_t tsc_lsb_truncate; @@ -434,17 +399,18 @@ struct _LttTrace{ guint8 ltt_major_version; guint8 ltt_minor_version; guint8 flight_recorder; - guint8 has_heartbeat; guint32 freq_scale; uint64_t start_freq; uint64_t start_tsc; uint64_t start_monotonic; LttTime start_time; LttTime start_time_from_tsc; - GArray *compact_facilities; uint8_t compact_event_bits; GData *tracefiles; //tracefiles groups + /* Support for markers */ + GArray *markers; //indexed by marker ID + GHashTable *markers_hash; //indexed by name hash }; /* The characteristics of the system on which the trace was obtained