-gboolean lttv_process_tracefile_seek_position(LttvTracefileContext *self,
- const LttEventPosition *pos);
+gint compare_tracefile(gconstpointer a, gconstpointer b);
+
+
+/* Synchronisation helpers : save/restore synchronization between ltt traces and
+ * a traceset context. */
+void lttv_process_traceset_synchronize_tracefiles(LttvTracesetContext *tsc);
+
+void lttv_process_traceset_get_sync_data(LttvTracesetContext *tsc);
+
+/* Seek n events forward and backward (without filtering) : only use these where
+ * necessary : the seek backward is costy. */
+
+#define BACKWARD_SEEK_MUL 2 /* Multiplication factor of time_offset between
+ backward seek iterations */
+
+static const LttTime seek_back_default_offset = { 1, 0 };
+
+typedef gboolean check_handler(guint count, gboolean *stop_flag);
+
+guint lttv_process_traceset_seek_n_forward(LttvTracesetContext *self,
+ guint n,
+ LttvFilter *filter,
+ check_handler *check,
+ gboolean *stop_flag);
+typedef void (*seek_time_fct)(LttvTracesetContext *self, LttTime start);
+
+/* If first_offset is ltt_time_zero, it will choose a default value */
+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);