cpp-common/bt2c/fmt.hpp: use `wise_enum::string_type` in `EnableIfIsWiseEnum` definition
[babeltrace.git] / include / babeltrace2 / types.h
... / ...
CommitLineData
1/*
2 * SPDX-License-Identifier: MIT
3 *
4 * Copyright (C) 2010-2019 EfficiOS Inc. and Linux Foundation
5 */
6
7#ifndef BABELTRACE2_TYPES_H
8#define BABELTRACE2_TYPES_H
9
10#ifndef __BT_IN_BABELTRACE_H
11# error "Please include <babeltrace2/babeltrace.h> instead."
12#endif
13
14#include <stdint.h>
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20typedef struct bt_clock_class bt_clock_class;
21typedef struct bt_clock_snapshot bt_clock_snapshot;
22typedef struct bt_component bt_component;
23typedef struct bt_component_class bt_component_class;
24typedef struct bt_component_class_filter bt_component_class_filter;
25typedef struct bt_component_class_sink bt_component_class_sink;
26typedef struct bt_component_class_source bt_component_class_source;
27typedef struct bt_component_descriptor_set bt_component_descriptor_set;
28typedef struct bt_component_filter bt_component_filter;
29typedef struct bt_component_sink bt_component_sink;
30typedef struct bt_component_source bt_component_source;
31typedef struct bt_connection bt_connection;
32typedef struct bt_error bt_error;
33typedef struct bt_error_cause bt_error_cause;
34typedef struct bt_event bt_event;
35typedef struct bt_event_class bt_event_class;
36typedef struct bt_event_header_field bt_event_header_field;
37typedef struct bt_field bt_field;
38typedef struct bt_field_class bt_field_class;
39typedef struct bt_field_class_enumeration_mapping bt_field_class_enumeration_mapping;
40typedef struct bt_field_class_enumeration_signed_mapping bt_field_class_enumeration_signed_mapping;
41typedef struct bt_field_class_enumeration_unsigned_mapping bt_field_class_enumeration_unsigned_mapping;
42typedef struct bt_field_class_structure_member bt_field_class_structure_member;
43typedef struct bt_field_class_variant_option bt_field_class_variant_option;
44typedef struct bt_field_class_variant_with_selector_field_integer_signed_option bt_field_class_variant_with_selector_field_integer_signed_option;
45typedef struct bt_field_class_variant_with_selector_field_integer_unsigned_option bt_field_class_variant_with_selector_field_integer_unsigned_option;
46typedef struct bt_field_path bt_field_path;
47typedef struct bt_field_path_item bt_field_path_item;
48typedef struct bt_graph bt_graph;
49typedef struct bt_integer_range_set bt_integer_range_set;
50typedef struct bt_integer_range_set_signed bt_integer_range_set_signed;
51typedef struct bt_integer_range_set_unsigned bt_integer_range_set_unsigned;
52typedef struct bt_integer_range_signed bt_integer_range_signed;
53typedef struct bt_integer_range_unsigned bt_integer_range_unsigned;
54typedef struct bt_interrupter bt_interrupter;
55typedef struct bt_message bt_message;
56typedef struct bt_message_iterator bt_message_iterator;
57typedef struct bt_message_iterator_class bt_message_iterator_class;
58typedef struct bt_object bt_object;
59typedef struct bt_packet bt_packet;
60typedef struct bt_plugin bt_plugin;
61typedef struct bt_plugin_set bt_plugin_set;
62typedef struct bt_plugin_so_shared_lib_handle bt_plugin_so_shared_lib_handle;
63typedef struct bt_port bt_port;
64typedef struct bt_port_input bt_port_input;
65typedef struct bt_port_output bt_port_output;
66typedef struct bt_port_output_message_iterator bt_port_output_message_iterator;
67typedef struct bt_private_query_executor bt_private_query_executor;
68typedef struct bt_query_executor bt_query_executor;
69typedef struct bt_self_component bt_self_component;
70typedef struct bt_self_component_class bt_self_component_class;
71typedef struct bt_self_component_class_filter bt_self_component_class_filter;
72typedef struct bt_self_component_class_sink bt_self_component_class_sink;
73typedef struct bt_self_component_class_source bt_self_component_class_source;
74typedef struct bt_self_component_filter bt_self_component_filter;
75typedef struct bt_self_component_filter_configuration bt_self_component_filter_configuration;
76typedef struct bt_self_component_port bt_self_component_port;
77typedef struct bt_self_component_port_input bt_self_component_port_input;
78typedef struct bt_message_iterator bt_message_iterator;
79typedef struct bt_self_component_port_output bt_self_component_port_output;
80typedef struct bt_self_component_sink bt_self_component_sink;
81typedef struct bt_self_component_sink_configuration bt_self_component_sink_configuration;
82typedef struct bt_self_component_source bt_self_component_source;
83typedef struct bt_self_component_source_configuration bt_self_component_source_configuration;
84typedef struct bt_self_message_iterator bt_self_message_iterator;
85typedef struct bt_self_message_iterator_configuration bt_self_message_iterator_configuration;
86typedef struct bt_self_plugin bt_self_plugin;
87typedef struct bt_stream bt_stream;
88typedef struct bt_stream_class bt_stream_class;
89typedef struct bt_trace bt_trace;
90typedef struct bt_trace_class bt_trace_class;
91typedef struct bt_value bt_value;
92
93/*!
94@defgroup api-common-types Common C types
95
96@brief
97 C types common to many parts of the API.
98*/
99
100/*! @{ */
101
102/*!
103@brief
104 \em True value for #bt_bool.
105*/
106#define BT_TRUE 1
107
108/*!
109@brief
110 \em False value for #bt_bool.
111*/
112#define BT_FALSE 0
113
114/*!
115@brief
116 \bt_name boolean type.
117
118The API uses #bt_bool instead of the C99 \c bool type for
119<a href="https://en.wikipedia.org/wiki/Application_binary_interface">application binary interface</a>
120reasons.
121
122Use #BT_TRUE and #BT_FALSE to set and compare #bt_bool variables.
123*/
124typedef int bt_bool;
125
126/*!
127@brief
128 Numeric ID which identifies a user listener function.
129
130Some functions, such as bt_trace_add_destruction_listener(), return a
131listener ID when you add a user listener function to some object. You
132can then use this listener ID to remove the listener from the object.
133*/
134typedef uint64_t bt_listener_id;
135
136/*!
137@brief
138 A
139 <a href="https://en.wikipedia.org/wiki/Universally_unique_identifier">UUID</a>,
140 that is, an array of 16&nbsp;constant bytes.
141*/
142typedef uint8_t const *bt_uuid;
143
144/*!
145@brief
146 Availability of an object's property.
147
148Some getter functions of the API, such as
149bt_event_class_get_log_level(), return, by output parameter, an optional
150object property which is not a pointer. In that case, the function
151either:
152
153- Returns #BT_PROPERTY_AVAILABILITY_AVAILABLE and sets an output
154 parameter to the property's value.
155- Returns #BT_PROPERTY_AVAILABILITY_NOT_AVAILABLE.
156*/
157typedef enum bt_property_availability {
158 /*!
159 @brief
160 Property is available.
161 */
162 BT_PROPERTY_AVAILABILITY_AVAILABLE = 1,
163
164 /*!
165 @brief
166 Property is not available.
167 */
168 BT_PROPERTY_AVAILABILITY_NOT_AVAILABLE = 0,
169} bt_property_availability;
170
171/*!
172@brief
173 Array of constant \bt_p_msg.
174
175Such an array is filled by the
176\link api-msg-iter-cls-meth-next "next" method\endlink of a
177\bt_msg_iter and consumed with bt_message_iterator_next() by another
178message iterator or by a \bt_sink_comp.
179*/
180typedef bt_message const **bt_message_array_const;
181
182/*! @} */
183
184#ifdef __cplusplus
185}
186#endif
187
188#endif /* BABELTRACE2_TYPES_H */
This page took 0.023321 seconds and 4 git commands to generate.