#include <stdint.h>
+/* Internal use */
+#ifdef __cplusplus
+# define __BT_UPCAST(_type, _p) static_cast<_type *>(static_cast<void *>(_p))
+# define __BT_UPCAST_CONST(_type, _p) static_cast<const _type *>(static_cast<const void *>(_p))
+#else
+# define __BT_UPCAST(_type, _p) ((_type *) (_p))
+# define __BT_UPCAST_CONST(_type, _p) ((const _type *) (_p))
+#endif
+
#ifdef __cplusplus
extern "C" {
#endif
typedef const uint8_t *bt_uuid;
+typedef struct bt_clock_class bt_clock_class;
+typedef struct bt_clock_snapshot bt_clock_snapshot;
+typedef struct bt_component bt_component;
+typedef struct bt_component_class bt_component_class;
+typedef struct bt_component_class_filter bt_component_class_filter;
+typedef struct bt_component_class_sink bt_component_class_sink;
+typedef struct bt_component_class_source bt_component_class_source;
+typedef struct bt_component_filter bt_component_filter;
+typedef struct bt_component_sink bt_component_sink;
+typedef struct bt_component_source bt_component_source;
+typedef struct bt_connection bt_connection;
+typedef struct bt_event bt_event;
+typedef struct bt_event_class bt_event_class;
+typedef struct bt_event_header_field bt_event_header_field;
+typedef struct bt_field bt_field;
+typedef struct bt_field_class bt_field_class;
+typedef struct bt_field_class_enumeration_mapping bt_field_class_enumeration_mapping;
+typedef struct bt_field_class_signed_enumeration_mapping bt_field_class_signed_enumeration_mapping;
+typedef struct bt_field_class_unsigned_enumeration_mapping bt_field_class_unsigned_enumeration_mapping;
+typedef struct bt_field_class_structure_member bt_field_class_structure_member;
+typedef struct bt_field_class_variant_option bt_field_class_variant_option;
+typedef struct bt_field_path bt_field_path;
+typedef struct bt_field_path_item bt_field_path_item;
+typedef struct bt_graph bt_graph;
+typedef struct bt_message bt_message;
+typedef struct bt_message_iterator bt_message_iterator;
+typedef struct bt_object bt_object;
+typedef struct bt_packet bt_packet;
+typedef struct bt_packet_context_field bt_packet_context_field;
+typedef struct bt_packet_header_field bt_packet_header_field;
+typedef struct bt_plugin bt_plugin;
+typedef struct bt_plugin_set bt_plugin_set;
+typedef struct bt_plugin_so_shared_lib_handle bt_plugin_so_shared_lib_handle;
+typedef struct bt_port bt_port;
+typedef struct bt_port_input bt_port_input;
+typedef struct bt_port_output bt_port_output;
+typedef struct bt_port_output_message_iterator bt_port_output_message_iterator;
+typedef struct bt_query_executor bt_query_executor;
+typedef struct bt_self_component bt_self_component;
+typedef struct bt_self_component_class_filter bt_self_component_class_filter;
+typedef struct bt_self_component_class_sink bt_self_component_class_sink;
+typedef struct bt_self_component_class_source bt_self_component_class_source;
+typedef struct bt_self_component_filter bt_self_component_filter;
+typedef struct bt_self_component_port bt_self_component_port;
+typedef struct bt_self_component_port_input bt_self_component_port_input;
+typedef struct bt_self_component_port_input_message_iterator bt_self_component_port_input_message_iterator;
+typedef struct bt_self_component_port_output bt_self_component_port_output;
+typedef struct bt_self_component_sink bt_self_component_sink;
+typedef struct bt_self_component_source bt_self_component_source;
+typedef struct bt_self_message_iterator bt_self_message_iterator;
+typedef struct bt_self_port bt_self_port;
+typedef struct bt_self_port_input bt_self_port_input;
+typedef struct bt_self_port_output bt_self_port_output;
+typedef struct bt_stream bt_stream;
+typedef struct bt_stream_class bt_stream_class;
+typedef struct bt_trace bt_trace;
+typedef struct bt_trace_class bt_trace_class;
+typedef struct bt_value bt_value;
+
+typedef const char * const *bt_field_class_enumeration_mapping_label_array;
+typedef const struct bt_message **bt_message_array_const;
+
/** @} */
#ifdef __cplusplus