X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fplugin%2Fnotification%2Fiterator.h;h=20bc1cbc388938e530440192207027d3b45a3ad5;hb=09ac5ce7990677798a58638ab45ab1a62e615a9a;hp=55de0ea07f30eed1ff4202a7dc6b972cd4083086;hpb=d01e0f33ea0abad95b6e85a4d73c9395243ed06b;p=babeltrace.git diff --git a/include/babeltrace/plugin/notification/iterator.h b/include/babeltrace/plugin/notification/iterator.h index 55de0ea0..20bc1cbc 100644 --- a/include/babeltrace/plugin/notification/iterator.h +++ b/include/babeltrace/plugin/notification/iterator.h @@ -40,29 +40,36 @@ struct bt_notification_iterator; * Status code. Errors are always negative. */ enum bt_notification_iterator_status { + /** No more notifications to be delivered. */ + BT_NOTIFICATION_ITERATOR_STATUS_END = 1, /** No error, okay. */ BT_NOTIFICATION_ITERATOR_STATUS_OK = 0, /** Invalid arguments. */ BT_NOTIFICATION_ITERATOR_STATUS_INVAL = -1, /** General error. */ BT_NOTIFICATION_ITERATOR_STATUS_ERROR = -2, + /** Out of memory. */ + BT_NOTIFICATION_ITERATOR_STATUS_NOMEM = -3, /** Unsupported iterator feature. */ - BT_NOTIFICATION_ITERATOR_STATUS_UNSUPPORTED = -3, + BT_NOTIFICATION_ITERATOR_STATUS_UNSUPPORTED = -4, }; /** * Notification iterator seek reference. */ -enum bt_notification_iterator_seek_type { +enum bt_notification_iterator_seek_origin { /** Seek at a time relative to the beginning of the trace. */ - BT_NOTIFICATION_ITERATOR_SEEK_TYPE_BEGIN = 0, + BT_NOTIFICATION_ITERATOR_SEEK_ORIGIN_BEGIN = 0, /** Seek at a time relative to the current position. */ - BT_NOTIFICATION_ITERATOR_SEEK_TYPE_CURRENT = 1, + BT_NOTIFICATION_ITERATOR_SEEK_ORIGIN_CURRENT = 1, /** Seek at a time relative to the end of the trace. */ - BT_NOTIFICATION_ITERATOR_SEEK_TYPE_END = 1, + BT_NOTIFICATION_ITERATOR_SEEK_ORIGIN_END = 2, + + /** Seek at a time relative to EPOCH. */ + BT_NOTIFICATION_ITERATOR_SEEK_ORIGIN_EPOCH = 3, }; /** @@ -94,14 +101,16 @@ extern enum bt_notification_iterator_status bt_notification_iterator_next(struct bt_notification_iterator *iterator); /** - * Seek iterator to position. + * Seek iterator to time. * * Sets the iterator's position for the trace associated with the iterator. * The new position is computed by adding \p time to the position specified - * by \p whence. + * by \p seek_origin. + * + * time is expressed in nanoseconds. * * @param iterator Iterator instance - * @param whence One of #bt_notification_iterator_seek_type values. + * @param seek_origin One of #bt_notification_iterator_seek_type values. * @returns One of #bt_notification_iterator_status values; * if \iterator does not support seeking, * #BT_NOTIFICATION_ITERATOR_STATUS_UNSUPPORTED is @@ -109,8 +118,9 @@ bt_notification_iterator_next(struct bt_notification_iterator *iterator); * * @see bt_notification_iterator_get_notification() */ -extern enum bt_notification_iterator_status *bt_notification_iterator_seek( - struct bt_notification_iterator *iterator, int whence, +extern enum bt_notification_iterator_status bt_notification_iterator_seek_time( + struct bt_notification_iterator *iterator, + enum bt_notification_iterator_seek_origin seek_origin, int64_t time); extern struct bt_component *bt_notification_iterator_get_component(