#include <ltt/ltt.h>
+
+extern GQuark LTT_FACILITY_NAME_HEARTBEAT,
+ LTT_EVENT_NAME_HEARTBEAT;
+
/* A trace is specified as a pathname to the directory containing all the
associated data (control tracefiles, per cpu tracefiles, event
descriptions...).
*/
-LttTrace *ltt_trace_open(const char *pathname);
+LttTrace *ltt_trace_open(const gchar *pathname);
/* copy reopens a trace
*
*/
LttTrace *ltt_trace_copy(LttTrace *self);
-char * ltt_trace_name(LttTrace *t);
+GQuark ltt_trace_name(LttTrace *t);
void ltt_trace_close(LttTrace *t);
LttFacility *ltt_trace_facility_get(LttTrace *t, unsigned i);
-LttFacility * ltt_trace_facility_by_id(LttTrace * trace, unsigned id);
+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
position, returning n, the facilities are from position to
position + n - 1. */
-unsigned ltt_trace_facility_find(LttTrace *t, char *name, unsigned *position);
+unsigned ltt_trace_facility_find(LttTrace *t, gchar *name, unsigned *position);
/* Functions to discover all the event types in the trace */
LttEventType *ltt_trace_eventtype_get(LttTrace *t, unsigned i);
-/* There is one "per cpu" tracefile for each CPU, numbered from 0 to
- the maximum number of CPU in the system. When the number of CPU installed
- is less than the maximum, some positions are unused. There are also a
- number of "control" tracefiles (facilities, interrupts...). */
-
-unsigned ltt_trace_control_tracefile_number(LttTrace *t);
-
-unsigned ltt_trace_per_cpu_tracefile_number(LttTrace *t);
-
-
-/* It is possible to search for the tracefiles by name or by CPU tracefile
- * name.
- * The index within the tracefiles of the same type is returned if found
- * and a negative value otherwise.
- */
-
-int ltt_trace_control_tracefile_find(LttTrace *t, const gchar *name);
-
-int ltt_trace_per_cpu_tracefile_find(LttTrace *t, const gchar *name);
-
-
-/* Get a specific tracefile */
-
-LttTracefile *ltt_trace_control_tracefile_get(LttTrace *t, unsigned i);
-
-LttTracefile *ltt_trace_per_cpu_tracefile_get(LttTrace *t, unsigned i);
-
-
/* Get the start time and end time of the trace */
void ltt_trace_time_span_get(LttTrace *t, LttTime *start, LttTime *end);
/* Get the name of a tracefile */
-char *ltt_tracefile_name(LttTracefile *tf);
+GQuark ltt_tracefile_name(LttTracefile *tf);
/* Get the number of blocks in the tracefile */
/* Seek to the first event of the trace with time larger or equal to time */
-void ltt_tracefile_seek_time(LttTracefile *t, LttTime time);
+int ltt_tracefile_seek_time(LttTracefile *t, LttTime time);
/* Seek to the first event with position equal or larger to ep */
-void ltt_tracefile_seek_position(LttTracefile *t,
+int ltt_tracefile_seek_position(LttTracefile *t,
const LttEventPosition *ep);
/* Read the next event */
-LttEvent *ltt_tracefile_read(LttTracefile *t, LttEvent *event);
-
-/* open tracefile */
-
-LttTracefile * ltt_tracefile_open(LttTrace *t, char * tracefile_name);
+int ltt_tracefile_read(LttTracefile *t);
-void ltt_tracefile_open_cpu(LttTrace *t, char * tracefile_name);
+/* ltt_tracefile_read cut down in pieces */
+int ltt_tracefile_read_seek(LttTracefile *t);
+int ltt_tracefile_read_update_event(LttTracefile *t);
+int ltt_tracefile_read_op(LttTracefile *t);
-gint ltt_tracefile_open_control(LttTrace *t, char * control_name);
+/* open tracefile */
+gint ltt_tracefile_open(LttTrace *t, gchar * fileName, LttTracefile *tf);
/* get the data type size and endian type of the local machine */
void getDataEndianType(LttArchSize * size, LttArchEndian * endian);
/* get an integer number */
-
-gint64 getIntNumber(int size1, void *evD);
-
+gint64 get_int(gboolean reverse_byte_order, gint size, void *data);
/* get the node name of the system */
-char * ltt_trace_system_description_node_name (LttSystemDescription * s);
+gchar * ltt_trace_system_description_node_name (LttSystemDescription * s);
/* get the domain name of the system */
-char * ltt_trace_system_description_domain_name (LttSystemDescription * s);
+gchar * ltt_trace_system_description_domain_name (LttSystemDescription * s);
/* get the description of the system */
-char * ltt_trace_system_description_description (LttSystemDescription * s);
+gchar * ltt_trace_system_description_description (LttSystemDescription * s);
/* get the start time of the trace */
void ltt_tracefile_destroy(LttTracefile *tf);
void ltt_tracefile_copy(LttTracefile *dest, const LttTracefile *src);
+void get_absolute_pathname(const gchar *pathname, gchar * abs_pathname);
+
+
#endif // TRACE_H