#include <ltt/ltt.h>
-
extern GQuark LTT_FACILITY_NAME_HEARTBEAT,
LTT_EVENT_NAME_HEARTBEAT;
*/
LttTrace *ltt_trace_copy(LttTrace *self);
-GQuark ltt_trace_name(LttTrace *t);
+GQuark ltt_trace_name(const LttTrace *t);
void ltt_trace_close(LttTrace *t);
+guint ltt_trace_get_num_cpu(LttTrace *t);
LttSystemDescription *ltt_trace_system_description(LttTrace *t);
LttFacility * ltt_trace_facility_by_id(LttTrace * trace, guint8 id);
-/* Look for a facility by name. It returns the number of facilities found
- and sets the position argument to the first found. Returning 0, the named
- facility is unknown, returning 1, the named facility is at the specified
- position, returning n, the facilities are from position to
- position + n - 1. */
-
-unsigned ltt_trace_facility_find(LttTrace *t, gchar *name, unsigned *position);
-
+/* Returns an array of indexes (guint) that matches the facility name */
+GArray *ltt_trace_facility_get_by_name(LttTrace *t, GQuark name);
/* Functions to discover all the event types in the trace */
/* Get the name of a tracefile */
-GQuark ltt_tracefile_name(LttTracefile *tf);
+GQuark ltt_tracefile_name(const LttTracefile *tf);
+GQuark ltt_tracefile_long_name(const LttTracefile *tf);
+
+/* get the cpu number of the tracefile */
+guint ltt_tracefile_num(LttTracefile *tf);
+
+LttTrace *ltt_tracefile_get_trace(LttTracefile *tf);
/* Get the number of blocks in the tracefile */
int ltt_tracefile_read_update_event(LttTracefile *t);
int ltt_tracefile_read_op(LttTracefile *t);
+/* Get the current event of the tracefile : valid until the next read */
+LttEvent *ltt_tracefile_get_event(LttTracefile *tf);
+
/* open tracefile */
gint ltt_tracefile_open(LttTrace *t, gchar * fileName, LttTracefile *tf);
void get_absolute_pathname(const gchar *pathname, gchar * abs_pathname);
+/* May return a NULL tracefile group */
+GData **ltt_trace_get_tracefiles_groups(LttTrace *trace);
+
+typedef void (*ForEachTraceFileFunc)(LttTracefile *tf, gpointer func_args);
+
+struct compute_tracefile_group_args {
+ ForEachTraceFileFunc func;
+ gpointer func_args;
+};
+
+
+void compute_tracefile_group(GQuark key_id,
+ GArray *group,
+ struct compute_tracefile_group_args *args);
+
+LttFacility *ltt_trace_get_facility_by_num(LttTrace *t, guint num);
+
+
+gint check_fields_compatibility(LttEventType *event_type1,
+ LttEventType *event_type2,
+ LttField *field1, LttField *field2);
+
+gint64 ltt_get_int(gboolean reverse_byte_order, gint size, void *data);
+guint64 ltt_get_uint(gboolean reverse_byte_order, gint size, void *data);
#endif // TRACE_H