X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=include%2Fbabeltrace%2Fiterator.h;h=0acd91d431b2a98e59c7ad2e43c395dfc53166e2;hp=2760724291250be7a71f328af0e33c081bdd82d7;hb=dc81689e3a3b6facb2ffe89f0a0353a8eb0caeec;hpb=20d24215ef299a387abac4850f82359de8a86f4d diff --git a/include/babeltrace/iterator.h b/include/babeltrace/iterator.h index 27607242..0acd91d4 100644 --- a/include/babeltrace/iterator.h +++ b/include/babeltrace/iterator.h @@ -85,12 +85,26 @@ void bt_iter_free_pos(struct bt_iter_pos *pos); /* * bt_iter_set_pos: move the iterator to a given position. * - * Return EOF if position is after the last event of the trace collection. - * Return other negative value for other errors. + * On error, the stream_heap is reinitialized and returned empty. + * * 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_set_pos(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.