Babeltrace 2 C API  2.1.0
Open-source trace manipulation framework
message-iterator.h
1 /*
2  * SPDX-License-Identifier: MIT
3  *
4  * Copyright (C) 2010-2019 EfficiOS Inc. and Linux Foundation
5  */
6 
7 #ifndef BABELTRACE2_GRAPH_MESSAGE_ITERATOR_H
8 #define BABELTRACE2_GRAPH_MESSAGE_ITERATOR_H
9 
10 /* IWYU pragma: private, include <babeltrace2/babeltrace.h> */
11 
12 #ifndef __BT_IN_BABELTRACE_H
13 # error "Please include <babeltrace2/babeltrace.h> instead."
14 #endif
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
215 
221 
228 
266  bt_self_message_iterator *self_message_iterator,
268  bt_message_iterator **message_iterator) __BT_NOEXCEPT;
269 
280 
286 
293 
331  bt_self_component_sink *self_component_sink,
333  bt_message_iterator **message_iterator) __BT_NOEXCEPT;
334 
356 extern bt_component *
358  bt_message_iterator *message_iterator) __BT_NOEXCEPT;
359 
376  BT_MESSAGE_ITERATOR_NEXT_STATUS_OK = __BT_FUNC_STATUS_OK,
377 
382  BT_MESSAGE_ITERATOR_NEXT_STATUS_END = __BT_FUNC_STATUS_END,
383 
388  BT_MESSAGE_ITERATOR_NEXT_STATUS_AGAIN = __BT_FUNC_STATUS_AGAIN,
389 
394  BT_MESSAGE_ITERATOR_NEXT_STATUS_MEMORY_ERROR = __BT_FUNC_STATUS_MEMORY_ERROR,
395 
400  BT_MESSAGE_ITERATOR_NEXT_STATUS_ERROR = __BT_FUNC_STATUS_ERROR,
402 
459  bt_message_array_const *messages, uint64_t *count)
460  __BT_NOEXCEPT;
461 
479 
485 
491 
498 
535  bt_message_iterator *message_iterator,
536  bt_bool *can_seek_beginning) __BT_NOEXCEPT;
537 
548 
554 
560 
567 
602  bt_message_iterator *message_iterator) __BT_NOEXCEPT;
603 
614 
620 
626 
633 
678  bt_message_iterator *message_iterator,
679  int64_t ns_from_origin, bt_bool *can_seek_ns_from_origin)
680  __BT_NOEXCEPT;
681 
692 
698 
704 
711 
751  bt_message_iterator *message_iterator,
752  int64_t ns_from_origin) __BT_NOEXCEPT;
753 
778 extern bt_bool
780  bt_message_iterator *message_iterator) __BT_NOEXCEPT;
781 
804 extern void bt_message_iterator_get_ref(
805  const bt_message_iterator *message_iterator) __BT_NOEXCEPT;
806 
822 extern void bt_message_iterator_put_ref(
823  const bt_message_iterator *message_iterator) __BT_NOEXCEPT;
824 
840 #define BT_MESSAGE_ITERATOR_PUT_REF_AND_RESET(_message_iterator) \
841  do { \
842  bt_message_iterator_put_ref(_message_iterator); \
843  (_message_iterator) = NULL; \
844  } while (0)
845 
872 #define BT_MESSAGE_ITERATOR_MOVE_REF(_dst, _src) \
873  do { \
874  bt_message_iterator_put_ref(_dst); \
875  (_dst) = (_src); \
876  (_src) = NULL; \
877  } while (0)
878 
883 #ifdef __cplusplus
884 }
885 #endif
886 
887 #endif /* BABELTRACE2_GRAPH_MESSAGE_ITERATOR_H */
bt_bool bt_message_iterator_can_seek_forward(bt_message_iterator *message_iterator)
Returns whether or not the message iterator message_iterator can seek forward.
Try again.
Definition: message-iterator.h:553
Other error.
Definition: message-iterator.h:709
Success.
Definition: message-iterator.h:478
bt_message_iterator_create_from_message_iterator_status
Status code for bt_message_iterator_create_from_message_iterator().
Definition: message-iterator.h:209
Out of memory.
Definition: message-iterator.h:490
Other error.
Definition: message-iterator.h:226
bt_message const ** bt_message_array_const
Array of constant messages.
Definition: types.h:182
void bt_message_iterator_get_ref(const bt_message_iterator *message_iterator)
Increments the reference count of the message iterator message_iterator.
struct bt_self_message_iterator bt_self_message_iterator
Self message iterator.
Definition: types.h:86
Out of memory.
Definition: message-iterator.h:394
struct bt_message_iterator bt_message_iterator
Message iterator.
Definition: types.h:59
Out of memory.
Definition: message-iterator.h:220
bt_message_iterator_next_status
Status code for bt_message_iterator_next().
Definition: message-iterator.h:371
Try again.
Definition: message-iterator.h:697
bt_message_iterator_create_from_sink_component_status
Status code for bt_message_iterator_create_from_sink_component().
Definition: message-iterator.h:274
void bt_message_iterator_put_ref(const bt_message_iterator *message_iterator)
Decrements the reference count of the message iterator message_iterator.
Out of memory.
Definition: message-iterator.h:559
bt_message_iterator_create_from_sink_component_status bt_message_iterator_create_from_sink_component(bt_self_component_sink *self_component_sink, bt_self_component_port_input *port, bt_message_iterator **message_iterator)
Creates a message iterator on the input port port from the sink component self_component_sink, and sets *message_iterator to the resulting message iterator.
Out of memory.
Definition: message-iterator.h:285
Other error.
Definition: message-iterator.h:631
Success.
Definition: message-iterator.h:279
struct bt_self_component_sink bt_self_component_sink
Self sink component.
Definition: types.h:82
bt_message_iterator_can_seek_beginning_status bt_message_iterator_can_seek_beginning(bt_message_iterator *message_iterator, bt_bool *can_seek_beginning)
Returns whether or not the message iterator message_iterator can currently seek its beginning (first ...
Success.
Definition: message-iterator.h:376
Other error.
Definition: message-iterator.h:400
Other error.
Definition: message-iterator.h:291
bt_message_iterator_seek_ns_from_origin_status bt_message_iterator_seek_ns_from_origin(bt_message_iterator *message_iterator, int64_t ns_from_origin)
Makes the message iterator message_iterator seek a message occurring at or after ns_from_origin nanos...
Try again.
Definition: message-iterator.h:619
struct bt_self_component_port_input bt_self_component_port_input
Self component input port.
Definition: types.h:79
Success.
Definition: message-iterator.h:691
bt_message_iterator_seek_beginning_status
Status code for bt_message_iterator_seek_beginning().
Definition: message-iterator.h:542
Success.
Definition: message-iterator.h:613
bt_message_iterator_seek_ns_from_origin_status
Status code for bt_message_iterator_seek_ns_from_origin().
Definition: message-iterator.h:686
bt_message_iterator_next_status bt_message_iterator_next(bt_message_iterator *message_iterator, bt_message_array_const *messages, uint64_t *count)
Returns the next messages of the message iterator message_iterator into the *messages array of size *...
struct bt_component bt_component
Component.
Definition: types.h:24
int bt_bool
Babeltrace 2 boolean type.
Definition: types.h:126
Success.
Definition: message-iterator.h:214
bt_component * bt_message_iterator_borrow_component(bt_message_iterator *message_iterator)
Borrows the component which provides the message iterator message_iterator.
Out of memory.
Definition: message-iterator.h:625
Other error.
Definition: message-iterator.h:565
Try again.
Definition: message-iterator.h:388
Out of memory.
Definition: message-iterator.h:703
bt_message_iterator_create_from_message_iterator_status bt_message_iterator_create_from_message_iterator(bt_self_message_iterator *self_message_iterator, bt_self_component_port_input *port, bt_message_iterator **message_iterator)
Creates a message iterator on the input port port from another message iterator self_message_iterator...
Try again.
Definition: message-iterator.h:484
bt_message_iterator_can_seek_beginning_status
Status code for bt_message_iterator_can_seek_beginning().
Definition: message-iterator.h:473
Other error.
Definition: message-iterator.h:496
End of iteration.
Definition: message-iterator.h:382
bt_message_iterator_seek_beginning_status bt_message_iterator_seek_beginning(bt_message_iterator *message_iterator)
Makes the message iterator message_iterator seek its beginning (first message).
Success.
Definition: message-iterator.h:547
bt_message_iterator_can_seek_ns_from_origin_status
Status code for bt_message_iterator_can_seek_ns_from_origin().
Definition: message-iterator.h:608
bt_message_iterator_can_seek_ns_from_origin_status bt_message_iterator_can_seek_ns_from_origin(bt_message_iterator *message_iterator, int64_t ns_from_origin, bt_bool *can_seek_ns_from_origin)
Returns whether or not the message iterator message_iterator can currently seek a message occurring a...