#define TRACE_H
#include <ltt/ltt.h>
+#include <ltt/ltt-private.h>
#include <stdint.h>
#include <glib.h>
/* Support for markers */
GArray *markers; //indexed by marker ID
GHashTable *markers_hash; //indexed by name hash
+ GHashTable *markers_format_hash; //indexed by name hash
};
+static inline guint ltt_trace_get_num_cpu(LttTrace *t)
+{
+ return t->num_cpu;
+}
extern GQuark LTT_FACILITY_NAME_HEARTBEAT,
*/
LttTrace *ltt_trace_copy(LttTrace *self);
-GQuark ltt_trace_name(const LttTrace *t);
+static inline GQuark ltt_trace_name(const LttTrace *t)
+{
+ return t->pathname;
+}
-void ltt_trace_close(LttTrace *t);
-guint ltt_trace_get_num_cpu(LttTrace *t);
+void ltt_trace_close(LttTrace *t);
LttSystemDescription *ltt_trace_system_description(LttTrace *t);
-/* Functions to discover the facilities in the trace. Once the number
- of facilities is known, they may be accessed by position. Multiple
- versions of a facility (same name, different checksum) have consecutive
- positions. */
-
-//unsigned ltt_trace_facility_number(LttTrace *t);
-
-//LttFacility * ltt_trace_facility_by_id(LttTrace * trace, guint8 id);
-
-/* 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 */
-
-//unsigned ltt_trace_eventtype_number(LttTrace *t);
-
-//LttEventType *ltt_trace_eventtype_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 */
-GQuark ltt_tracefile_name(const LttTracefile *tf);
-GQuark ltt_tracefile_long_name(const LttTracefile *tf);
+static inline GQuark ltt_tracefile_name(const LttTracefile *tf)
+{
+ return tf->name;
+}
+
+static inline GQuark ltt_tracefile_long_name(const LttTracefile *tf)
+{
+ return tf->long_name;
+}
/* get the cpu number of the tracefile */
-guint ltt_tracefile_cpu(LttTracefile *tf);
+static inline guint ltt_tracefile_cpu(LttTracefile *tf)
+{
+ return tf->cpu_num;
+}
/* For usertrace */
-guint ltt_tracefile_tid(LttTracefile *tf);
-guint ltt_tracefile_pgid(LttTracefile *tf);
-guint64 ltt_tracefile_creation(LttTracefile *tf);
-
-
-LttTrace *ltt_tracefile_get_trace(LttTracefile *tf);
+static inline guint ltt_tracefile_tid(LttTracefile *tf)
+{
+ return tf->tid;
+}
+
+static inline guint ltt_tracefile_pgid(LttTracefile *tf)
+{
+ return tf->pgid;
+}
+
+static inline guint64 ltt_tracefile_creation(LttTracefile *tf)
+{
+ return tf->creation;
+}
+
+static inline LttTrace *ltt_tracefile_get_trace(LttTracefile *tf)
+{
+ return tf->trace;
+}
/* Get the number of blocks in the tracefile */
-unsigned ltt_tracefile_block_number(LttTracefile *tf);
+static inline guint ltt_tracefile_block_number(LttTracefile *tf)
+{
+ return tf->num_blocks;
+}
/* Seek to the first event of the trace with time larger or equal to time */
/* 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);
-
/* get the data type size and endian type of the local machine */
void getDataEndianType(LttArchSize * size, LttArchEndian * endian);
LttTime ltt_trace_start_time_monotonic(LttTrace *t);
-/* copy tracefile info over another. Used for sync. */
-LttTracefile *ltt_tracefile_new();
-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);
/* May return a NULL tracefile group */
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);