Add Debug output on errors
[lttv.git] / ltt / trace.h
index 202def1094d5853ba345c7271fe862e97aad9f2f..64c38da4a18c91859efb23f8ed25b0839324327e 100644 (file)
@@ -41,10 +41,14 @@ struct LttTrace {
   uint64_t  start_freq;
   uint64_t  start_tsc;
   uint64_t  start_monotonic;
+  double    drift;
+  double    offset;
   LttTime   start_time;
   LttTime   start_time_from_tsc;
+       gboolean  is_live; /* Flag indicating that read trace is currently being recorded */
+       LttTime live_safe_timestamp; /* In a live trace, timestamp were all data should be readable */
 
-  GData     *tracefiles;                    //tracefiles groups
+       GData     *tracefiles;                    /*tracefiles groups*/
 };
 
 static inline guint ltt_trace_get_num_cpu(LttTrace *t)
@@ -65,6 +69,10 @@ static inline guint ltt_trace_get_num_cpu(LttTrace *t)
 
 LttTrace *ltt_trace_open(const gchar *pathname);
 
+/* Same as ltt_trace_open but open the trace in live mode */
+LttTrace *ltt_trace_open_live(const gchar *pathname);
+
+
 /* copy reopens a trace 
  *
  * return value NULL if error while opening the trace 
@@ -75,7 +83,8 @@ static inline GQuark ltt_trace_name(const LttTrace *t)
 {
   return t->pathname;
 }
-
+/* Update the informations concerning a trace, normally a live one */
+int ltt_trace_update(LttTrace *trace);
 
 void ltt_trace_close(LttTrace *t); 
 
@@ -139,6 +148,9 @@ static inline guint ltt_tracefile_block_number(LttTracefile *tf)
 
 int ltt_tracefile_seek_time(LttTracefile *t, LttTime time);
 
+
+int ltt_tracefile_get_current_position(const LttTracefile *tf,  LttEventPosition *ep);
+
 /* Seek to the first event with position equal or larger to ep */
 
 int ltt_tracefile_seek_position(LttTracefile *t,
@@ -207,9 +219,20 @@ gint64 ltt_get_int(gboolean reverse_byte_order, gint size, void *data);
 
 guint64 ltt_get_uint(gboolean reverse_byte_order, gint size, void *data);
 
+guint64 tsc_to_uint64(guint32 freq_scale, uint64_t start_freq, guint64 tsc);
+
 LttTime ltt_interpolate_time_from_tsc(LttTracefile *tf, guint64 tsc);
 
 /* Set to enable event debugging output */
 void ltt_event_debug(int state);
 
+/* A structure representing the version number of the trace */
+struct LttTraceVersion {
+  guint8    ltt_major_version;
+  guint8    ltt_minor_version;
+};
+
+/* To get the version number of a trace */
+int ltt_get_trace_version(const gchar *pathname, struct LttTraceVersion * version_number);
+
 #endif // TRACE_H
This page took 0.023365 seconds and 4 git commands to generate.