X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=include%2Fbabeltrace%2Fiterator.h;h=0acd91d431b2a98e59c7ad2e43c395dfc53166e2;hp=1de2809b88a8562715689cb33d903b5c91d0deb9;hb=dc81689e3a3b6facb2ffe89f0a0353a8eb0caeec;hpb=e8c92a62cb474a1bb64bcbfff47c17291751b959 diff --git a/include/babeltrace/iterator.h b/include/babeltrace/iterator.h index 1de2809b..0acd91d4 100644 --- a/include/babeltrace/iterator.h +++ b/include/babeltrace/iterator.h @@ -69,13 +69,13 @@ void bt_iter_destroy(struct bt_iter *iter); int bt_iter_next(struct bt_iter *iter); /* - * bt_iter_save_pos - Save the current trace collection position. + * bt_iter_get_pos - Get the current iterator position. * * The position returned by this function needs to be freed by * bt_iter_free_pos after use. */ struct bt_iter_pos * - bt_iter_save_pos(struct bt_iter *iter); + bt_iter_get_pos(struct bt_iter *iter); /* * bt_iter_free_pos - Free the position. @@ -83,14 +83,28 @@ struct bt_iter_pos * void bt_iter_free_pos(struct bt_iter_pos *pos); /* - * bt_iter_seek: seek iterator to given position. + * bt_iter_set_pos: move the iterator to a given position. + * + * On error, the stream_heap is reinitialized and returned empty. * - * Return EOF if position is after the last event of the trace collection. - * Return other negative value for other errors. * Return 0 for success. + * + * Return EOF if the position requested is after the last event of the + * trace collection. + * Return -EINVAL when called with invalid parameter. + * Return -ENOMEM if the stream_heap could not be properly initialized. + */ +int bt_iter_set_pos(struct bt_iter *iter, const struct bt_iter_pos *pos); + +/* + * bt_iter_create_time_pos: create a position based on time + * + * This function allocates and returns a new bt_iter_pos (which must be freed + * with bt_iter_free_pos) to be able to restore an iterator position based on a + * timestamp. */ -int bt_iter_seek(struct bt_iter *iter, - const struct bt_iter_pos *pos); +struct bt_iter_pos *bt_iter_create_time_pos(struct bt_iter *iter, + uint64_t timestamp); /* * bt_iter_read_event: Read the iterator's current event data.