- */
-
-#include <glib.h>
-#include <stdint.h>
-
-typedef GQuark bt_event_name;
-
-/* Forward declarations */
-struct babeltrace_iter;
-struct trace_collection;
-struct ctf_stream_event;
-struct ctf_stream;
-struct babeltrace_saved_pos;
-struct bt_dependencies;
-
-enum bt_cb_ret {
- BT_CB_OK = 0,
- BT_CB_OK_STOP = 1,
- BT_CB_ERROR_STOP = 2,
- BT_CB_ERROR_CONTINUE = 3,
-};
-
-struct trace_collection_pos {
- enum {
- BT_SEEK_TIME, /* uses u.seek_time */
- BT_SEEK_RESTORE, /* uses u.restore */
- BT_SEEK_CUR,
- BT_SEEK_BEGIN,
- BT_SEEK_END,
- } type;
- union {
- uint64_t seek_time;
- struct babeltrace_saved_pos *restore;
- } u;
-};
-
-struct bt_ctf_data {
- struct ctf_stream_event *event;
- struct ctf_stream *stream;
-};
-
-/*
- * babeltrace_iter_create - Allocate a trace collection iterator.
- *
- * begin_pos and end_pos are optional parameters to specify the position
- * at which the trace collection should be seeked upon iterator
- * creation, and the position at which iteration will start returning
- * "EOF".
- *
- * By default, if begin_pos is NULL, a BT_SEEK_CUR is performed at
- * creation. By default, if end_pos is NULL, a BT_SEEK_END (end of
- * trace) is the EOF criterion.
- */
-struct babeltrace_iter *babeltrace_iter_create(struct trace_collection *tc,
- struct trace_collection_pos *begin_pos,
- struct trace_collection_pos *end_pos);
-
-/*
- * babeltrace_iter_destroy - Free a trace collection iterator.
- */
-void babeltrace_iter_destroy(struct babeltrace_iter *iter);
-
-/*
- * babeltrace_iter_next: Move trace collection position to the next event.
- *
- * Returns 0 on success, a negative value on error
- */
-int babeltrace_iter_next(struct babeltrace_iter *iter);
-
-/*
- * babeltrace_iter_save_pos - Save the current trace collection position.
- *
- * The position returned by this function needs to be freed by
- * babeltrace_iter_free_pos after use.
- */
-struct trace_collection_pos *
- babeltrace_iter_save_pos(struct babeltrace_iter *iter);
-
-/*
- * babeltrace_iter_free_pos - Free the position.
- */
-void babeltrace_iter_free_pos(struct trace_collection_pos *pos);
-
-/*
- * babeltrace_iter_seek: seek iterator to given position.
- *
- * Return EOF if position is after the last event of the trace collection.
- * Return other negative value for other errors.
- * Return 0 for success.
- */
-int babeltrace_iter_seek(struct babeltrace_iter *iter,
- const struct trace_collection_pos *pos);
-
-/*
- * babeltrace_iter_read_event: Read the iterator's current event data.