- char * pathname; //the pathname of the trace
- guint facility_number; //the number of facilities
- guint control_tracefile_number; //the number of control files
- guint per_cpu_tracefile_number; //the number of per cpu files
- LttSystemDescription * system_description;//system description
-
- GPtrArray *control_tracefiles; //array of control tracefiles
- GPtrArray *per_cpu_tracefiles; //array of per cpu tracefiles
- GPtrArray *facilities; //array of facilities
- LttArchSize my_arch_size; //data size of the local machine
- LttArchEndian my_arch_endian; //endian type of the local machine
-};
-
-struct _LttEventPosition{
- unsigned block_num; //block which contains the event
- unsigned event_num; //event index in the block
- unsigned event_offset; //event position in the block
- LttTime event_time; //the time of the event
- LttCycleCount event_cycle_count; //the cycle count of the event
- unsigned heart_beat_number; //current number of heart beats
- LttTracefile *tf; //tracefile containing the event
- gboolean old_position; //flag to show if it is the position
- //being remembered
- /* This is a workaround for fast position seek */
- void * last_event_pos;
-
- LttTime prev_block_end_time; //the end time of previous block
- LttTime prev_event_time; //the time of the previous event
- LttEvent an_event;
- LttCycleCount pre_cycle_count; //previous cycle count of the event
- int count; //the number of overflow of cycle count
- /* end of workaround */
+ GQuark pathname; //the pathname of the trace
+ //LttSystemDescription * system_description;//system description
+
+ GArray *facilities_by_num; /* fac_id as index in array */
+ GData *facilities_by_name; /* fac name (GQuark) as index */
+ /* Points to array of fac_id of all the
+ * facilities that has this name. */
+ guint num_cpu;
+
+ guint32 arch_type;
+ guint32 arch_variant;
+ guint8 arch_size;
+ guint8 ltt_major_version;
+ guint8 ltt_minor_version;
+ guint8 flight_recorder;
+ guint32 freq_scale;
+ uint64_t start_freq;
+ uint64_t start_tsc;
+ uint64_t start_monotonic;
+ LttTime start_time;
+ LttTime start_time_from_tsc;
+ 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