libltt compiles
[lttv.git] / ltt / branches / poly / lttv / lttv / tracecontext.h
index df78677cc3c8f41afa79067a36c10047a27a7ed3..be9a951444110c4abe54ad9f2f8f0eebd3a9b295 100644 (file)
@@ -23,6 +23,7 @@
 #include <lttv/attribute.h>
 #include <lttv/hook.h>
 #include <ltt/ltt.h>
+#include <ltt/markers.h>
 
 /* This is the generic part of trace processing. All events within a
    certain time interval are accessed and processing hooks are called for
@@ -175,6 +176,8 @@ struct _LttvTracefileContext {
   LttvHooksById *event_by_id;
   LttTime timestamp;
   LttvAttribute *a;
+  gint target_pid;          /* Target PID of the event.
+                               Updated by state.c. -1 means unset. */
 };
 
 struct _LttvTracefileContextClass {
@@ -272,11 +275,6 @@ void lttv_tracefile_context_remove_hooks_by_id(LttvTracefileContext *self,
 /* A LttvTraceHook has two arrays of LttvTraceHookByFacility,
  * indexed by facility ID and a simple array used to walk all the hooks */
 typedef struct _LttvTraceHook {
-  GArray *fac_index;
-  GArray *fac_list;
-} LttvTraceHook;
-
-typedef struct _LttvTraceHookByFacility {
   LttvHook h;
   guint id;
   LttField *f1;
@@ -286,14 +284,9 @@ typedef struct _LttvTraceHookByFacility {
 } LttvTraceHookByFacility;
 
 
-/* Get the first facility corresponding to the name. As the types must be
- * compatible, it is relevant to use the field name and sizes of the first
- * facility to create data structures and assume the data will be compatible
- * thorough the trace */
-LttvTraceHookByFacility *lttv_trace_hook_get_first(LttvTraceHook *th);
-
-LttvTraceHookByFacility *lttv_trace_hook_get_fac(
-    LttvTraceHook *th, guint facility_id);
+/* Get the head of marker list correcponding to the given trace hook.
+ */
+struct marker_info *lttv_trace_hook_get_marker(LttvTraceHook *th);
 
 void lttv_trace_hook_destroy(LttvTraceHook *th);
 
@@ -304,7 +297,7 @@ void lttv_trace_hook_destroy(LttvTraceHook *th);
    registering a hook using this structure as event data;
    it already contains the (up to three) needed fields handles. */
  
-gint lttv_trace_find_hook(LttTrace *t, GQuark facility, GQuark event_type,
+gint lttv_trace_find_hook(LttTrace *t, GQuark event_type,
     GQuark field1, GQuark field2, GQuark field3, LttvHook h,
     gpointer hook_data, LttvTraceHook *th);
 
@@ -348,11 +341,18 @@ void lttv_process_traceset_get_sync_data(LttvTracesetContext *tsc);
 #define BACKWARD_SEEK_MUL 2 /* Multiplication factor of time_offset between
                                backward seek iterations */
 
-static const LttTime seek_back_default_offset = { 0, 1000000 };
+static const LttTime seek_back_default_offset = { 1, 0 };
+
+typedef gboolean check_handler(guint count, gboolean *stop_flag, gpointer data);
 
 guint lttv_process_traceset_seek_n_forward(LttvTracesetContext *self,
                                            guint n,
-                                           LttvFilter *filter);
+                                          check_handler *check,
+                                          gboolean *stop_flag,
+                                          LttvFilter *filter1,
+                                          LttvFilter *filter2,
+                                          LttvFilter *filter3,
+                                          gpointer data);
 typedef void (*seek_time_fct)(LttvTracesetContext *self, LttTime start);
 
 /* If first_offset is ltt_time_zero, it will choose a default value */
@@ -360,7 +360,12 @@ guint lttv_process_traceset_seek_n_backward(LttvTracesetContext *self,
                                             guint n,
                                             LttTime first_offset,
                                             seek_time_fct,
-                                            LttvFilter *filter);
+                                           check_handler *check,
+                                           gboolean *stop_flag,
+                                           LttvFilter *filter1,
+                                           LttvFilter *filter2,
+                                           LttvFilter *filter3,
+                                           gpointer data);
 
 
 #endif // PROCESSTRACE_H
This page took 0.023417 seconds and 4 git commands to generate.