Babeltrace 2 C API  2.0.3
Open-source trace manipulation framework
 All Functions Variables Typedefs Enumerations Enumerator Modules Pages
message-iterator.h
1 #ifndef BABELTRACE2_GRAPH_MESSAGE_ITERATOR_H
2 #define BABELTRACE2_GRAPH_MESSAGE_ITERATOR_H
3 
4 /*
5  * Copyright (c) 2010-2019 EfficiOS Inc. and Linux Foundation
6  *
7  * Permission is hereby granted, free of charge, to any person obtaining a copy
8  * of this software and associated documentation files (the "Software"), to deal
9  * in the Software without restriction, including without limitation the rights
10  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11  * copies of the Software, and to permit persons to whom the Software is
12  * furnished to do so, subject to the following conditions:
13  *
14  * The above copyright notice and this permission notice shall be included in
15  * all copies or substantial portions of the Software.
16  *
17  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23  * SOFTWARE.
24  */
25 
26 #ifndef __BT_IN_BABELTRACE_H
27 # error "Please include <babeltrace2/babeltrace.h> instead."
28 #endif
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
229 
235 
242 
279  bt_self_message_iterator *self_message_iterator,
281  bt_message_iterator **message_iterator);
282 
293 
299 
306 
343  bt_self_component_sink *self_component_sink,
345  bt_message_iterator **message_iterator);
346 
368 extern bt_component *
370  bt_message_iterator *message_iterator);
371 
388  BT_MESSAGE_ITERATOR_NEXT_STATUS_OK = __BT_FUNC_STATUS_OK,
389 
394  BT_MESSAGE_ITERATOR_NEXT_STATUS_END = __BT_FUNC_STATUS_END,
395 
400  BT_MESSAGE_ITERATOR_NEXT_STATUS_AGAIN = __BT_FUNC_STATUS_AGAIN,
401 
406  BT_MESSAGE_ITERATOR_NEXT_STATUS_MEMORY_ERROR = __BT_FUNC_STATUS_MEMORY_ERROR,
407 
412  BT_MESSAGE_ITERATOR_NEXT_STATUS_ERROR = __BT_FUNC_STATUS_ERROR,
414 
471  bt_message_array_const *messages, uint64_t *count);
472 
490 
496 
502 
509 
546  bt_message_iterator *message_iterator,
547  bt_bool *can_seek_beginning);
548 
559 
565 
571 
578 
613  bt_message_iterator *message_iterator);
614 
625 
631 
637 
644 
689  bt_message_iterator *message_iterator,
690  int64_t ns_from_origin, bt_bool *can_seek_ns_from_origin);
691 
702 
708 
714 
721 
761  bt_message_iterator *message_iterator,
762  int64_t ns_from_origin);
763 
788 extern bt_bool
790  bt_message_iterator *message_iterator);
791 
814 extern void bt_message_iterator_get_ref(
815  const bt_message_iterator *message_iterator);
816 
832 extern void bt_message_iterator_put_ref(
833  const bt_message_iterator *message_iterator);
834 
850 #define BT_MESSAGE_ITERATOR_PUT_REF_AND_RESET(_message_iterator) \
851  do { \
852  bt_message_iterator_put_ref(_message_iterator); \
853  (_message_iterator) = NULL; \
854  } while (0)
855 
882 #define BT_MESSAGE_ITERATOR_MOVE_REF(_dst, _src) \
883  do { \
884  bt_message_iterator_put_ref(_dst); \
885  (_dst) = (_src); \
886  (_src) = NULL; \
887  } while (0)
888 
893 #ifdef __cplusplus
894 }
895 #endif
896 
897 #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:564
Other error.
Definition: message-iterator.h:719
Success.
Definition: message-iterator.h:489
bt_message_iterator_create_from_message_iterator_status
Status code for bt_message_iterator_create_from_message_iterator().
Definition: message-iterator.h:223
Out of memory.
Definition: message-iterator.h:501
Other error.
Definition: message-iterator.h:240
bt_message const ** bt_message_array_const
Array of constant messages.
Definition: types.h:196
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:100
Out of memory.
Definition: message-iterator.h:406
struct bt_message_iterator bt_message_iterator
Message iterator.
Definition: types.h:72
Out of memory.
Definition: message-iterator.h:234
bt_message_iterator_next_status
Status code for bt_message_iterator_next().
Definition: message-iterator.h:383
Try again.
Definition: message-iterator.h:707
bt_message_iterator_create_from_sink_component_status
Status code for bt_message_iterator_create_from_sink_component().
Definition: message-iterator.h:287
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:570
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:298
Other error.
Definition: message-iterator.h:642
Success.
Definition: message-iterator.h:292
struct bt_self_component_sink bt_self_component_sink
Self sink component.
Definition: types.h:96
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:388
Other error.
Definition: message-iterator.h:412
Other error.
Definition: message-iterator.h:304
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:630
struct bt_self_component_port_input bt_self_component_port_input
Self component input port.
Definition: types.h:93
Success.
Definition: message-iterator.h:701
bt_message_iterator_seek_beginning_status
Status code for bt_message_iterator_seek_beginning().
Definition: message-iterator.h:553
Success.
Definition: message-iterator.h:624
bt_message_iterator_seek_ns_from_origin_status
Status code for bt_message_iterator_seek_ns_from_origin().
Definition: message-iterator.h:696
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:38
int bt_bool
Babeltrace 2 boolean type.
Definition: types.h:140
Success.
Definition: message-iterator.h:228
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:636
Other error.
Definition: message-iterator.h:576
Try again.
Definition: message-iterator.h:400
Out of memory.
Definition: message-iterator.h:713
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:495
bt_message_iterator_can_seek_beginning_status
Status code for bt_message_iterator_can_seek_beginning().
Definition: message-iterator.h:484
Other error.
Definition: message-iterator.h:507
End of iteration.
Definition: message-iterator.h:394
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:558
bt_message_iterator_can_seek_ns_from_origin_status
Status code for bt_message_iterator_can_seek_ns_from_origin().
Definition: message-iterator.h:619
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...