babeltrace2-sys 0.2.8

Rust sys crate for babeltrace2
/* automatically generated by rust-bindgen 0.59.2 */

use libc::FILE;

#[repr(C)]
pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>);
impl<T> __BindgenUnionField<T> {
    #[inline]
    pub const fn new() -> Self {
        __BindgenUnionField(::std::marker::PhantomData)
    }
    #[inline]
    pub unsafe fn as_ref(&self) -> &T {
        ::std::mem::transmute(self)
    }
    #[inline]
    pub unsafe fn as_mut(&mut self) -> &mut T {
        ::std::mem::transmute(self)
    }
}
impl<T> ::std::default::Default for __BindgenUnionField<T> {
    #[inline]
    fn default() -> Self {
        Self::new()
    }
}
impl<T> ::std::clone::Clone for __BindgenUnionField<T> {
    #[inline]
    fn clone(&self) -> Self {
        Self::new()
    }
}
impl<T> ::std::marker::Copy for __BindgenUnionField<T> {}
impl<T> ::std::fmt::Debug for __BindgenUnionField<T> {
    fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        fmt.write_str("__BindgenUnionField")
    }
}
impl<T> ::std::hash::Hash for __BindgenUnionField<T> {
    fn hash<H: ::std::hash::Hasher>(&self, _state: &mut H) {}
}
impl<T> ::std::cmp::PartialEq for __BindgenUnionField<T> {
    fn eq(&self, _other: &__BindgenUnionField<T>) -> bool {
        true
    }
}
impl<T> ::std::cmp::Eq for __BindgenUnionField<T> {}
pub type va_list = __builtin_va_list;
pub type __uint8_t = ::std::os::raw::c_uchar;
pub type __uint32_t = ::std::os::raw::c_uint;
pub type __int64_t = ::std::os::raw::c_long;
pub type __uint64_t = ::std::os::raw::c_ulong;
pub type __off_t = ::std::os::raw::c_long;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_clock_class {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_clock_snapshot {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_component_descriptor_set {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_component_filter {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_component_sink {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_component_source {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_connection {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_error {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_error_cause {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_event {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_event_class {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_event_header_field {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_field {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_field_class {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_field_class_enumeration_mapping {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_field_class_enumeration_signed_mapping {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_field_class_enumeration_unsigned_mapping {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_field_class_structure_member {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_field_class_variant_option {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_field_class_variant_with_selector_field_integer_signed_option {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_field_class_variant_with_selector_field_integer_unsigned_option {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_field_path {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_field_path_item {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_graph {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_integer_range_set {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_integer_range_set_signed {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_integer_range_set_unsigned {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_integer_range_signed {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_integer_range_unsigned {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_interrupter {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_message {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_message_iterator {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_message_iterator_class {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_packet {
    _unused: [u8; 0],
}
#[repr(C)]
pub struct bt_plugin {
    _unused: [u8; 0],
}
#[repr(C)]
pub struct bt_plugin_set {
    _unused: [u8; 0],
}
#[repr(C)]
pub struct bt_plugin_so_shared_lib_handle {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_port_input {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_port_output {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_port_output_message_iterator {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_private_query_executor {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_query_executor {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_self_component {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_self_component_class {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_self_component_class_filter {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_self_component_class_sink {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_self_component_class_source {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_self_component_filter {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_self_component_filter_configuration {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_self_component_port {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_self_component_port_input {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_self_component_port_output {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_self_component_sink {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_self_component_sink_configuration {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_self_component_source {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_self_component_source_configuration {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_self_message_iterator {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_self_message_iterator_configuration {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_self_plugin {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_stream {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_stream_class {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_trace {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_trace_class {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_value {
    _unused: [u8; 0],
}
pub type bt_bool = ::std::os::raw::c_int;
pub type bt_listener_id = u64;
pub type bt_uuid = *const u8;
pub mod bt_property_availability {
    pub type Type = ::std::os::raw::c_uint;
    pub const BT_PROPERTY_AVAILABILITY_AVAILABLE: Type = 1;
    pub const BT_PROPERTY_AVAILABILITY_NOT_AVAILABLE: Type = 0;
}
pub type bt_message_array_const = *mut *const bt_message;
pub mod bt_component_class_type {
    pub type Type = ::std::os::raw::c_uint;
    pub const BT_COMPONENT_CLASS_TYPE_SOURCE: Type = 1;
    pub const BT_COMPONENT_CLASS_TYPE_FILTER: Type = 2;
    pub const BT_COMPONENT_CLASS_TYPE_SINK: Type = 4;
}
extern "C" {
    pub fn bt_component_class_get_type(
        component_class: *const bt_component_class,
    ) -> bt_component_class_type::Type;
}
extern "C" {
    pub fn bt_component_class_get_name(
        component_class: *const bt_component_class,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_component_class_get_description(
        component_class: *const bt_component_class,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_component_class_get_help(
        component_class: *const bt_component_class,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_component_class_get_ref(component_class: *const bt_component_class);
}
extern "C" {
    pub fn bt_component_class_put_ref(component_class: *const bt_component_class);
}
extern "C" {
    pub fn bt_component_class_source_get_ref(component_class: *const bt_component_class_source);
}
extern "C" {
    pub fn bt_component_class_source_put_ref(component_class: *const bt_component_class_source);
}
extern "C" {
    pub fn bt_component_class_filter_get_ref(component_class: *const bt_component_class_filter);
}
extern "C" {
    pub fn bt_component_class_filter_put_ref(component_class: *const bt_component_class_filter);
}
extern "C" {
    pub fn bt_component_class_sink_get_ref(component_class: *const bt_component_class_sink);
}
extern "C" {
    pub fn bt_component_class_sink_put_ref(component_class: *const bt_component_class_sink);
}
extern "C" {
    pub fn bt_current_thread_take_error() -> *const bt_error;
}
extern "C" {
    pub fn bt_current_thread_move_error(error: *const bt_error);
}
extern "C" {
    pub fn bt_current_thread_clear_error();
}
pub mod bt_current_thread_error_append_cause_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_CURRENT_THREAD_ERROR_APPEND_CAUSE_STATUS_OK: Type = 0;
    pub const BT_CURRENT_THREAD_ERROR_APPEND_CAUSE_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_current_thread_error_append_cause_from_component(
        self_component: *mut bt_self_component,
        file_name: *const ::std::os::raw::c_char,
        line_number: u64,
        message_format: *const ::std::os::raw::c_char,
        ...
    ) -> bt_current_thread_error_append_cause_status::Type;
}
extern "C" {
    pub fn bt_current_thread_error_append_cause_from_message_iterator(
        self_message_iterator: *mut bt_self_message_iterator,
        file_name: *const ::std::os::raw::c_char,
        line_number: u64,
        message_format: *const ::std::os::raw::c_char,
        ...
    ) -> bt_current_thread_error_append_cause_status::Type;
}
extern "C" {
    pub fn bt_current_thread_error_append_cause_from_component_class(
        self_component_class: *mut bt_self_component_class,
        file_name: *const ::std::os::raw::c_char,
        line_number: u64,
        message_format: *const ::std::os::raw::c_char,
        ...
    ) -> bt_current_thread_error_append_cause_status::Type;
}
extern "C" {
    pub fn bt_current_thread_error_append_cause_from_unknown(
        module_name: *const ::std::os::raw::c_char,
        file_name: *const ::std::os::raw::c_char,
        line_number: u64,
        message_format: *const ::std::os::raw::c_char,
        ...
    ) -> bt_current_thread_error_append_cause_status::Type;
}
extern "C" {
    pub fn bt_error_get_cause_count(error: *const bt_error) -> u64;
}
extern "C" {
    pub fn bt_error_borrow_cause_by_index(
        error: *const bt_error,
        index: u64,
    ) -> *const bt_error_cause;
}
extern "C" {
    pub fn bt_error_release(error: *const bt_error);
}
pub mod bt_error_cause_actor_type {
    pub type Type = ::std::os::raw::c_uint;
    pub const BT_ERROR_CAUSE_ACTOR_TYPE_UNKNOWN: Type = 1;
    pub const BT_ERROR_CAUSE_ACTOR_TYPE_COMPONENT: Type = 2;
    pub const BT_ERROR_CAUSE_ACTOR_TYPE_COMPONENT_CLASS: Type = 4;
    pub const BT_ERROR_CAUSE_ACTOR_TYPE_MESSAGE_ITERATOR: Type = 8;
}
extern "C" {
    pub fn bt_error_cause_get_actor_type(
        error_cause: *const bt_error_cause,
    ) -> bt_error_cause_actor_type::Type;
}
extern "C" {
    pub fn bt_error_cause_get_message(
        error_cause: *const bt_error_cause,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_error_cause_get_module_name(
        error_cause: *const bt_error_cause,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_error_cause_get_file_name(
        error_cause: *const bt_error_cause,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_error_cause_get_line_number(error_cause: *const bt_error_cause) -> u64;
}
extern "C" {
    pub fn bt_error_cause_component_actor_get_component_name(
        error_cause: *const bt_error_cause,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_error_cause_component_actor_get_component_class_type(
        error_cause: *const bt_error_cause,
    ) -> bt_component_class_type::Type;
}
extern "C" {
    pub fn bt_error_cause_component_actor_get_component_class_name(
        error_cause: *const bt_error_cause,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_error_cause_component_actor_get_plugin_name(
        error_cause: *const bt_error_cause,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_error_cause_message_iterator_actor_get_component_output_port_name(
        error_cause: *const bt_error_cause,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_error_cause_message_iterator_actor_get_component_name(
        error_cause: *const bt_error_cause,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_error_cause_message_iterator_actor_get_component_class_type(
        error_cause: *const bt_error_cause,
    ) -> bt_component_class_type::Type;
}
extern "C" {
    pub fn bt_error_cause_message_iterator_actor_get_component_class_name(
        error_cause: *const bt_error_cause,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_error_cause_message_iterator_actor_get_plugin_name(
        error_cause: *const bt_error_cause,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_error_cause_component_class_actor_get_component_class_type(
        error_cause: *const bt_error_cause,
    ) -> bt_component_class_type::Type;
}
extern "C" {
    pub fn bt_error_cause_component_class_actor_get_component_class_name(
        error_cause: *const bt_error_cause,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_error_cause_component_class_actor_get_plugin_name(
        error_cause: *const bt_error_cause,
    ) -> *const ::std::os::raw::c_char;
}
pub mod bt_logging_level {
    pub type Type = ::std::os::raw::c_uint;
    pub const BT_LOGGING_LEVEL_TRACE: Type = 1;
    pub const BT_LOGGING_LEVEL_DEBUG: Type = 2;
    pub const BT_LOGGING_LEVEL_INFO: Type = 3;
    pub const BT_LOGGING_LEVEL_WARNING: Type = 4;
    pub const BT_LOGGING_LEVEL_ERROR: Type = 5;
    pub const BT_LOGGING_LEVEL_FATAL: Type = 6;
    pub const BT_LOGGING_LEVEL_NONE: Type = 255;
}
extern "C" {
    pub fn bt_logging_set_global_level(logging_level: bt_logging_level::Type);
}
extern "C" {
    pub fn bt_logging_get_global_level() -> bt_logging_level::Type;
}
extern "C" {
    pub fn bt_logging_get_minimal_level() -> bt_logging_level::Type;
}
pub mod bt_component_class_sink_consume_method_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_COMPONENT_CLASS_SINK_CONSUME_METHOD_STATUS_OK: Type = 0;
    pub const BT_COMPONENT_CLASS_SINK_CONSUME_METHOD_STATUS_END: Type = 1;
    pub const BT_COMPONENT_CLASS_SINK_CONSUME_METHOD_STATUS_AGAIN: Type = 11;
    pub const BT_COMPONENT_CLASS_SINK_CONSUME_METHOD_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_COMPONENT_CLASS_SINK_CONSUME_METHOD_STATUS_ERROR: Type = -1;
}
pub type bt_component_class_sink_consume_method = ::std::option::Option<
    unsafe extern "C" fn(
        self_component: *mut bt_self_component_sink,
    ) -> bt_component_class_sink_consume_method_status::Type,
>;
pub type bt_component_class_source_finalize_method =
    ::std::option::Option<unsafe extern "C" fn(self_component: *mut bt_self_component_source)>;
pub type bt_component_class_filter_finalize_method =
    ::std::option::Option<unsafe extern "C" fn(self_component: *mut bt_self_component_filter)>;
pub type bt_component_class_sink_finalize_method =
    ::std::option::Option<unsafe extern "C" fn(self_component: *mut bt_self_component_sink)>;
pub mod bt_component_class_get_supported_mip_versions_method_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_COMPONENT_CLASS_GET_SUPPORTED_MIP_VERSIONS_METHOD_STATUS_OK: Type = 0;
    pub const BT_COMPONENT_CLASS_GET_SUPPORTED_MIP_VERSIONS_METHOD_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_COMPONENT_CLASS_GET_SUPPORTED_MIP_VERSIONS_METHOD_STATUS_ERROR: Type = -1;
}
pub type bt_component_class_source_get_supported_mip_versions_method = ::std::option::Option<
    unsafe extern "C" fn(
        self_component_class: *mut bt_self_component_class_source,
        params: *const bt_value,
        initialize_method_data: *mut ::std::os::raw::c_void,
        logging_level: bt_logging_level::Type,
        supported_versions: *mut bt_integer_range_set_unsigned,
    ) -> bt_component_class_get_supported_mip_versions_method_status::Type,
>;
pub type bt_component_class_filter_get_supported_mip_versions_method = ::std::option::Option<
    unsafe extern "C" fn(
        source_component_class: *mut bt_self_component_class_filter,
        params: *const bt_value,
        initialize_method_data: *mut ::std::os::raw::c_void,
        logging_level: bt_logging_level::Type,
        supported_versions: *mut bt_integer_range_set_unsigned,
    ) -> bt_component_class_get_supported_mip_versions_method_status::Type,
>;
pub type bt_component_class_sink_get_supported_mip_versions_method = ::std::option::Option<
    unsafe extern "C" fn(
        source_component_class: *mut bt_self_component_class_sink,
        params: *const bt_value,
        initialize_method_data: *mut ::std::os::raw::c_void,
        logging_level: bt_logging_level::Type,
        supported_versions: *mut bt_integer_range_set_unsigned,
    ) -> bt_component_class_get_supported_mip_versions_method_status::Type,
>;
pub mod bt_component_class_sink_graph_is_configured_method_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_COMPONENT_CLASS_SINK_GRAPH_IS_CONFIGURED_METHOD_STATUS_OK: Type = 0;
    pub const BT_COMPONENT_CLASS_SINK_GRAPH_IS_CONFIGURED_METHOD_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_COMPONENT_CLASS_SINK_GRAPH_IS_CONFIGURED_METHOD_STATUS_ERROR: Type = -1;
}
pub type bt_component_class_sink_graph_is_configured_method = ::std::option::Option<
    unsafe extern "C" fn(
        self_component: *mut bt_self_component_sink,
    ) -> bt_component_class_sink_graph_is_configured_method_status::Type,
>;
pub mod bt_component_class_initialize_method_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_COMPONENT_CLASS_INITIALIZE_METHOD_STATUS_OK: Type = 0;
    pub const BT_COMPONENT_CLASS_INITIALIZE_METHOD_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_COMPONENT_CLASS_INITIALIZE_METHOD_STATUS_ERROR: Type = -1;
}
pub type bt_component_class_source_initialize_method = ::std::option::Option<
    unsafe extern "C" fn(
        self_component: *mut bt_self_component_source,
        configuration: *mut bt_self_component_source_configuration,
        params: *const bt_value,
        initialize_method_data: *mut ::std::os::raw::c_void,
    ) -> bt_component_class_initialize_method_status::Type,
>;
pub type bt_component_class_filter_initialize_method = ::std::option::Option<
    unsafe extern "C" fn(
        self_component: *mut bt_self_component_filter,
        configuration: *mut bt_self_component_filter_configuration,
        params: *const bt_value,
        initialize_method_data: *mut ::std::os::raw::c_void,
    ) -> bt_component_class_initialize_method_status::Type,
>;
pub type bt_component_class_sink_initialize_method = ::std::option::Option<
    unsafe extern "C" fn(
        self_component: *mut bt_self_component_sink,
        configuration: *mut bt_self_component_sink_configuration,
        params: *const bt_value,
        initialize_method_data: *mut ::std::os::raw::c_void,
    ) -> bt_component_class_initialize_method_status::Type,
>;
pub mod bt_component_class_port_connected_method_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_COMPONENT_CLASS_PORT_CONNECTED_METHOD_STATUS_OK: Type = 0;
    pub const BT_COMPONENT_CLASS_PORT_CONNECTED_METHOD_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_COMPONENT_CLASS_PORT_CONNECTED_METHOD_STATUS_ERROR: Type = -1;
}
pub type bt_component_class_source_output_port_connected_method = ::std::option::Option<
    unsafe extern "C" fn(
        self_component: *mut bt_self_component_source,
        self_port: *mut bt_self_component_port_output,
        other_port: *const bt_port_input,
    ) -> bt_component_class_port_connected_method_status::Type,
>;
pub type bt_component_class_filter_input_port_connected_method = ::std::option::Option<
    unsafe extern "C" fn(
        self_component: *mut bt_self_component_filter,
        self_port: *mut bt_self_component_port_input,
        other_port: *const bt_port_output,
    ) -> bt_component_class_port_connected_method_status::Type,
>;
pub type bt_component_class_filter_output_port_connected_method = ::std::option::Option<
    unsafe extern "C" fn(
        self_component: *mut bt_self_component_filter,
        self_port: *mut bt_self_component_port_output,
        other_port: *const bt_port_input,
    ) -> bt_component_class_port_connected_method_status::Type,
>;
pub type bt_component_class_sink_input_port_connected_method = ::std::option::Option<
    unsafe extern "C" fn(
        self_component: *mut bt_self_component_sink,
        self_port: *mut bt_self_component_port_input,
        other_port: *const bt_port_output,
    ) -> bt_component_class_port_connected_method_status::Type,
>;
pub mod bt_component_class_query_method_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_COMPONENT_CLASS_QUERY_METHOD_STATUS_OK: Type = 0;
    pub const BT_COMPONENT_CLASS_QUERY_METHOD_STATUS_UNKNOWN_OBJECT: Type = 42;
    pub const BT_COMPONENT_CLASS_QUERY_METHOD_STATUS_AGAIN: Type = 11;
    pub const BT_COMPONENT_CLASS_QUERY_METHOD_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_COMPONENT_CLASS_QUERY_METHOD_STATUS_ERROR: Type = -1;
}
pub type bt_component_class_source_query_method = ::std::option::Option<
    unsafe extern "C" fn(
        self_component_class: *mut bt_self_component_class_source,
        query_executor: *mut bt_private_query_executor,
        object_name: *const ::std::os::raw::c_char,
        params: *const bt_value,
        method_data: *mut ::std::os::raw::c_void,
        result: *mut *const bt_value,
    ) -> bt_component_class_query_method_status::Type,
>;
pub type bt_component_class_filter_query_method = ::std::option::Option<
    unsafe extern "C" fn(
        self_component_class: *mut bt_self_component_class_filter,
        query_executor: *mut bt_private_query_executor,
        object_name: *const ::std::os::raw::c_char,
        params: *const bt_value,
        method_data: *mut ::std::os::raw::c_void,
        result: *mut *const bt_value,
    ) -> bt_component_class_query_method_status::Type,
>;
pub type bt_component_class_sink_query_method = ::std::option::Option<
    unsafe extern "C" fn(
        self_component_class: *mut bt_self_component_class_sink,
        query_executor: *mut bt_private_query_executor,
        object_name: *const ::std::os::raw::c_char,
        params: *const bt_value,
        method_data: *mut ::std::os::raw::c_void,
        result: *mut *const bt_value,
    ) -> bt_component_class_query_method_status::Type,
>;
extern "C" {
    pub fn bt_component_class_source_create(
        name: *const ::std::os::raw::c_char,
        message_iterator_class: *mut bt_message_iterator_class,
    ) -> *mut bt_component_class_source;
}
extern "C" {
    pub fn bt_component_class_filter_create(
        name: *const ::std::os::raw::c_char,
        message_iterator_class: *mut bt_message_iterator_class,
    ) -> *mut bt_component_class_filter;
}
extern "C" {
    pub fn bt_component_class_sink_create(
        name: *const ::std::os::raw::c_char,
        consume_method: bt_component_class_sink_consume_method,
    ) -> *mut bt_component_class_sink;
}
pub mod bt_component_class_set_description_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_COMPONENT_CLASS_SET_DESCRIPTION_STATUS_OK: Type = 0;
    pub const BT_COMPONENT_CLASS_SET_DESCRIPTION_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_component_class_set_description(
        component_class: *mut bt_component_class,
        description: *const ::std::os::raw::c_char,
    ) -> bt_component_class_set_description_status::Type;
}
pub mod bt_component_class_set_help_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_COMPONENT_CLASS_SET_HELP_STATUS_OK: Type = 0;
    pub const BT_COMPONENT_CLASS_SET_HELP_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_component_class_set_help(
        component_class: *mut bt_component_class,
        help_text: *const ::std::os::raw::c_char,
    ) -> bt_component_class_set_help_status::Type;
}
pub mod bt_component_class_set_method_status {
    pub type Type = ::std::os::raw::c_uint;
    pub const BT_COMPONENT_CLASS_SET_METHOD_STATUS_OK: Type = 0;
}
extern "C" {
    pub fn bt_component_class_source_set_finalize_method(
        component_class: *mut bt_component_class_source,
        method: bt_component_class_source_finalize_method,
    ) -> bt_component_class_set_method_status::Type;
}
extern "C" {
    pub fn bt_component_class_filter_set_finalize_method(
        component_class: *mut bt_component_class_filter,
        method: bt_component_class_filter_finalize_method,
    ) -> bt_component_class_set_method_status::Type;
}
extern "C" {
    pub fn bt_component_class_sink_set_finalize_method(
        component_class: *mut bt_component_class_sink,
        method: bt_component_class_sink_finalize_method,
    ) -> bt_component_class_set_method_status::Type;
}
extern "C" {
    pub fn bt_component_class_source_set_get_supported_mip_versions_method(
        component_class: *mut bt_component_class_source,
        method: bt_component_class_source_get_supported_mip_versions_method,
    ) -> bt_component_class_set_method_status::Type;
}
extern "C" {
    pub fn bt_component_class_filter_set_get_supported_mip_versions_method(
        component_class: *mut bt_component_class_filter,
        method: bt_component_class_filter_get_supported_mip_versions_method,
    ) -> bt_component_class_set_method_status::Type;
}
extern "C" {
    pub fn bt_component_class_sink_set_get_supported_mip_versions_method(
        component_class: *mut bt_component_class_sink,
        method: bt_component_class_sink_get_supported_mip_versions_method,
    ) -> bt_component_class_set_method_status::Type;
}
extern "C" {
    pub fn bt_component_class_sink_set_graph_is_configured_method(
        component_class: *mut bt_component_class_sink,
        method: bt_component_class_sink_graph_is_configured_method,
    ) -> bt_component_class_set_method_status::Type;
}
extern "C" {
    pub fn bt_component_class_source_set_initialize_method(
        component_class: *mut bt_component_class_source,
        method: bt_component_class_source_initialize_method,
    ) -> bt_component_class_set_method_status::Type;
}
extern "C" {
    pub fn bt_component_class_filter_set_initialize_method(
        component_class: *mut bt_component_class_filter,
        method: bt_component_class_filter_initialize_method,
    ) -> bt_component_class_set_method_status::Type;
}
extern "C" {
    pub fn bt_component_class_sink_set_initialize_method(
        component_class: *mut bt_component_class_sink,
        method: bt_component_class_sink_initialize_method,
    ) -> bt_component_class_set_method_status::Type;
}
extern "C" {
    pub fn bt_component_class_source_set_output_port_connected_method(
        component_class: *mut bt_component_class_source,
        method: bt_component_class_source_output_port_connected_method,
    ) -> bt_component_class_set_method_status::Type;
}
extern "C" {
    pub fn bt_component_class_filter_set_input_port_connected_method(
        component_class: *mut bt_component_class_filter,
        method: bt_component_class_filter_input_port_connected_method,
    ) -> bt_component_class_set_method_status::Type;
}
extern "C" {
    pub fn bt_component_class_filter_set_output_port_connected_method(
        component_class: *mut bt_component_class_filter,
        method: bt_component_class_filter_output_port_connected_method,
    ) -> bt_component_class_set_method_status::Type;
}
extern "C" {
    pub fn bt_component_class_sink_set_input_port_connected_method(
        component_class: *mut bt_component_class_sink,
        method: bt_component_class_sink_input_port_connected_method,
    ) -> bt_component_class_set_method_status::Type;
}
extern "C" {
    pub fn bt_component_class_source_set_query_method(
        component_class: *mut bt_component_class_source,
        method: bt_component_class_source_query_method,
    ) -> bt_component_class_set_method_status::Type;
}
extern "C" {
    pub fn bt_component_class_filter_set_query_method(
        component_class: *mut bt_component_class_filter,
        method: bt_component_class_filter_query_method,
    ) -> bt_component_class_set_method_status::Type;
}
extern "C" {
    pub fn bt_component_class_sink_set_query_method(
        component_class: *mut bt_component_class_sink,
        method: bt_component_class_sink_query_method,
    ) -> bt_component_class_set_method_status::Type;
}
extern "C" {
    pub fn bt_component_descriptor_set_create() -> *mut bt_component_descriptor_set;
}
pub mod bt_component_descriptor_set_add_descriptor_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_COMPONENT_DESCRIPTOR_SET_ADD_DESCRIPTOR_STATUS_OK: Type = 0;
    pub const BT_COMPONENT_DESCRIPTOR_SET_ADD_DESCRIPTOR_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_component_descriptor_set_add_descriptor(
        component_descriptor_set: *mut bt_component_descriptor_set,
        component_class: *const bt_component_class,
        params: *const bt_value,
    ) -> bt_component_descriptor_set_add_descriptor_status::Type;
}
extern "C" {
    pub fn bt_component_descriptor_set_add_descriptor_with_initialize_method_data(
        component_descriptor_set: *mut bt_component_descriptor_set,
        component_class: *const bt_component_class,
        params: *const bt_value,
        initialize_method_data: *mut ::std::os::raw::c_void,
    ) -> bt_component_descriptor_set_add_descriptor_status::Type;
}
extern "C" {
    pub fn bt_component_descriptor_set_get_ref(
        component_descriptor_set: *const bt_component_descriptor_set,
    );
}
extern "C" {
    pub fn bt_component_descriptor_set_put_ref(
        component_descriptor_set: *const bt_component_descriptor_set,
    );
}
extern "C" {
    pub fn bt_component_get_class_type(
        component: *const bt_component,
    ) -> bt_component_class_type::Type;
}
extern "C" {
    pub fn bt_component_borrow_class_const(
        component: *const bt_component,
    ) -> *const bt_component_class;
}
extern "C" {
    pub fn bt_component_get_name(component: *const bt_component) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_component_get_logging_level(component: *const bt_component)
        -> bt_logging_level::Type;
}
extern "C" {
    pub fn bt_component_get_ref(component: *const bt_component);
}
extern "C" {
    pub fn bt_component_put_ref(component: *const bt_component);
}
extern "C" {
    pub fn bt_component_source_borrow_class_const(
        component: *const bt_component_source,
    ) -> *const bt_component_class_source;
}
extern "C" {
    pub fn bt_component_source_get_output_port_count(component: *const bt_component_source) -> u64;
}
extern "C" {
    pub fn bt_component_source_borrow_output_port_by_index_const(
        component: *const bt_component_source,
        index: u64,
    ) -> *const bt_port_output;
}
extern "C" {
    pub fn bt_component_source_borrow_output_port_by_name_const(
        component: *const bt_component_source,
        name: *const ::std::os::raw::c_char,
    ) -> *const bt_port_output;
}
extern "C" {
    pub fn bt_component_source_get_ref(component: *const bt_component_source);
}
extern "C" {
    pub fn bt_component_source_put_ref(component: *const bt_component_source);
}
extern "C" {
    pub fn bt_component_filter_borrow_class_const(
        component: *const bt_component_filter,
    ) -> *const bt_component_class_filter;
}
extern "C" {
    pub fn bt_component_filter_get_input_port_count(component: *const bt_component_filter) -> u64;
}
extern "C" {
    pub fn bt_component_filter_borrow_input_port_by_index_const(
        component: *const bt_component_filter,
        index: u64,
    ) -> *const bt_port_input;
}
extern "C" {
    pub fn bt_component_filter_borrow_input_port_by_name_const(
        component: *const bt_component_filter,
        name: *const ::std::os::raw::c_char,
    ) -> *const bt_port_input;
}
extern "C" {
    pub fn bt_component_filter_get_output_port_count(component: *const bt_component_filter) -> u64;
}
extern "C" {
    pub fn bt_component_filter_borrow_output_port_by_index_const(
        component: *const bt_component_filter,
        index: u64,
    ) -> *const bt_port_output;
}
extern "C" {
    pub fn bt_component_filter_borrow_output_port_by_name_const(
        component: *const bt_component_filter,
        name: *const ::std::os::raw::c_char,
    ) -> *const bt_port_output;
}
extern "C" {
    pub fn bt_component_filter_get_ref(component: *const bt_component_filter);
}
extern "C" {
    pub fn bt_component_filter_put_ref(component: *const bt_component_filter);
}
extern "C" {
    pub fn bt_component_sink_borrow_class_const(
        component: *const bt_component_sink,
    ) -> *const bt_component_class_sink;
}
extern "C" {
    pub fn bt_component_sink_get_input_port_count(component: *const bt_component_sink) -> u64;
}
extern "C" {
    pub fn bt_component_sink_borrow_input_port_by_index_const(
        component: *const bt_component_sink,
        index: u64,
    ) -> *const bt_port_input;
}
extern "C" {
    pub fn bt_component_sink_borrow_input_port_by_name_const(
        component: *const bt_component_sink,
        name: *const ::std::os::raw::c_char,
    ) -> *const bt_port_input;
}
extern "C" {
    pub fn bt_component_sink_get_ref(component: *const bt_component_sink);
}
extern "C" {
    pub fn bt_component_sink_put_ref(component: *const bt_component_sink);
}
extern "C" {
    pub fn bt_connection_borrow_downstream_port_const(
        connection: *const bt_connection,
    ) -> *const bt_port_input;
}
extern "C" {
    pub fn bt_connection_borrow_upstream_port_const(
        connection: *const bt_connection,
    ) -> *const bt_port_output;
}
extern "C" {
    pub fn bt_connection_get_ref(connection: *const bt_connection);
}
extern "C" {
    pub fn bt_connection_put_ref(connection: *const bt_connection);
}
extern "C" {
    pub fn bt_graph_create(mip_version: u64) -> *mut bt_graph;
}
pub mod bt_graph_add_component_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_GRAPH_ADD_COMPONENT_STATUS_OK: Type = 0;
    pub const BT_GRAPH_ADD_COMPONENT_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_GRAPH_ADD_COMPONENT_STATUS_ERROR: Type = -1;
}
extern "C" {
    pub fn bt_graph_add_source_component(
        graph: *mut bt_graph,
        component_class: *const bt_component_class_source,
        name: *const ::std::os::raw::c_char,
        params: *const bt_value,
        logging_level: bt_logging_level::Type,
        component: *mut *const bt_component_source,
    ) -> bt_graph_add_component_status::Type;
}
extern "C" {
    pub fn bt_graph_add_source_component_with_initialize_method_data(
        graph: *mut bt_graph,
        component_class: *const bt_component_class_source,
        name: *const ::std::os::raw::c_char,
        params: *const bt_value,
        initialize_method_data: *mut ::std::os::raw::c_void,
        logging_level: bt_logging_level::Type,
        component: *mut *const bt_component_source,
    ) -> bt_graph_add_component_status::Type;
}
extern "C" {
    pub fn bt_graph_add_filter_component(
        graph: *mut bt_graph,
        component_class: *const bt_component_class_filter,
        name: *const ::std::os::raw::c_char,
        params: *const bt_value,
        logging_level: bt_logging_level::Type,
        component: *mut *const bt_component_filter,
    ) -> bt_graph_add_component_status::Type;
}
extern "C" {
    pub fn bt_graph_add_filter_component_with_initialize_method_data(
        graph: *mut bt_graph,
        component_class: *const bt_component_class_filter,
        name: *const ::std::os::raw::c_char,
        params: *const bt_value,
        initialize_method_data: *mut ::std::os::raw::c_void,
        logging_level: bt_logging_level::Type,
        component: *mut *const bt_component_filter,
    ) -> bt_graph_add_component_status::Type;
}
extern "C" {
    pub fn bt_graph_add_sink_component(
        graph: *mut bt_graph,
        component_class: *const bt_component_class_sink,
        name: *const ::std::os::raw::c_char,
        params: *const bt_value,
        logging_level: bt_logging_level::Type,
        component: *mut *const bt_component_sink,
    ) -> bt_graph_add_component_status::Type;
}
extern "C" {
    pub fn bt_graph_add_sink_component_with_initialize_method_data(
        graph: *mut bt_graph,
        component_class: *const bt_component_class_sink,
        name: *const ::std::os::raw::c_char,
        params: *const bt_value,
        initialize_method_data: *mut ::std::os::raw::c_void,
        logging_level: bt_logging_level::Type,
        component: *mut *const bt_component_sink,
    ) -> bt_graph_add_component_status::Type;
}
pub mod bt_graph_simple_sink_component_initialize_func_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_GRAPH_SIMPLE_SINK_COMPONENT_INITIALIZE_FUNC_STATUS_OK: Type = 0;
    pub const BT_GRAPH_SIMPLE_SINK_COMPONENT_INITIALIZE_FUNC_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_GRAPH_SIMPLE_SINK_COMPONENT_INITIALIZE_FUNC_STATUS_ERROR: Type = -1;
}
pub type bt_graph_simple_sink_component_initialize_func = ::std::option::Option<
    unsafe extern "C" fn(
        message_iterator: *mut bt_message_iterator,
        user_data: *mut ::std::os::raw::c_void,
    ) -> bt_graph_simple_sink_component_initialize_func_status::Type,
>;
pub mod bt_graph_simple_sink_component_consume_func_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_GRAPH_SIMPLE_SINK_COMPONENT_CONSUME_FUNC_STATUS_OK: Type = 0;
    pub const BT_GRAPH_SIMPLE_SINK_COMPONENT_CONSUME_FUNC_STATUS_END: Type = 1;
    pub const BT_GRAPH_SIMPLE_SINK_COMPONENT_CONSUME_FUNC_STATUS_AGAIN: Type = 11;
    pub const BT_GRAPH_SIMPLE_SINK_COMPONENT_CONSUME_FUNC_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_GRAPH_SIMPLE_SINK_COMPONENT_CONSUME_FUNC_STATUS_ERROR: Type = -1;
}
pub type bt_graph_simple_sink_component_consume_func = ::std::option::Option<
    unsafe extern "C" fn(
        message_iterator: *mut bt_message_iterator,
        user_data: *mut ::std::os::raw::c_void,
    ) -> bt_graph_simple_sink_component_consume_func_status::Type,
>;
pub type bt_graph_simple_sink_component_finalize_func =
    ::std::option::Option<unsafe extern "C" fn(user_data: *mut ::std::os::raw::c_void)>;
extern "C" {
    pub fn bt_graph_add_simple_sink_component(
        graph: *mut bt_graph,
        name: *const ::std::os::raw::c_char,
        initialize_func: bt_graph_simple_sink_component_initialize_func,
        consume_func: bt_graph_simple_sink_component_consume_func,
        finalize_func: bt_graph_simple_sink_component_finalize_func,
        user_data: *mut ::std::os::raw::c_void,
        component: *mut *const bt_component_sink,
    ) -> bt_graph_add_component_status::Type;
}
pub mod bt_graph_connect_ports_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_GRAPH_CONNECT_PORTS_STATUS_OK: Type = 0;
    pub const BT_GRAPH_CONNECT_PORTS_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_GRAPH_CONNECT_PORTS_STATUS_ERROR: Type = -1;
}
extern "C" {
    pub fn bt_graph_connect_ports(
        graph: *mut bt_graph,
        upstream_port: *const bt_port_output,
        downstream_port: *const bt_port_input,
        connection: *mut *const bt_connection,
    ) -> bt_graph_connect_ports_status::Type;
}
pub mod bt_graph_run_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_GRAPH_RUN_STATUS_OK: Type = 0;
    pub const BT_GRAPH_RUN_STATUS_AGAIN: Type = 11;
    pub const BT_GRAPH_RUN_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_GRAPH_RUN_STATUS_ERROR: Type = -1;
}
extern "C" {
    pub fn bt_graph_run(graph: *mut bt_graph) -> bt_graph_run_status::Type;
}
pub mod bt_graph_run_once_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_GRAPH_RUN_ONCE_STATUS_OK: Type = 0;
    pub const BT_GRAPH_RUN_ONCE_STATUS_END: Type = 1;
    pub const BT_GRAPH_RUN_ONCE_STATUS_AGAIN: Type = 11;
    pub const BT_GRAPH_RUN_ONCE_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_GRAPH_RUN_ONCE_STATUS_ERROR: Type = -1;
}
extern "C" {
    pub fn bt_graph_run_once(graph: *mut bt_graph) -> bt_graph_run_once_status::Type;
}
pub mod bt_graph_add_interrupter_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_GRAPH_ADD_INTERRUPTER_STATUS_OK: Type = 0;
    pub const BT_GRAPH_ADD_INTERRUPTER_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_graph_add_interrupter(
        graph: *mut bt_graph,
        interrupter: *const bt_interrupter,
    ) -> bt_graph_add_interrupter_status::Type;
}
extern "C" {
    pub fn bt_graph_borrow_default_interrupter(graph: *mut bt_graph) -> *mut bt_interrupter;
}
pub mod bt_graph_add_listener_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_GRAPH_ADD_LISTENER_STATUS_OK: Type = 0;
    pub const BT_GRAPH_ADD_LISTENER_STATUS_MEMORY_ERROR: Type = -12;
}
pub mod bt_graph_listener_func_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_GRAPH_LISTENER_FUNC_STATUS_OK: Type = 0;
    pub const BT_GRAPH_LISTENER_FUNC_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_GRAPH_LISTENER_FUNC_STATUS_ERROR: Type = -1;
}
pub type bt_graph_filter_component_input_port_added_listener_func = ::std::option::Option<
    unsafe extern "C" fn(
        component: *const bt_component_filter,
        port: *const bt_port_input,
        user_data: *mut ::std::os::raw::c_void,
    ) -> bt_graph_listener_func_status::Type,
>;
extern "C" {
    pub fn bt_graph_add_filter_component_input_port_added_listener(
        graph: *mut bt_graph,
        user_func: bt_graph_filter_component_input_port_added_listener_func,
        user_data: *mut ::std::os::raw::c_void,
        listener_id: *mut bt_listener_id,
    ) -> bt_graph_add_listener_status::Type;
}
pub type bt_graph_sink_component_input_port_added_listener_func = ::std::option::Option<
    unsafe extern "C" fn(
        component: *const bt_component_sink,
        port: *const bt_port_input,
        user_data: *mut ::std::os::raw::c_void,
    ) -> bt_graph_listener_func_status::Type,
>;
extern "C" {
    pub fn bt_graph_add_sink_component_input_port_added_listener(
        graph: *mut bt_graph,
        user_func: bt_graph_sink_component_input_port_added_listener_func,
        user_data: *mut ::std::os::raw::c_void,
        listener_id: *mut bt_listener_id,
    ) -> bt_graph_add_listener_status::Type;
}
pub type bt_graph_source_component_output_port_added_listener_func = ::std::option::Option<
    unsafe extern "C" fn(
        component: *const bt_component_source,
        port: *const bt_port_output,
        user_data: *mut ::std::os::raw::c_void,
    ) -> bt_graph_listener_func_status::Type,
>;
extern "C" {
    pub fn bt_graph_add_source_component_output_port_added_listener(
        graph: *mut bt_graph,
        user_func: bt_graph_source_component_output_port_added_listener_func,
        user_data: *mut ::std::os::raw::c_void,
        listener_id: *mut bt_listener_id,
    ) -> bt_graph_add_listener_status::Type;
}
pub type bt_graph_filter_component_output_port_added_listener_func = ::std::option::Option<
    unsafe extern "C" fn(
        component: *const bt_component_filter,
        port: *const bt_port_output,
        user_data: *mut ::std::os::raw::c_void,
    ) -> bt_graph_listener_func_status::Type,
>;
extern "C" {
    pub fn bt_graph_add_filter_component_output_port_added_listener(
        graph: *mut bt_graph,
        user_func: bt_graph_filter_component_output_port_added_listener_func,
        user_data: *mut ::std::os::raw::c_void,
        listener_id: *mut bt_listener_id,
    ) -> bt_graph_add_listener_status::Type;
}
extern "C" {
    pub fn bt_graph_get_ref(graph: *const bt_graph);
}
extern "C" {
    pub fn bt_graph_put_ref(graph: *const bt_graph);
}
extern "C" {
    pub fn bt_interrupter_create() -> *mut bt_interrupter;
}
extern "C" {
    pub fn bt_interrupter_set(interrupter: *mut bt_interrupter);
}
extern "C" {
    pub fn bt_interrupter_reset(interrupter: *mut bt_interrupter);
}
extern "C" {
    pub fn bt_interrupter_is_set(interrupter: *const bt_interrupter) -> bt_bool;
}
extern "C" {
    pub fn bt_interrupter_get_ref(interrupter: *const bt_interrupter);
}
extern "C" {
    pub fn bt_interrupter_put_ref(interrupter: *const bt_interrupter);
}
pub mod bt_message_iterator_create_from_message_iterator_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_MESSAGE_ITERATOR_CREATE_FROM_MESSAGE_ITERATOR_STATUS_OK: Type = 0;
    pub const BT_MESSAGE_ITERATOR_CREATE_FROM_MESSAGE_ITERATOR_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_MESSAGE_ITERATOR_CREATE_FROM_MESSAGE_ITERATOR_STATUS_ERROR: Type = -1;
}
extern "C" {
    pub fn bt_message_iterator_create_from_message_iterator(
        self_message_iterator: *mut bt_self_message_iterator,
        port: *mut bt_self_component_port_input,
        message_iterator: *mut *mut bt_message_iterator,
    ) -> bt_message_iterator_create_from_message_iterator_status::Type;
}
pub mod bt_message_iterator_create_from_sink_component_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_MESSAGE_ITERATOR_CREATE_FROM_SINK_COMPONENT_STATUS_OK: Type = 0;
    pub const BT_MESSAGE_ITERATOR_CREATE_FROM_SINK_COMPONENT_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_MESSAGE_ITERATOR_CREATE_FROM_SINK_COMPONENT_STATUS_ERROR: Type = -1;
}
extern "C" {
    pub fn bt_message_iterator_create_from_sink_component(
        self_component_sink: *mut bt_self_component_sink,
        port: *mut bt_self_component_port_input,
        message_iterator: *mut *mut bt_message_iterator,
    ) -> bt_message_iterator_create_from_sink_component_status::Type;
}
extern "C" {
    pub fn bt_message_iterator_borrow_component(
        message_iterator: *mut bt_message_iterator,
    ) -> *mut bt_component;
}
pub mod bt_message_iterator_next_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_MESSAGE_ITERATOR_NEXT_STATUS_OK: Type = 0;
    pub const BT_MESSAGE_ITERATOR_NEXT_STATUS_END: Type = 1;
    pub const BT_MESSAGE_ITERATOR_NEXT_STATUS_AGAIN: Type = 11;
    pub const BT_MESSAGE_ITERATOR_NEXT_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_MESSAGE_ITERATOR_NEXT_STATUS_ERROR: Type = -1;
}
extern "C" {
    pub fn bt_message_iterator_next(
        message_iterator: *mut bt_message_iterator,
        messages: *mut bt_message_array_const,
        count: *mut u64,
    ) -> bt_message_iterator_next_status::Type;
}
pub mod bt_message_iterator_can_seek_beginning_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_MESSAGE_ITERATOR_CAN_SEEK_BEGINNING_STATUS_OK: Type = 0;
    pub const BT_MESSAGE_ITERATOR_CAN_SEEK_BEGINNING_STATUS_AGAIN: Type = 11;
    pub const BT_MESSAGE_ITERATOR_CAN_SEEK_BEGINNING_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_MESSAGE_ITERATOR_CAN_SEEK_BEGINNING_STATUS_ERROR: Type = -1;
}
extern "C" {
    pub fn bt_message_iterator_can_seek_beginning(
        message_iterator: *mut bt_message_iterator,
        can_seek_beginning: *mut bt_bool,
    ) -> bt_message_iterator_can_seek_beginning_status::Type;
}
pub mod bt_message_iterator_seek_beginning_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_MESSAGE_ITERATOR_SEEK_BEGINNING_STATUS_OK: Type = 0;
    pub const BT_MESSAGE_ITERATOR_SEEK_BEGINNING_STATUS_AGAIN: Type = 11;
    pub const BT_MESSAGE_ITERATOR_SEEK_BEGINNING_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_MESSAGE_ITERATOR_SEEK_BEGINNING_STATUS_ERROR: Type = -1;
}
extern "C" {
    pub fn bt_message_iterator_seek_beginning(
        message_iterator: *mut bt_message_iterator,
    ) -> bt_message_iterator_seek_beginning_status::Type;
}
pub mod bt_message_iterator_can_seek_ns_from_origin_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_MESSAGE_ITERATOR_CAN_SEEK_NS_FROM_ORIGIN_STATUS_OK: Type = 0;
    pub const BT_MESSAGE_ITERATOR_CAN_SEEK_NS_FROM_ORIGIN_STATUS_AGAIN: Type = 11;
    pub const BT_MESSAGE_ITERATOR_CAN_SEEK_NS_FROM_ORIGIN_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_MESSAGE_ITERATOR_CAN_SEEK_NS_FROM_ORIGIN_STATUS_ERROR: Type = -1;
}
extern "C" {
    pub fn bt_message_iterator_can_seek_ns_from_origin(
        message_iterator: *mut bt_message_iterator,
        ns_from_origin: i64,
        can_seek_ns_from_origin: *mut bt_bool,
    ) -> bt_message_iterator_can_seek_ns_from_origin_status::Type;
}
pub mod bt_message_iterator_seek_ns_from_origin_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_MESSAGE_ITERATOR_SEEK_NS_FROM_ORIGIN_STATUS_OK: Type = 0;
    pub const BT_MESSAGE_ITERATOR_SEEK_NS_FROM_ORIGIN_STATUS_AGAIN: Type = 11;
    pub const BT_MESSAGE_ITERATOR_SEEK_NS_FROM_ORIGIN_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_MESSAGE_ITERATOR_SEEK_NS_FROM_ORIGIN_STATUS_ERROR: Type = -1;
}
extern "C" {
    pub fn bt_message_iterator_seek_ns_from_origin(
        message_iterator: *mut bt_message_iterator,
        ns_from_origin: i64,
    ) -> bt_message_iterator_seek_ns_from_origin_status::Type;
}
extern "C" {
    pub fn bt_message_iterator_can_seek_forward(
        message_iterator: *mut bt_message_iterator,
    ) -> bt_bool;
}
extern "C" {
    pub fn bt_message_iterator_get_ref(message_iterator: *const bt_message_iterator);
}
extern "C" {
    pub fn bt_message_iterator_put_ref(message_iterator: *const bt_message_iterator);
}
pub mod bt_message_type {
    pub type Type = ::std::os::raw::c_uint;
    pub const BT_MESSAGE_TYPE_STREAM_BEGINNING: Type = 1;
    pub const BT_MESSAGE_TYPE_STREAM_END: Type = 2;
    pub const BT_MESSAGE_TYPE_EVENT: Type = 4;
    pub const BT_MESSAGE_TYPE_PACKET_BEGINNING: Type = 8;
    pub const BT_MESSAGE_TYPE_PACKET_END: Type = 16;
    pub const BT_MESSAGE_TYPE_DISCARDED_EVENTS: Type = 32;
    pub const BT_MESSAGE_TYPE_DISCARDED_PACKETS: Type = 64;
    pub const BT_MESSAGE_TYPE_MESSAGE_ITERATOR_INACTIVITY: Type = 128;
}
extern "C" {
    pub fn bt_message_get_type(message: *const bt_message) -> bt_message_type::Type;
}
pub mod bt_message_stream_clock_snapshot_state {
    pub type Type = ::std::os::raw::c_uint;
    pub const BT_MESSAGE_STREAM_CLOCK_SNAPSHOT_STATE_KNOWN: Type = 1;
    pub const BT_MESSAGE_STREAM_CLOCK_SNAPSHOT_STATE_UNKNOWN: Type = 0;
}
extern "C" {
    pub fn bt_message_stream_beginning_create(
        self_message_iterator: *mut bt_self_message_iterator,
        stream: *const bt_stream,
    ) -> *mut bt_message;
}
extern "C" {
    pub fn bt_message_stream_beginning_borrow_stream(message: *mut bt_message) -> *mut bt_stream;
}
extern "C" {
    pub fn bt_message_stream_beginning_borrow_stream_const(
        message: *const bt_message,
    ) -> *const bt_stream;
}
extern "C" {
    pub fn bt_message_stream_beginning_set_default_clock_snapshot(
        message: *mut bt_message,
        value: u64,
    );
}
extern "C" {
    pub fn bt_message_stream_beginning_borrow_default_clock_snapshot_const(
        message: *const bt_message,
        clock_snapshot: *mut *const bt_clock_snapshot,
    ) -> bt_message_stream_clock_snapshot_state::Type;
}
extern "C" {
    pub fn bt_message_stream_beginning_borrow_stream_class_default_clock_class_const(
        message: *const bt_message,
    ) -> *const bt_clock_class;
}
extern "C" {
    pub fn bt_message_stream_end_create(
        self_message_iterator: *mut bt_self_message_iterator,
        stream: *const bt_stream,
    ) -> *mut bt_message;
}
extern "C" {
    pub fn bt_message_stream_end_borrow_stream(message: *mut bt_message) -> *mut bt_stream;
}
extern "C" {
    pub fn bt_message_stream_end_borrow_stream_const(
        message: *const bt_message,
    ) -> *const bt_stream;
}
extern "C" {
    pub fn bt_message_stream_end_set_default_clock_snapshot(message: *mut bt_message, value: u64);
}
extern "C" {
    pub fn bt_message_stream_end_borrow_default_clock_snapshot_const(
        message: *const bt_message,
        clock_snapshot: *mut *const bt_clock_snapshot,
    ) -> bt_message_stream_clock_snapshot_state::Type;
}
extern "C" {
    pub fn bt_message_stream_end_borrow_stream_class_default_clock_class_const(
        message: *const bt_message,
    ) -> *const bt_clock_class;
}
extern "C" {
    pub fn bt_message_event_create(
        self_message_iterator: *mut bt_self_message_iterator,
        event_class: *const bt_event_class,
        stream: *const bt_stream,
    ) -> *mut bt_message;
}
extern "C" {
    pub fn bt_message_event_create_with_default_clock_snapshot(
        self_message_iterator: *mut bt_self_message_iterator,
        event_class: *const bt_event_class,
        stream: *const bt_stream,
        clock_snapshot_value: u64,
    ) -> *mut bt_message;
}
extern "C" {
    pub fn bt_message_event_create_with_packet(
        self_message_iterator: *mut bt_self_message_iterator,
        event_class: *const bt_event_class,
        packet: *const bt_packet,
    ) -> *mut bt_message;
}
extern "C" {
    pub fn bt_message_event_create_with_packet_and_default_clock_snapshot(
        self_message_iterator: *mut bt_self_message_iterator,
        event_class: *const bt_event_class,
        packet: *const bt_packet,
        clock_snapshot_value: u64,
    ) -> *mut bt_message;
}
extern "C" {
    pub fn bt_message_event_borrow_event(message: *mut bt_message) -> *mut bt_event;
}
extern "C" {
    pub fn bt_message_event_borrow_event_const(message: *const bt_message) -> *const bt_event;
}
extern "C" {
    pub fn bt_message_event_borrow_default_clock_snapshot_const(
        message: *const bt_message,
    ) -> *const bt_clock_snapshot;
}
extern "C" {
    pub fn bt_message_event_borrow_stream_class_default_clock_class_const(
        message: *const bt_message,
    ) -> *const bt_clock_class;
}
extern "C" {
    pub fn bt_message_packet_beginning_create(
        self_message_iterator: *mut bt_self_message_iterator,
        packet: *const bt_packet,
    ) -> *mut bt_message;
}
extern "C" {
    pub fn bt_message_packet_beginning_create_with_default_clock_snapshot(
        self_message_iterator: *mut bt_self_message_iterator,
        packet: *const bt_packet,
        clock_snapshot_value: u64,
    ) -> *mut bt_message;
}
extern "C" {
    pub fn bt_message_packet_beginning_borrow_packet(message: *mut bt_message) -> *mut bt_packet;
}
extern "C" {
    pub fn bt_message_packet_beginning_borrow_packet_const(
        message: *const bt_message,
    ) -> *const bt_packet;
}
extern "C" {
    pub fn bt_message_packet_beginning_borrow_default_clock_snapshot_const(
        message: *const bt_message,
    ) -> *const bt_clock_snapshot;
}
extern "C" {
    pub fn bt_message_packet_beginning_borrow_stream_class_default_clock_class_const(
        message: *const bt_message,
    ) -> *const bt_clock_class;
}
extern "C" {
    pub fn bt_message_packet_end_create(
        self_message_iterator: *mut bt_self_message_iterator,
        packet: *const bt_packet,
    ) -> *mut bt_message;
}
extern "C" {
    pub fn bt_message_packet_end_create_with_default_clock_snapshot(
        self_message_iterator: *mut bt_self_message_iterator,
        packet: *const bt_packet,
        clock_snapshot_value: u64,
    ) -> *mut bt_message;
}
extern "C" {
    pub fn bt_message_packet_end_borrow_packet(message: *mut bt_message) -> *mut bt_packet;
}
extern "C" {
    pub fn bt_message_packet_end_borrow_packet_const(
        message: *const bt_message,
    ) -> *const bt_packet;
}
extern "C" {
    pub fn bt_message_packet_end_borrow_default_clock_snapshot_const(
        message: *const bt_message,
    ) -> *const bt_clock_snapshot;
}
extern "C" {
    pub fn bt_message_packet_end_borrow_stream_class_default_clock_class_const(
        message: *const bt_message,
    ) -> *const bt_clock_class;
}
extern "C" {
    pub fn bt_message_discarded_events_create(
        self_message_iterator: *mut bt_self_message_iterator,
        stream: *const bt_stream,
    ) -> *mut bt_message;
}
extern "C" {
    pub fn bt_message_discarded_events_create_with_default_clock_snapshots(
        self_message_iterator: *mut bt_self_message_iterator,
        stream: *const bt_stream,
        beginning_clock_snapshot_value: u64,
        end_clock_snapshot_value: u64,
    ) -> *mut bt_message;
}
extern "C" {
    pub fn bt_message_discarded_events_borrow_stream(message: *mut bt_message) -> *mut bt_stream;
}
extern "C" {
    pub fn bt_message_discarded_events_borrow_stream_const(
        message: *const bt_message,
    ) -> *const bt_stream;
}
extern "C" {
    pub fn bt_message_discarded_events_borrow_beginning_default_clock_snapshot_const(
        message: *const bt_message,
    ) -> *const bt_clock_snapshot;
}
extern "C" {
    pub fn bt_message_discarded_events_borrow_end_default_clock_snapshot_const(
        message: *const bt_message,
    ) -> *const bt_clock_snapshot;
}
extern "C" {
    pub fn bt_message_discarded_events_borrow_stream_class_default_clock_class_const(
        message: *const bt_message,
    ) -> *const bt_clock_class;
}
extern "C" {
    pub fn bt_message_discarded_events_set_count(message: *mut bt_message, count: u64);
}
extern "C" {
    pub fn bt_message_discarded_events_get_count(
        message: *const bt_message,
        count: *mut u64,
    ) -> bt_property_availability::Type;
}
extern "C" {
    pub fn bt_message_discarded_packets_create(
        self_message_iterator: *mut bt_self_message_iterator,
        stream: *const bt_stream,
    ) -> *mut bt_message;
}
extern "C" {
    pub fn bt_message_discarded_packets_create_with_default_clock_snapshots(
        self_message_iterator: *mut bt_self_message_iterator,
        stream: *const bt_stream,
        beginning_clock_snapshot_value: u64,
        end_clock_snapshot_value: u64,
    ) -> *mut bt_message;
}
extern "C" {
    pub fn bt_message_discarded_packets_borrow_stream(message: *mut bt_message) -> *mut bt_stream;
}
extern "C" {
    pub fn bt_message_discarded_packets_borrow_stream_const(
        message: *const bt_message,
    ) -> *const bt_stream;
}
extern "C" {
    pub fn bt_message_discarded_packets_borrow_beginning_default_clock_snapshot_const(
        message: *const bt_message,
    ) -> *const bt_clock_snapshot;
}
extern "C" {
    pub fn bt_message_discarded_packets_borrow_end_default_clock_snapshot_const(
        message: *const bt_message,
    ) -> *const bt_clock_snapshot;
}
extern "C" {
    pub fn bt_message_discarded_packets_borrow_stream_class_default_clock_class_const(
        message: *const bt_message,
    ) -> *const bt_clock_class;
}
extern "C" {
    pub fn bt_message_discarded_packets_set_count(message: *mut bt_message, count: u64);
}
extern "C" {
    pub fn bt_message_discarded_packets_get_count(
        message: *const bt_message,
        count: *mut u64,
    ) -> bt_property_availability::Type;
}
extern "C" {
    pub fn bt_message_message_iterator_inactivity_create(
        self_message_iterator: *mut bt_self_message_iterator,
        clock_class: *const bt_clock_class,
        clock_snapshot_value: u64,
    ) -> *mut bt_message;
}
extern "C" {
    pub fn bt_message_message_iterator_inactivity_borrow_clock_snapshot_const(
        message: *const bt_message,
    ) -> *const bt_clock_snapshot;
}
extern "C" {
    pub fn bt_message_get_ref(message: *const bt_message);
}
extern "C" {
    pub fn bt_message_put_ref(message: *const bt_message);
}
pub mod bt_get_greatest_operative_mip_version_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_GET_GREATEST_OPERATIVE_MIP_VERSION_STATUS_OK: Type = 0;
    pub const BT_GET_GREATEST_OPERATIVE_MIP_VERSION_STATUS_NO_MATCH: Type = 6;
    pub const BT_GET_GREATEST_OPERATIVE_MIP_VERSION_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_GET_GREATEST_OPERATIVE_MIP_VERSION_STATUS_ERROR: Type = -1;
}
extern "C" {
    pub fn bt_get_greatest_operative_mip_version(
        component_descriptors: *const bt_component_descriptor_set,
        logging_level: bt_logging_level::Type,
        mip_version: *mut u64,
    ) -> bt_get_greatest_operative_mip_version_status::Type;
}
extern "C" {
    pub fn bt_get_maximal_mip_version() -> u64;
}
pub mod bt_port_type {
    pub type Type = ::std::os::raw::c_uint;
    pub const BT_PORT_TYPE_INPUT: Type = 1;
    pub const BT_PORT_TYPE_OUTPUT: Type = 2;
}
extern "C" {
    pub fn bt_port_get_type(port: *const bt_port) -> bt_port_type::Type;
}
extern "C" {
    pub fn bt_port_borrow_connection_const(port: *const bt_port) -> *const bt_connection;
}
extern "C" {
    pub fn bt_port_borrow_component_const(port: *const bt_port) -> *const bt_component;
}
extern "C" {
    pub fn bt_port_get_name(port: *const bt_port) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_port_is_connected(port: *const bt_port) -> bt_bool;
}
extern "C" {
    pub fn bt_port_get_ref(port: *const bt_port);
}
extern "C" {
    pub fn bt_port_put_ref(port: *const bt_port);
}
extern "C" {
    pub fn bt_port_input_get_ref(port: *const bt_port_input);
}
extern "C" {
    pub fn bt_port_input_put_ref(port: *const bt_port_input);
}
extern "C" {
    pub fn bt_port_output_get_ref(port: *const bt_port_output);
}
extern "C" {
    pub fn bt_port_output_put_ref(port: *const bt_port_output);
}
extern "C" {
    pub fn bt_query_executor_create(
        component_class: *const bt_component_class,
        object_name: *const ::std::os::raw::c_char,
        params: *const bt_value,
    ) -> *mut bt_query_executor;
}
extern "C" {
    pub fn bt_query_executor_create_with_method_data(
        component_class: *const bt_component_class,
        object_name: *const ::std::os::raw::c_char,
        params: *const bt_value,
        method_data: *mut ::std::os::raw::c_void,
    ) -> *mut bt_query_executor;
}
pub mod bt_query_executor_query_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_QUERY_EXECUTOR_QUERY_STATUS_OK: Type = 0;
    pub const BT_QUERY_EXECUTOR_QUERY_STATUS_UNKNOWN_OBJECT: Type = 42;
    pub const BT_QUERY_EXECUTOR_QUERY_STATUS_AGAIN: Type = 11;
    pub const BT_QUERY_EXECUTOR_QUERY_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_QUERY_EXECUTOR_QUERY_STATUS_ERROR: Type = -1;
}
extern "C" {
    pub fn bt_query_executor_query(
        query_executor: *mut bt_query_executor,
        result: *mut *const bt_value,
    ) -> bt_query_executor_query_status::Type;
}
pub mod bt_query_executor_set_logging_level_status {
    pub type Type = ::std::os::raw::c_uint;
    pub const BT_QUERY_EXECUTOR_SET_LOGGING_LEVEL_STATUS_OK: Type = 0;
}
extern "C" {
    pub fn bt_query_executor_set_logging_level(
        query_executor: *mut bt_query_executor,
        logging_level: bt_logging_level::Type,
    ) -> bt_query_executor_set_logging_level_status::Type;
}
extern "C" {
    pub fn bt_query_executor_get_logging_level(
        query_executor: *const bt_query_executor,
    ) -> bt_logging_level::Type;
}
pub mod bt_query_executor_add_interrupter_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_QUERY_EXECUTOR_ADD_INTERRUPTER_STATUS_OK: Type = 0;
    pub const BT_QUERY_EXECUTOR_ADD_INTERRUPTER_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_query_executor_add_interrupter(
        query_executor: *mut bt_query_executor,
        interrupter: *const bt_interrupter,
    ) -> bt_query_executor_add_interrupter_status::Type;
}
extern "C" {
    pub fn bt_query_executor_borrow_default_interrupter(
        query_executor: *mut bt_query_executor,
    ) -> *mut bt_interrupter;
}
extern "C" {
    pub fn bt_query_executor_is_interrupted(query_executor: *const bt_query_executor) -> bt_bool;
}
extern "C" {
    pub fn bt_query_executor_get_ref(query_executor: *const bt_query_executor);
}
extern "C" {
    pub fn bt_query_executor_put_ref(query_executor: *const bt_query_executor);
}
extern "C" {
    pub fn bt_self_component_port_borrow_component(
        self_component_port: *mut bt_self_component_port,
    ) -> *mut bt_self_component;
}
extern "C" {
    pub fn bt_self_component_port_get_data(
        self_component_port: *const bt_self_component_port,
    ) -> *mut ::std::os::raw::c_void;
}
pub mod bt_self_component_add_port_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_SELF_COMPONENT_ADD_PORT_STATUS_OK: Type = 0;
    pub const BT_SELF_COMPONENT_ADD_PORT_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_SELF_COMPONENT_ADD_PORT_STATUS_ERROR: Type = -1;
}
extern "C" {
    pub fn bt_self_component_source_add_output_port(
        self_component: *mut bt_self_component_source,
        name: *const ::std::os::raw::c_char,
        user_data: *mut ::std::os::raw::c_void,
        self_component_port: *mut *mut bt_self_component_port_output,
    ) -> bt_self_component_add_port_status::Type;
}
extern "C" {
    pub fn bt_self_component_filter_add_input_port(
        self_component: *mut bt_self_component_filter,
        name: *const ::std::os::raw::c_char,
        user_data: *mut ::std::os::raw::c_void,
        self_component_port: *mut *mut bt_self_component_port_input,
    ) -> bt_self_component_add_port_status::Type;
}
extern "C" {
    pub fn bt_self_component_filter_add_output_port(
        self_component: *mut bt_self_component_filter,
        name: *const ::std::os::raw::c_char,
        user_data: *mut ::std::os::raw::c_void,
        self_component_port: *mut *mut bt_self_component_port_output,
    ) -> bt_self_component_add_port_status::Type;
}
extern "C" {
    pub fn bt_self_component_sink_add_input_port(
        self_component: *mut bt_self_component_sink,
        name: *const ::std::os::raw::c_char,
        user_data: *mut ::std::os::raw::c_void,
        self_component_port: *mut *mut bt_self_component_port_input,
    ) -> bt_self_component_add_port_status::Type;
}
extern "C" {
    pub fn bt_self_component_source_borrow_output_port_by_index(
        self_component: *mut bt_self_component_source,
        index: u64,
    ) -> *mut bt_self_component_port_output;
}
extern "C" {
    pub fn bt_self_component_filter_borrow_input_port_by_index(
        self_component: *mut bt_self_component_filter,
        index: u64,
    ) -> *mut bt_self_component_port_input;
}
extern "C" {
    pub fn bt_self_component_filter_borrow_output_port_by_index(
        self_component: *mut bt_self_component_filter,
        index: u64,
    ) -> *mut bt_self_component_port_output;
}
extern "C" {
    pub fn bt_self_component_sink_borrow_input_port_by_index(
        self_component: *mut bt_self_component_sink,
        index: u64,
    ) -> *mut bt_self_component_port_input;
}
extern "C" {
    pub fn bt_self_component_source_borrow_output_port_by_name(
        self_component: *mut bt_self_component_source,
        name: *const ::std::os::raw::c_char,
    ) -> *mut bt_self_component_port_output;
}
extern "C" {
    pub fn bt_self_component_filter_borrow_input_port_by_name(
        self_component: *mut bt_self_component_filter,
        name: *const ::std::os::raw::c_char,
    ) -> *mut bt_self_component_port_input;
}
extern "C" {
    pub fn bt_self_component_filter_borrow_output_port_by_name(
        self_component: *mut bt_self_component_filter,
        name: *const ::std::os::raw::c_char,
    ) -> *mut bt_self_component_port_output;
}
extern "C" {
    pub fn bt_self_component_sink_borrow_input_port_by_name(
        self_component: *mut bt_self_component_sink,
        name: *const ::std::os::raw::c_char,
    ) -> *mut bt_self_component_port_input;
}
extern "C" {
    pub fn bt_self_component_set_data(
        self_component: *mut bt_self_component,
        user_data: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn bt_self_component_get_data(
        self_component: *const bt_self_component,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn bt_self_component_get_graph_mip_version(self_component: *mut bt_self_component) -> u64;
}
extern "C" {
    pub fn bt_self_component_sink_is_interrupted(
        self_component: *const bt_self_component_sink,
    ) -> bt_bool;
}
extern "C" {
    pub fn bt_self_message_iterator_borrow_component(
        self_message_iterator: *mut bt_self_message_iterator,
    ) -> *mut bt_self_component;
}
extern "C" {
    pub fn bt_self_message_iterator_borrow_port(
        self_message_iterator: *mut bt_self_message_iterator,
    ) -> *mut bt_self_component_port_output;
}
extern "C" {
    pub fn bt_self_message_iterator_set_data(
        self_message_iterator: *mut bt_self_message_iterator,
        user_data: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn bt_self_message_iterator_get_data(
        self_message_iterator: *const bt_self_message_iterator,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn bt_self_message_iterator_is_interrupted(
        self_message_iterator: *const bt_self_message_iterator,
    ) -> bt_bool;
}
extern "C" {
    pub fn bt_self_message_iterator_configuration_set_can_seek_forward(
        configuration: *mut bt_self_message_iterator_configuration,
        can_seek_forward: bt_bool,
    );
}
pub type size_t = ::std::os::raw::c_ulong;
extern "C" {
    pub fn bt_integer_range_unsigned_get_lower(int_range: *const bt_integer_range_unsigned) -> u64;
}
extern "C" {
    pub fn bt_integer_range_unsigned_get_upper(int_range: *const bt_integer_range_unsigned) -> u64;
}
extern "C" {
    pub fn bt_integer_range_unsigned_is_equal(
        a_int_range: *const bt_integer_range_unsigned,
        b_int_range: *const bt_integer_range_unsigned,
    ) -> bt_bool;
}
extern "C" {
    pub fn bt_integer_range_signed_get_lower(int_range: *const bt_integer_range_signed) -> i64;
}
extern "C" {
    pub fn bt_integer_range_signed_get_upper(int_range: *const bt_integer_range_signed) -> i64;
}
extern "C" {
    pub fn bt_integer_range_signed_is_equal(
        a_int_range: *const bt_integer_range_signed,
        b_int_range: *const bt_integer_range_signed,
    ) -> bt_bool;
}
pub mod bt_integer_range_set_add_range_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_INTEGER_RANGE_SET_ADD_RANGE_STATUS_OK: Type = 0;
    pub const BT_INTEGER_RANGE_SET_ADD_RANGE_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_integer_range_set_get_range_count(int_range_set: *const bt_integer_range_set) -> u64;
}
extern "C" {
    pub fn bt_integer_range_set_unsigned_create() -> *mut bt_integer_range_set_unsigned;
}
extern "C" {
    pub fn bt_integer_range_set_unsigned_add_range(
        int_range_set: *mut bt_integer_range_set_unsigned,
        lower: u64,
        upper: u64,
    ) -> bt_integer_range_set_add_range_status::Type;
}
extern "C" {
    pub fn bt_integer_range_set_unsigned_borrow_range_by_index_const(
        int_range_set: *const bt_integer_range_set_unsigned,
        index: u64,
    ) -> *const bt_integer_range_unsigned;
}
extern "C" {
    pub fn bt_integer_range_set_unsigned_is_equal(
        int_range_set_a: *const bt_integer_range_set_unsigned,
        int_range_set_b: *const bt_integer_range_set_unsigned,
    ) -> bt_bool;
}
extern "C" {
    pub fn bt_integer_range_set_unsigned_get_ref(
        int_range_set: *const bt_integer_range_set_unsigned,
    );
}
extern "C" {
    pub fn bt_integer_range_set_unsigned_put_ref(
        int_range_set: *const bt_integer_range_set_unsigned,
    );
}
extern "C" {
    pub fn bt_integer_range_set_signed_create() -> *mut bt_integer_range_set_signed;
}
extern "C" {
    pub fn bt_integer_range_set_signed_add_range(
        int_range_set: *mut bt_integer_range_set_signed,
        lower: i64,
        upper: i64,
    ) -> bt_integer_range_set_add_range_status::Type;
}
extern "C" {
    pub fn bt_integer_range_set_signed_borrow_range_by_index_const(
        int_range_set: *const bt_integer_range_set_signed,
        index: u64,
    ) -> *const bt_integer_range_signed;
}
extern "C" {
    pub fn bt_integer_range_set_signed_is_equal(
        int_range_set_a: *const bt_integer_range_set_signed,
        int_range_set_b: *const bt_integer_range_set_signed,
    ) -> bt_bool;
}
extern "C" {
    pub fn bt_integer_range_set_signed_get_ref(int_range_set: *const bt_integer_range_set_signed);
}
extern "C" {
    pub fn bt_integer_range_set_signed_put_ref(int_range_set: *const bt_integer_range_set_signed);
}
pub mod bt_message_iterator_class_can_seek_beginning_method_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_MESSAGE_ITERATOR_CLASS_CAN_SEEK_BEGINNING_METHOD_STATUS_OK: Type = 0;
    pub const BT_MESSAGE_ITERATOR_CLASS_CAN_SEEK_BEGINNING_METHOD_STATUS_AGAIN: Type = 11;
    pub const BT_MESSAGE_ITERATOR_CLASS_CAN_SEEK_BEGINNING_METHOD_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_MESSAGE_ITERATOR_CLASS_CAN_SEEK_BEGINNING_METHOD_STATUS_ERROR: Type = -1;
}
pub type bt_message_iterator_class_can_seek_beginning_method = ::std::option::Option<
    unsafe extern "C" fn(
        self_message_iterator: *mut bt_self_message_iterator,
        can_seek_beginning: *mut bt_bool,
    ) -> bt_message_iterator_class_can_seek_beginning_method_status::Type,
>;
pub mod bt_message_iterator_class_can_seek_ns_from_origin_method_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_MESSAGE_ITERATOR_CLASS_CAN_SEEK_NS_FROM_ORIGIN_METHOD_STATUS_OK: Type = 0;
    pub const BT_MESSAGE_ITERATOR_CLASS_CAN_SEEK_NS_FROM_ORIGIN_METHOD_STATUS_AGAIN: Type = 11;
    pub const BT_MESSAGE_ITERATOR_CLASS_CAN_SEEK_NS_FROM_ORIGIN_METHOD_STATUS_MEMORY_ERROR: Type =
        -12;
    pub const BT_MESSAGE_ITERATOR_CLASS_CAN_SEEK_NS_FROM_ORIGIN_METHOD_STATUS_ERROR: Type = -1;
}
pub type bt_message_iterator_class_can_seek_ns_from_origin_method = ::std::option::Option<
    unsafe extern "C" fn(
        self_message_iterator: *mut bt_self_message_iterator,
        ns_from_origin: i64,
        can_seek_ns_from_origin: *mut bt_bool,
    )
        -> bt_message_iterator_class_can_seek_ns_from_origin_method_status::Type,
>;
pub type bt_message_iterator_class_finalize_method = ::std::option::Option<
    unsafe extern "C" fn(self_message_iterator: *mut bt_self_message_iterator),
>;
pub mod bt_message_iterator_class_initialize_method_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_MESSAGE_ITERATOR_CLASS_INITIALIZE_METHOD_STATUS_OK: Type = 0;
    pub const BT_MESSAGE_ITERATOR_CLASS_INITIALIZE_METHOD_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_MESSAGE_ITERATOR_CLASS_INITIALIZE_METHOD_STATUS_ERROR: Type = -1;
}
pub type bt_message_iterator_class_initialize_method = ::std::option::Option<
    unsafe extern "C" fn(
        self_message_iterator: *mut bt_self_message_iterator,
        configuration: *mut bt_self_message_iterator_configuration,
        port: *mut bt_self_component_port_output,
    ) -> bt_message_iterator_class_initialize_method_status::Type,
>;
pub mod bt_message_iterator_class_next_method_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_MESSAGE_ITERATOR_CLASS_NEXT_METHOD_STATUS_OK: Type = 0;
    pub const BT_MESSAGE_ITERATOR_CLASS_NEXT_METHOD_STATUS_END: Type = 1;
    pub const BT_MESSAGE_ITERATOR_CLASS_NEXT_METHOD_STATUS_AGAIN: Type = 11;
    pub const BT_MESSAGE_ITERATOR_CLASS_NEXT_METHOD_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_MESSAGE_ITERATOR_CLASS_NEXT_METHOD_STATUS_ERROR: Type = -1;
}
pub type bt_message_iterator_class_next_method = ::std::option::Option<
    unsafe extern "C" fn(
        self_message_iterator: *mut bt_self_message_iterator,
        messages: bt_message_array_const,
        capacity: u64,
        count: *mut u64,
    ) -> bt_message_iterator_class_next_method_status::Type,
>;
pub mod bt_message_iterator_class_seek_beginning_method_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_MESSAGE_ITERATOR_CLASS_SEEK_BEGINNING_METHOD_STATUS_OK: Type = 0;
    pub const BT_MESSAGE_ITERATOR_CLASS_SEEK_BEGINNING_METHOD_STATUS_AGAIN: Type = 11;
    pub const BT_MESSAGE_ITERATOR_CLASS_SEEK_BEGINNING_METHOD_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_MESSAGE_ITERATOR_CLASS_SEEK_BEGINNING_METHOD_STATUS_ERROR: Type = -1;
}
pub type bt_message_iterator_class_seek_beginning_method = ::std::option::Option<
    unsafe extern "C" fn(
        self_message_iterator: *mut bt_self_message_iterator,
    ) -> bt_message_iterator_class_seek_beginning_method_status::Type,
>;
pub mod bt_message_iterator_class_seek_ns_from_origin_method_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_MESSAGE_ITERATOR_CLASS_SEEK_NS_FROM_ORIGIN_METHOD_STATUS_OK: Type = 0;
    pub const BT_MESSAGE_ITERATOR_CLASS_SEEK_NS_FROM_ORIGIN_METHOD_STATUS_AGAIN: Type = 11;
    pub const BT_MESSAGE_ITERATOR_CLASS_SEEK_NS_FROM_ORIGIN_METHOD_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_MESSAGE_ITERATOR_CLASS_SEEK_NS_FROM_ORIGIN_METHOD_STATUS_ERROR: Type = -1;
}
pub type bt_message_iterator_class_seek_ns_from_origin_method = ::std::option::Option<
    unsafe extern "C" fn(
        self_message_iterator: *mut bt_self_message_iterator,
        ns_from_origin: i64,
    ) -> bt_message_iterator_class_seek_ns_from_origin_method_status::Type,
>;
extern "C" {
    pub fn bt_message_iterator_class_create(
        next_method: bt_message_iterator_class_next_method,
    ) -> *mut bt_message_iterator_class;
}
pub mod bt_message_iterator_class_set_method_status {
    pub type Type = ::std::os::raw::c_uint;
    pub const BT_MESSAGE_ITERATOR_CLASS_SET_METHOD_STATUS_OK: Type = 0;
}
extern "C" {
    pub fn bt_message_iterator_class_set_finalize_method(
        message_iterator_class: *mut bt_message_iterator_class,
        method: bt_message_iterator_class_finalize_method,
    ) -> bt_message_iterator_class_set_method_status::Type;
}
extern "C" {
    pub fn bt_message_iterator_class_set_initialize_method(
        message_iterator_class: *mut bt_message_iterator_class,
        method: bt_message_iterator_class_initialize_method,
    ) -> bt_message_iterator_class_set_method_status::Type;
}
extern "C" {
    pub fn bt_message_iterator_class_set_seek_beginning_methods(
        message_iterator_class: *mut bt_message_iterator_class,
        seek_method: bt_message_iterator_class_seek_beginning_method,
        can_seek_method: bt_message_iterator_class_can_seek_beginning_method,
    ) -> bt_message_iterator_class_set_method_status::Type;
}
extern "C" {
    pub fn bt_message_iterator_class_set_seek_ns_from_origin_methods(
        message_iterator_class: *mut bt_message_iterator_class,
        seek_method: bt_message_iterator_class_seek_ns_from_origin_method,
        can_seek_method: bt_message_iterator_class_can_seek_ns_from_origin_method,
    ) -> bt_message_iterator_class_set_method_status::Type;
}
extern "C" {
    pub fn bt_message_iterator_class_get_ref(
        message_iterator_class: *const bt_message_iterator_class,
    );
}
extern "C" {
    pub fn bt_message_iterator_class_put_ref(
        message_iterator_class: *const bt_message_iterator_class,
    );
}
pub mod bt_plugin_initialize_func_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_PLUGIN_INITIALIZE_FUNC_STATUS_OK: Type = 0;
    pub const BT_PLUGIN_INITIALIZE_FUNC_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_PLUGIN_INITIALIZE_FUNC_STATUS_ERROR: Type = -1;
}
pub type bt_plugin_initialize_func = ::std::option::Option<
    unsafe extern "C" fn(
        self_plugin: *mut bt_self_plugin,
    ) -> bt_plugin_initialize_func_status::Type,
>;
pub type bt_plugin_finalize_func = ::std::option::Option<unsafe extern "C" fn()>;
#[repr(C, packed)]
#[derive(Copy, Clone)]
pub struct __bt_plugin_descriptor {
    pub name: *const ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout___bt_plugin_descriptor() {
    assert_eq!(
        ::std::mem::size_of::<__bt_plugin_descriptor>(),
        8usize,
        concat!("Size of: ", stringify!(__bt_plugin_descriptor))
    );
    assert_eq!(
        ::std::mem::align_of::<__bt_plugin_descriptor>(),
        1usize,
        concat!("Alignment of ", stringify!(__bt_plugin_descriptor))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__bt_plugin_descriptor>())).name as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_descriptor),
            "::",
            stringify!(name)
        )
    );
}
pub mod __bt_plugin_descriptor_attribute_type {
    pub type Type = ::std::os::raw::c_uint;
    pub const BT_PLUGIN_DESCRIPTOR_ATTRIBUTE_TYPE_INIT: Type = 0;
    pub const BT_PLUGIN_DESCRIPTOR_ATTRIBUTE_TYPE_EXIT: Type = 1;
    pub const BT_PLUGIN_DESCRIPTOR_ATTRIBUTE_TYPE_AUTHOR: Type = 2;
    pub const BT_PLUGIN_DESCRIPTOR_ATTRIBUTE_TYPE_LICENSE: Type = 3;
    pub const BT_PLUGIN_DESCRIPTOR_ATTRIBUTE_TYPE_DESCRIPTION: Type = 4;
    pub const BT_PLUGIN_DESCRIPTOR_ATTRIBUTE_TYPE_VERSION: Type = 5;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __bt_plugin_descriptor_version {
    pub major: u32,
    pub minor: u32,
    pub patch: u32,
    pub extra: *const ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout___bt_plugin_descriptor_version() {
    assert_eq!(
        ::std::mem::size_of::<__bt_plugin_descriptor_version>(),
        24usize,
        concat!("Size of: ", stringify!(__bt_plugin_descriptor_version))
    );
    assert_eq!(
        ::std::mem::align_of::<__bt_plugin_descriptor_version>(),
        8usize,
        concat!("Alignment of ", stringify!(__bt_plugin_descriptor_version))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_descriptor_version>())).major as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_descriptor_version),
            "::",
            stringify!(major)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_descriptor_version>())).minor as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_descriptor_version),
            "::",
            stringify!(minor)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_descriptor_version>())).patch as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_descriptor_version),
            "::",
            stringify!(patch)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_descriptor_version>())).extra as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_descriptor_version),
            "::",
            stringify!(extra)
        )
    );
}
#[repr(C, packed)]
pub struct __bt_plugin_descriptor_attribute {
    pub plugin_descriptor: *const __bt_plugin_descriptor,
    pub type_name: *const ::std::os::raw::c_char,
    pub type_: __bt_plugin_descriptor_attribute_type::Type,
    pub value: __bt_plugin_descriptor_attribute__bindgen_ty_1,
}
#[repr(C)]
pub struct __bt_plugin_descriptor_attribute__bindgen_ty_1 {
    pub init: __BindgenUnionField<bt_plugin_initialize_func>,
    pub exit: __BindgenUnionField<bt_plugin_finalize_func>,
    pub author: __BindgenUnionField<*const ::std::os::raw::c_char>,
    pub license: __BindgenUnionField<*const ::std::os::raw::c_char>,
    pub description: __BindgenUnionField<*const ::std::os::raw::c_char>,
    pub version: __BindgenUnionField<__bt_plugin_descriptor_version>,
    pub bindgen_union_field: [u64; 3usize],
}
#[test]
fn bindgen_test_layout___bt_plugin_descriptor_attribute__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<__bt_plugin_descriptor_attribute__bindgen_ty_1>(),
        24usize,
        concat!(
            "Size of: ",
            stringify!(__bt_plugin_descriptor_attribute__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<__bt_plugin_descriptor_attribute__bindgen_ty_1>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(__bt_plugin_descriptor_attribute__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_descriptor_attribute__bindgen_ty_1>())).init
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(init)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_descriptor_attribute__bindgen_ty_1>())).exit
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(exit)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_descriptor_attribute__bindgen_ty_1>())).author
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(author)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_descriptor_attribute__bindgen_ty_1>())).license
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(license)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_descriptor_attribute__bindgen_ty_1>())).description
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(description)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_descriptor_attribute__bindgen_ty_1>())).version
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(version)
        )
    );
}
#[test]
fn bindgen_test_layout___bt_plugin_descriptor_attribute() {
    assert_eq!(
        ::std::mem::size_of::<__bt_plugin_descriptor_attribute>(),
        44usize,
        concat!("Size of: ", stringify!(__bt_plugin_descriptor_attribute))
    );
    assert_eq!(
        ::std::mem::align_of::<__bt_plugin_descriptor_attribute>(),
        1usize,
        concat!(
            "Alignment of ",
            stringify!(__bt_plugin_descriptor_attribute)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_descriptor_attribute>())).plugin_descriptor
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_descriptor_attribute),
            "::",
            stringify!(plugin_descriptor)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_descriptor_attribute>())).type_name as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_descriptor_attribute),
            "::",
            stringify!(type_name)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_descriptor_attribute>())).type_ as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_descriptor_attribute),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_descriptor_attribute>())).value as *const _ as usize
        },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_descriptor_attribute),
            "::",
            stringify!(value)
        )
    );
}
#[repr(C, packed)]
#[derive(Copy, Clone)]
pub struct __bt_plugin_component_class_descriptor {
    pub plugin_descriptor: *const __bt_plugin_descriptor,
    pub name: *const ::std::os::raw::c_char,
    pub type_: bt_component_class_type::Type,
    pub methods: __bt_plugin_component_class_descriptor__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union __bt_plugin_component_class_descriptor__bindgen_ty_1 {
    pub source: __bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_1,
    pub filter: __bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_2,
    pub sink: __bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_3,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_1 {
    pub msg_iter_next: bt_message_iterator_class_next_method,
}
#[test]
fn bindgen_test_layout___bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<__bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_1>(),
        8usize,
        concat!(
            "Size of: ",
            stringify!(__bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<__bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_1>(
        ),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(__bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<
                __bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_1,
            >()))
            .msg_iter_next as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(msg_iter_next)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_2 {
    pub msg_iter_next: bt_message_iterator_class_next_method,
}
#[test]
fn bindgen_test_layout___bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_2() {
    assert_eq!(
        ::std::mem::size_of::<__bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_2>(),
        8usize,
        concat!(
            "Size of: ",
            stringify!(__bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_2)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<__bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_2>(
        ),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(__bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_2)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<
                __bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_2,
            >()))
            .msg_iter_next as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_2),
            "::",
            stringify!(msg_iter_next)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_3 {
    pub consume: bt_component_class_sink_consume_method,
}
#[test]
fn bindgen_test_layout___bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_3() {
    assert_eq!(
        ::std::mem::size_of::<__bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_3>(),
        8usize,
        concat!(
            "Size of: ",
            stringify!(__bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_3)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<__bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_3>(
        ),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(__bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_3)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<
                __bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_3,
            >()))
            .consume as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor__bindgen_ty_1__bindgen_ty_3),
            "::",
            stringify!(consume)
        )
    );
}
#[test]
fn bindgen_test_layout___bt_plugin_component_class_descriptor__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<__bt_plugin_component_class_descriptor__bindgen_ty_1>(),
        8usize,
        concat!(
            "Size of: ",
            stringify!(__bt_plugin_component_class_descriptor__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<__bt_plugin_component_class_descriptor__bindgen_ty_1>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(__bt_plugin_component_class_descriptor__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor__bindgen_ty_1>())).source
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor__bindgen_ty_1),
            "::",
            stringify!(source)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor__bindgen_ty_1>())).filter
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor__bindgen_ty_1),
            "::",
            stringify!(filter)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor__bindgen_ty_1>())).sink
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor__bindgen_ty_1),
            "::",
            stringify!(sink)
        )
    );
}
#[test]
fn bindgen_test_layout___bt_plugin_component_class_descriptor() {
    assert_eq!(
        ::std::mem::size_of::<__bt_plugin_component_class_descriptor>(),
        28usize,
        concat!(
            "Size of: ",
            stringify!(__bt_plugin_component_class_descriptor)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<__bt_plugin_component_class_descriptor>(),
        1usize,
        concat!(
            "Alignment of ",
            stringify!(__bt_plugin_component_class_descriptor)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor>())).plugin_descriptor
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor),
            "::",
            stringify!(plugin_descriptor)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor>())).name as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor>())).type_ as *const _
                as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor>())).methods as *const _
                as usize
        },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor),
            "::",
            stringify!(methods)
        )
    );
}
pub mod __bt_plugin_component_class_descriptor_attribute_type {
    pub type Type = ::std::os::raw::c_uint;
    pub const BT_PLUGIN_COMPONENT_CLASS_DESCRIPTOR_ATTRIBUTE_TYPE_DESCRIPTION: Type = 0;
    pub const BT_PLUGIN_COMPONENT_CLASS_DESCRIPTOR_ATTRIBUTE_TYPE_HELP: Type = 1;
    pub const BT_PLUGIN_COMPONENT_CLASS_DESCRIPTOR_ATTRIBUTE_TYPE_GET_SUPPORTED_MIP_VERSIONS_METHOD : Type = 2 ;
    pub const BT_PLUGIN_COMPONENT_CLASS_DESCRIPTOR_ATTRIBUTE_TYPE_INITIALIZE_METHOD: Type = 3;
    pub const BT_PLUGIN_COMPONENT_CLASS_DESCRIPTOR_ATTRIBUTE_TYPE_FINALIZE_METHOD: Type = 4;
    pub const BT_PLUGIN_COMPONENT_CLASS_DESCRIPTOR_ATTRIBUTE_TYPE_QUERY_METHOD: Type = 5;
    pub const BT_PLUGIN_COMPONENT_CLASS_DESCRIPTOR_ATTRIBUTE_TYPE_INPUT_PORT_CONNECTED_METHOD:
        Type = 6;
    pub const BT_PLUGIN_COMPONENT_CLASS_DESCRIPTOR_ATTRIBUTE_TYPE_OUTPUT_PORT_CONNECTED_METHOD:
        Type = 7;
    pub const BT_PLUGIN_COMPONENT_CLASS_DESCRIPTOR_ATTRIBUTE_TYPE_GRAPH_IS_CONFIGURED_METHOD: Type =
        8;
    pub const BT_PLUGIN_COMPONENT_CLASS_DESCRIPTOR_ATTRIBUTE_TYPE_MSG_ITER_INITIALIZE_METHOD: Type =
        9;
    pub const BT_PLUGIN_COMPONENT_CLASS_DESCRIPTOR_ATTRIBUTE_TYPE_MSG_ITER_FINALIZE_METHOD: Type =
        10;
    pub const BT_PLUGIN_COMPONENT_CLASS_DESCRIPTOR_ATTRIBUTE_TYPE_MSG_ITER_SEEK_NS_FROM_ORIGIN_METHOD : Type = 11 ;
    pub const BT_PLUGIN_COMPONENT_CLASS_DESCRIPTOR_ATTRIBUTE_TYPE_MSG_ITER_SEEK_BEGINNING_METHOD:
        Type = 12;
    pub const BT_PLUGIN_COMPONENT_CLASS_DESCRIPTOR_ATTRIBUTE_TYPE_MSG_ITER_CAN_SEEK_NS_FROM_ORIGIN_METHOD : Type = 13 ;
    pub const BT_PLUGIN_COMPONENT_CLASS_DESCRIPTOR_ATTRIBUTE_TYPE_MSG_ITER_CAN_SEEK_BEGINNING_METHOD : Type = 14 ;
}
#[repr(C, packed)]
#[derive(Copy, Clone)]
pub struct __bt_plugin_component_class_descriptor_attribute {
    pub comp_class_descriptor: *const __bt_plugin_component_class_descriptor,
    pub type_name: *const ::std::os::raw::c_char,
    pub type_: __bt_plugin_component_class_descriptor_attribute_type::Type,
    pub value: __bt_plugin_component_class_descriptor_attribute__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union __bt_plugin_component_class_descriptor_attribute__bindgen_ty_1 {
    pub description: *const ::std::os::raw::c_char,
    pub help: *const ::std::os::raw::c_char,
    pub source_get_supported_mip_versions_method:
        bt_component_class_source_get_supported_mip_versions_method,
    pub filter_get_supported_mip_versions_method:
        bt_component_class_filter_get_supported_mip_versions_method,
    pub sink_get_supported_mip_versions_method:
        bt_component_class_sink_get_supported_mip_versions_method,
    pub source_initialize_method: bt_component_class_source_initialize_method,
    pub filter_initialize_method: bt_component_class_filter_initialize_method,
    pub sink_initialize_method: bt_component_class_sink_initialize_method,
    pub source_finalize_method: bt_component_class_source_finalize_method,
    pub filter_finalize_method: bt_component_class_filter_finalize_method,
    pub sink_finalize_method: bt_component_class_sink_finalize_method,
    pub source_query_method: bt_component_class_source_query_method,
    pub filter_query_method: bt_component_class_filter_query_method,
    pub sink_query_method: bt_component_class_sink_query_method,
    pub filter_input_port_connected_method: bt_component_class_filter_input_port_connected_method,
    pub sink_input_port_connected_method: bt_component_class_sink_input_port_connected_method,
    pub source_output_port_connected_method: bt_component_class_source_output_port_connected_method,
    pub filter_output_port_connected_method: bt_component_class_filter_output_port_connected_method,
    pub sink_graph_is_configured_method: bt_component_class_sink_graph_is_configured_method,
    pub msg_iter_initialize_method: bt_message_iterator_class_initialize_method,
    pub msg_iter_finalize_method: bt_message_iterator_class_finalize_method,
    pub msg_iter_seek_ns_from_origin_method: bt_message_iterator_class_seek_ns_from_origin_method,
    pub msg_iter_seek_beginning_method: bt_message_iterator_class_seek_beginning_method,
    pub msg_iter_can_seek_ns_from_origin_method:
        bt_message_iterator_class_can_seek_ns_from_origin_method,
    pub msg_iter_can_seek_beginning_method: bt_message_iterator_class_can_seek_beginning_method,
}
#[test]
fn bindgen_test_layout___bt_plugin_component_class_descriptor_attribute__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(),
        8usize,
        concat!(
            "Size of: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(
            )))
            .description as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(description)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(
            )))
            .help as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(help)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(
            )))
            .source_get_supported_mip_versions_method as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(source_get_supported_mip_versions_method)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(
            )))
            .filter_get_supported_mip_versions_method as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(filter_get_supported_mip_versions_method)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(
            )))
            .sink_get_supported_mip_versions_method as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(sink_get_supported_mip_versions_method)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(
            )))
            .source_initialize_method as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(source_initialize_method)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(
            )))
            .filter_initialize_method as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(filter_initialize_method)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(
            )))
            .sink_initialize_method as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(sink_initialize_method)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(
            )))
            .source_finalize_method as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(source_finalize_method)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(
            )))
            .filter_finalize_method as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(filter_finalize_method)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(
            )))
            .sink_finalize_method as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(sink_finalize_method)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(
            )))
            .source_query_method as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(source_query_method)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(
            )))
            .filter_query_method as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(filter_query_method)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(
            )))
            .sink_query_method as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(sink_query_method)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(
            )))
            .filter_input_port_connected_method as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(filter_input_port_connected_method)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(
            )))
            .sink_input_port_connected_method as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(sink_input_port_connected_method)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(
            )))
            .source_output_port_connected_method as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(source_output_port_connected_method)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(
            )))
            .filter_output_port_connected_method as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(filter_output_port_connected_method)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(
            )))
            .sink_graph_is_configured_method as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(sink_graph_is_configured_method)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(
            )))
            .msg_iter_initialize_method as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(msg_iter_initialize_method)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(
            )))
            .msg_iter_finalize_method as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(msg_iter_finalize_method)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(
            )))
            .msg_iter_seek_ns_from_origin_method as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(msg_iter_seek_ns_from_origin_method)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(
            )))
            .msg_iter_seek_beginning_method as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(msg_iter_seek_beginning_method)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(
            )))
            .msg_iter_can_seek_ns_from_origin_method as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(msg_iter_can_seek_ns_from_origin_method)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1>(
            )))
            .msg_iter_can_seek_beginning_method as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute__bindgen_ty_1),
            "::",
            stringify!(msg_iter_can_seek_beginning_method)
        )
    );
}
#[test]
fn bindgen_test_layout___bt_plugin_component_class_descriptor_attribute() {
    assert_eq!(
        ::std::mem::size_of::<__bt_plugin_component_class_descriptor_attribute>(),
        28usize,
        concat!(
            "Size of: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<__bt_plugin_component_class_descriptor_attribute>(),
        1usize,
        concat!(
            "Alignment of ",
            stringify!(__bt_plugin_component_class_descriptor_attribute)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute>()))
                .comp_class_descriptor as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute),
            "::",
            stringify!(comp_class_descriptor)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute>())).type_name
                as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute),
            "::",
            stringify!(type_name)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute>())).type_
                as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__bt_plugin_component_class_descriptor_attribute>())).value
                as *const _ as usize
        },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(__bt_plugin_component_class_descriptor_attribute),
            "::",
            stringify!(value)
        )
    );
}
extern "C" {
    pub fn __bt_get_begin_section_plugin_descriptors() -> *const *const __bt_plugin_descriptor;
}
extern "C" {
    pub fn __bt_get_end_section_plugin_descriptors() -> *const *const __bt_plugin_descriptor;
}
extern "C" {
    pub fn __bt_get_begin_section_plugin_descriptor_attributes(
    ) -> *const *const __bt_plugin_descriptor_attribute;
}
extern "C" {
    pub fn __bt_get_end_section_plugin_descriptor_attributes(
    ) -> *const *const __bt_plugin_descriptor_attribute;
}
extern "C" {
    pub fn __bt_get_begin_section_component_class_descriptors(
    ) -> *const *const __bt_plugin_component_class_descriptor;
}
extern "C" {
    pub fn __bt_get_end_section_component_class_descriptors(
    ) -> *const *const __bt_plugin_component_class_descriptor;
}
extern "C" {
    pub fn __bt_get_begin_section_component_class_descriptor_attributes(
    ) -> *const *const __bt_plugin_component_class_descriptor_attribute;
}
extern "C" {
    pub fn __bt_get_end_section_component_class_descriptor_attributes(
    ) -> *const *const __bt_plugin_component_class_descriptor_attribute;
}
pub mod bt_plugin_find_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_PLUGIN_FIND_STATUS_OK: Type = 0;
    pub const BT_PLUGIN_FIND_STATUS_NOT_FOUND: Type = 2;
    pub const BT_PLUGIN_FIND_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_PLUGIN_FIND_STATUS_ERROR: Type = -1;
}
extern "C" {
    pub fn bt_plugin_find(
        plugin_name: *const ::std::os::raw::c_char,
        find_in_std_env_var: bt_bool,
        find_in_user_dir: bt_bool,
        find_in_sys_dir: bt_bool,
        find_in_static: bt_bool,
        fail_on_load_error: bt_bool,
        plugin: *mut *const bt_plugin,
    ) -> bt_plugin_find_status::Type;
}
pub mod bt_plugin_find_all_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_PLUGIN_FIND_ALL_STATUS_OK: Type = 0;
    pub const BT_PLUGIN_FIND_ALL_STATUS_NOT_FOUND: Type = 2;
    pub const BT_PLUGIN_FIND_ALL_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_PLUGIN_FIND_ALL_STATUS_ERROR: Type = -1;
}
extern "C" {
    pub fn bt_plugin_find_all(
        find_in_std_env_var: bt_bool,
        find_in_user_dir: bt_bool,
        find_in_sys_dir: bt_bool,
        find_in_static: bt_bool,
        fail_on_load_error: bt_bool,
        plugins: *mut *const bt_plugin_set,
    ) -> bt_plugin_find_all_status::Type;
}
pub mod bt_plugin_find_all_from_file_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_PLUGIN_FIND_ALL_FROM_FILE_STATUS_OK: Type = 0;
    pub const BT_PLUGIN_FIND_ALL_FROM_FILE_STATUS_NOT_FOUND: Type = 2;
    pub const BT_PLUGIN_FIND_ALL_FROM_FILE_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_PLUGIN_FIND_ALL_FROM_FILE_STATUS_ERROR: Type = -1;
}
extern "C" {
    pub fn bt_plugin_find_all_from_file(
        path: *const ::std::os::raw::c_char,
        fail_on_load_error: bt_bool,
        plugins: *mut *const bt_plugin_set,
    ) -> bt_plugin_find_all_from_file_status::Type;
}
pub mod bt_plugin_find_all_from_dir_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_PLUGIN_FIND_ALL_FROM_DIR_STATUS_OK: Type = 0;
    pub const BT_PLUGIN_FIND_ALL_FROM_DIR_STATUS_NOT_FOUND: Type = 2;
    pub const BT_PLUGIN_FIND_ALL_FROM_DIR_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_PLUGIN_FIND_ALL_FROM_DIR_STATUS_ERROR: Type = -1;
}
extern "C" {
    pub fn bt_plugin_find_all_from_dir(
        path: *const ::std::os::raw::c_char,
        recurse: bt_bool,
        fail_on_load_error: bt_bool,
        plugins: *mut *const bt_plugin_set,
    ) -> bt_plugin_find_all_from_dir_status::Type;
}
pub mod bt_plugin_find_all_from_static_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_PLUGIN_FIND_ALL_FROM_STATIC_STATUS_OK: Type = 0;
    pub const BT_PLUGIN_FIND_ALL_FROM_STATIC_STATUS_NOT_FOUND: Type = 2;
    pub const BT_PLUGIN_FIND_ALL_FROM_STATIC_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_PLUGIN_FIND_ALL_FROM_STATIC_STATUS_ERROR: Type = -1;
}
extern "C" {
    pub fn bt_plugin_find_all_from_static(
        fail_on_load_error: bt_bool,
        plugins: *mut *const bt_plugin_set,
    ) -> bt_plugin_find_all_from_static_status::Type;
}
extern "C" {
    pub fn bt_plugin_get_name(plugin: *const bt_plugin) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_plugin_get_description(plugin: *const bt_plugin) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_plugin_get_author(plugin: *const bt_plugin) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_plugin_get_license(plugin: *const bt_plugin) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_plugin_get_path(plugin: *const bt_plugin) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_plugin_get_version(
        plugin: *const bt_plugin,
        major: *mut ::std::os::raw::c_uint,
        minor: *mut ::std::os::raw::c_uint,
        patch: *mut ::std::os::raw::c_uint,
        extra: *mut *const ::std::os::raw::c_char,
    ) -> bt_property_availability::Type;
}
extern "C" {
    pub fn bt_plugin_get_source_component_class_count(plugin: *const bt_plugin) -> u64;
}
extern "C" {
    pub fn bt_plugin_get_filter_component_class_count(plugin: *const bt_plugin) -> u64;
}
extern "C" {
    pub fn bt_plugin_get_sink_component_class_count(plugin: *const bt_plugin) -> u64;
}
extern "C" {
    pub fn bt_plugin_borrow_source_component_class_by_index_const(
        plugin: *const bt_plugin,
        index: u64,
    ) -> *const bt_component_class_source;
}
extern "C" {
    pub fn bt_plugin_borrow_filter_component_class_by_index_const(
        plugin: *const bt_plugin,
        index: u64,
    ) -> *const bt_component_class_filter;
}
extern "C" {
    pub fn bt_plugin_borrow_sink_component_class_by_index_const(
        plugin: *const bt_plugin,
        index: u64,
    ) -> *const bt_component_class_sink;
}
extern "C" {
    pub fn bt_plugin_borrow_source_component_class_by_name_const(
        plugin: *const bt_plugin,
        name: *const ::std::os::raw::c_char,
    ) -> *const bt_component_class_source;
}
extern "C" {
    pub fn bt_plugin_borrow_filter_component_class_by_name_const(
        plugin: *const bt_plugin,
        name: *const ::std::os::raw::c_char,
    ) -> *const bt_component_class_filter;
}
extern "C" {
    pub fn bt_plugin_borrow_sink_component_class_by_name_const(
        plugin: *const bt_plugin,
        name: *const ::std::os::raw::c_char,
    ) -> *const bt_component_class_sink;
}
extern "C" {
    pub fn bt_plugin_get_ref(plugin: *const bt_plugin);
}
extern "C" {
    pub fn bt_plugin_put_ref(plugin: *const bt_plugin);
}
extern "C" {
    pub fn bt_plugin_set_get_plugin_count(plugin_set: *const bt_plugin_set) -> u64;
}
extern "C" {
    pub fn bt_plugin_set_borrow_plugin_by_index_const(
        plugin_set: *const bt_plugin_set,
        index: u64,
    ) -> *const bt_plugin;
}
extern "C" {
    pub fn bt_plugin_set_get_ref(plugin_set: *const bt_plugin_set);
}
extern "C" {
    pub fn bt_plugin_set_put_ref(plugin_set: *const bt_plugin_set);
}
extern "C" {
    pub fn bt_clock_class_create(self_component: *mut bt_self_component) -> *mut bt_clock_class;
}
extern "C" {
    pub fn bt_clock_class_set_frequency(clock_class: *mut bt_clock_class, frequency: u64);
}
extern "C" {
    pub fn bt_clock_class_get_frequency(clock_class: *const bt_clock_class) -> u64;
}
extern "C" {
    pub fn bt_clock_class_set_offset(
        clock_class: *mut bt_clock_class,
        offset_seconds: i64,
        offset_cycles: u64,
    );
}
extern "C" {
    pub fn bt_clock_class_get_offset(
        clock_class: *const bt_clock_class,
        offset_seconds: *mut i64,
        offset_cycles: *mut u64,
    );
}
extern "C" {
    pub fn bt_clock_class_set_precision(clock_class: *mut bt_clock_class, precision: u64);
}
extern "C" {
    pub fn bt_clock_class_get_precision(clock_class: *const bt_clock_class) -> u64;
}
extern "C" {
    pub fn bt_clock_class_set_origin_is_unix_epoch(
        clock_class: *mut bt_clock_class,
        origin_is_unix_epoch: bt_bool,
    );
}
extern "C" {
    pub fn bt_clock_class_origin_is_unix_epoch(clock_class: *const bt_clock_class) -> bt_bool;
}
pub mod bt_clock_class_set_name_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_CLOCK_CLASS_SET_NAME_STATUS_OK: Type = 0;
    pub const BT_CLOCK_CLASS_SET_NAME_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_clock_class_set_name(
        clock_class: *mut bt_clock_class,
        name: *const ::std::os::raw::c_char,
    ) -> bt_clock_class_set_name_status::Type;
}
extern "C" {
    pub fn bt_clock_class_get_name(
        clock_class: *const bt_clock_class,
    ) -> *const ::std::os::raw::c_char;
}
pub mod bt_clock_class_set_description_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_CLOCK_CLASS_SET_DESCRIPTION_STATUS_OK: Type = 0;
    pub const BT_CLOCK_CLASS_SET_DESCRIPTION_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_clock_class_set_description(
        clock_class: *mut bt_clock_class,
        description: *const ::std::os::raw::c_char,
    ) -> bt_clock_class_set_description_status::Type;
}
extern "C" {
    pub fn bt_clock_class_get_description(
        clock_class: *const bt_clock_class,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_clock_class_set_uuid(clock_class: *mut bt_clock_class, uuid: bt_uuid);
}
extern "C" {
    pub fn bt_clock_class_get_uuid(clock_class: *const bt_clock_class) -> bt_uuid;
}
extern "C" {
    pub fn bt_clock_class_set_user_attributes(
        clock_class: *mut bt_clock_class,
        user_attributes: *const bt_value,
    );
}
extern "C" {
    pub fn bt_clock_class_borrow_user_attributes(clock_class: *mut bt_clock_class)
        -> *mut bt_value;
}
extern "C" {
    pub fn bt_clock_class_borrow_user_attributes_const(
        clock_class: *const bt_clock_class,
    ) -> *const bt_value;
}
pub mod bt_clock_class_cycles_to_ns_from_origin_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_CLOCK_CLASS_CYCLES_TO_NS_FROM_ORIGIN_STATUS_OK: Type = 0;
    pub const BT_CLOCK_CLASS_CYCLES_TO_NS_FROM_ORIGIN_STATUS_OVERFLOW_ERROR: Type = -75;
}
extern "C" {
    pub fn bt_clock_class_cycles_to_ns_from_origin(
        clock_class: *const bt_clock_class,
        value: u64,
        ns_from_origin: *mut i64,
    ) -> bt_clock_class_cycles_to_ns_from_origin_status::Type;
}
extern "C" {
    pub fn bt_clock_class_get_ref(clock_class: *const bt_clock_class);
}
extern "C" {
    pub fn bt_clock_class_put_ref(clock_class: *const bt_clock_class);
}
extern "C" {
    pub fn bt_clock_snapshot_borrow_clock_class_const(
        clock_snapshot: *const bt_clock_snapshot,
    ) -> *const bt_clock_class;
}
extern "C" {
    pub fn bt_clock_snapshot_get_value(clock_snapshot: *const bt_clock_snapshot) -> u64;
}
pub mod bt_clock_snapshot_get_ns_from_origin_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_CLOCK_SNAPSHOT_GET_NS_FROM_ORIGIN_STATUS_OK: Type = 0;
    pub const BT_CLOCK_SNAPSHOT_GET_NS_FROM_ORIGIN_STATUS_OVERFLOW_ERROR: Type = -75;
}
extern "C" {
    pub fn bt_clock_snapshot_get_ns_from_origin(
        clock_snapshot: *const bt_clock_snapshot,
        ns_from_origin: *mut i64,
    ) -> bt_clock_snapshot_get_ns_from_origin_status::Type;
}
extern "C" {
    pub fn bt_event_class_create(stream_class: *mut bt_stream_class) -> *mut bt_event_class;
}
extern "C" {
    pub fn bt_event_class_create_with_id(
        stream_class: *mut bt_stream_class,
        id: u64,
    ) -> *mut bt_event_class;
}
extern "C" {
    pub fn bt_event_class_borrow_stream_class(
        event_class: *mut bt_event_class,
    ) -> *mut bt_stream_class;
}
extern "C" {
    pub fn bt_event_class_borrow_stream_class_const(
        event_class: *const bt_event_class,
    ) -> *const bt_stream_class;
}
extern "C" {
    pub fn bt_event_class_get_id(event_class: *const bt_event_class) -> u64;
}
pub mod bt_event_class_set_name_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_EVENT_CLASS_SET_NAME_STATUS_OK: Type = 0;
    pub const BT_EVENT_CLASS_SET_NAME_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_event_class_set_name(
        event_class: *mut bt_event_class,
        name: *const ::std::os::raw::c_char,
    ) -> bt_event_class_set_name_status::Type;
}
extern "C" {
    pub fn bt_event_class_get_name(
        event_class: *const bt_event_class,
    ) -> *const ::std::os::raw::c_char;
}
pub mod bt_event_class_log_level {
    pub type Type = ::std::os::raw::c_uint;
    pub const BT_EVENT_CLASS_LOG_LEVEL_EMERGENCY: Type = 0;
    pub const BT_EVENT_CLASS_LOG_LEVEL_ALERT: Type = 1;
    pub const BT_EVENT_CLASS_LOG_LEVEL_CRITICAL: Type = 2;
    pub const BT_EVENT_CLASS_LOG_LEVEL_ERROR: Type = 3;
    pub const BT_EVENT_CLASS_LOG_LEVEL_WARNING: Type = 4;
    pub const BT_EVENT_CLASS_LOG_LEVEL_NOTICE: Type = 5;
    pub const BT_EVENT_CLASS_LOG_LEVEL_INFO: Type = 6;
    pub const BT_EVENT_CLASS_LOG_LEVEL_DEBUG_SYSTEM: Type = 7;
    pub const BT_EVENT_CLASS_LOG_LEVEL_DEBUG_PROGRAM: Type = 8;
    pub const BT_EVENT_CLASS_LOG_LEVEL_DEBUG_PROCESS: Type = 9;
    pub const BT_EVENT_CLASS_LOG_LEVEL_DEBUG_MODULE: Type = 10;
    pub const BT_EVENT_CLASS_LOG_LEVEL_DEBUG_UNIT: Type = 11;
    pub const BT_EVENT_CLASS_LOG_LEVEL_DEBUG_FUNCTION: Type = 12;
    pub const BT_EVENT_CLASS_LOG_LEVEL_DEBUG_LINE: Type = 13;
    pub const BT_EVENT_CLASS_LOG_LEVEL_DEBUG: Type = 14;
}
extern "C" {
    pub fn bt_event_class_set_log_level(
        event_class: *mut bt_event_class,
        log_level: bt_event_class_log_level::Type,
    );
}
extern "C" {
    pub fn bt_event_class_get_log_level(
        event_class: *const bt_event_class,
        log_level: *mut bt_event_class_log_level::Type,
    ) -> bt_property_availability::Type;
}
pub mod bt_event_class_set_emf_uri_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_EVENT_CLASS_SET_EMF_URI_STATUS_OK: Type = 0;
    pub const BT_EVENT_CLASS_SET_EMF_URI_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_event_class_set_emf_uri(
        event_class: *mut bt_event_class,
        emf_uri: *const ::std::os::raw::c_char,
    ) -> bt_event_class_set_emf_uri_status::Type;
}
extern "C" {
    pub fn bt_event_class_get_emf_uri(
        event_class: *const bt_event_class,
    ) -> *const ::std::os::raw::c_char;
}
pub mod bt_event_class_set_field_class_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_EVENT_CLASS_SET_FIELD_CLASS_STATUS_OK: Type = 0;
    pub const BT_EVENT_CLASS_SET_FIELD_CLASS_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_event_class_set_payload_field_class(
        event_class: *mut bt_event_class,
        field_class: *mut bt_field_class,
    ) -> bt_event_class_set_field_class_status::Type;
}
extern "C" {
    pub fn bt_event_class_borrow_payload_field_class(
        event_class: *mut bt_event_class,
    ) -> *mut bt_field_class;
}
extern "C" {
    pub fn bt_event_class_borrow_payload_field_class_const(
        event_class: *const bt_event_class,
    ) -> *const bt_field_class;
}
extern "C" {
    pub fn bt_event_class_set_specific_context_field_class(
        event_class: *mut bt_event_class,
        field_class: *mut bt_field_class,
    ) -> bt_event_class_set_field_class_status::Type;
}
extern "C" {
    pub fn bt_event_class_borrow_specific_context_field_class(
        event_class: *mut bt_event_class,
    ) -> *mut bt_field_class;
}
extern "C" {
    pub fn bt_event_class_borrow_specific_context_field_class_const(
        event_class: *const bt_event_class,
    ) -> *const bt_field_class;
}
extern "C" {
    pub fn bt_event_class_set_user_attributes(
        event_class: *mut bt_event_class,
        user_attributes: *const bt_value,
    );
}
extern "C" {
    pub fn bt_event_class_borrow_user_attributes(event_class: *mut bt_event_class)
        -> *mut bt_value;
}
extern "C" {
    pub fn bt_event_class_borrow_user_attributes_const(
        event_class: *const bt_event_class,
    ) -> *const bt_value;
}
extern "C" {
    pub fn bt_event_class_get_ref(event_class: *const bt_event_class);
}
extern "C" {
    pub fn bt_event_class_put_ref(event_class: *const bt_event_class);
}
extern "C" {
    pub fn bt_event_borrow_class(event: *mut bt_event) -> *mut bt_event_class;
}
extern "C" {
    pub fn bt_event_borrow_class_const(event: *const bt_event) -> *const bt_event_class;
}
extern "C" {
    pub fn bt_event_borrow_stream(event: *mut bt_event) -> *mut bt_stream;
}
extern "C" {
    pub fn bt_event_borrow_stream_const(event: *const bt_event) -> *const bt_stream;
}
extern "C" {
    pub fn bt_event_borrow_packet(event: *mut bt_event) -> *mut bt_packet;
}
extern "C" {
    pub fn bt_event_borrow_packet_const(event: *const bt_event) -> *const bt_packet;
}
extern "C" {
    pub fn bt_event_borrow_payload_field(event: *mut bt_event) -> *mut bt_field;
}
extern "C" {
    pub fn bt_event_borrow_payload_field_const(event: *const bt_event) -> *const bt_field;
}
extern "C" {
    pub fn bt_event_borrow_specific_context_field(event: *mut bt_event) -> *mut bt_field;
}
extern "C" {
    pub fn bt_event_borrow_specific_context_field_const(event: *const bt_event) -> *const bt_field;
}
extern "C" {
    pub fn bt_event_borrow_common_context_field(event: *mut bt_event) -> *mut bt_field;
}
extern "C" {
    pub fn bt_event_borrow_common_context_field_const(event: *const bt_event) -> *const bt_field;
}
pub mod bt_field_class_type {
    pub type Type = ::std::os::raw::c_ulong;
    pub const BT_FIELD_CLASS_TYPE_BOOL: Type = 1;
    pub const BT_FIELD_CLASS_TYPE_BIT_ARRAY: Type = 2;
    pub const BT_FIELD_CLASS_TYPE_INTEGER: Type = 4;
    pub const BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER: Type = 12;
    pub const BT_FIELD_CLASS_TYPE_SIGNED_INTEGER: Type = 20;
    pub const BT_FIELD_CLASS_TYPE_ENUMERATION: Type = 32;
    pub const BT_FIELD_CLASS_TYPE_UNSIGNED_ENUMERATION: Type = 44;
    pub const BT_FIELD_CLASS_TYPE_SIGNED_ENUMERATION: Type = 52;
    pub const BT_FIELD_CLASS_TYPE_REAL: Type = 64;
    pub const BT_FIELD_CLASS_TYPE_SINGLE_PRECISION_REAL: Type = 192;
    pub const BT_FIELD_CLASS_TYPE_DOUBLE_PRECISION_REAL: Type = 320;
    pub const BT_FIELD_CLASS_TYPE_STRING: Type = 512;
    pub const BT_FIELD_CLASS_TYPE_STRUCTURE: Type = 1024;
    pub const BT_FIELD_CLASS_TYPE_ARRAY: Type = 2048;
    pub const BT_FIELD_CLASS_TYPE_STATIC_ARRAY: Type = 6144;
    pub const BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY: Type = 10240;
    pub const BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY_WITHOUT_LENGTH_FIELD: Type = 26624;
    pub const BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY_WITH_LENGTH_FIELD: Type = 43008;
    pub const BT_FIELD_CLASS_TYPE_OPTION: Type = 65536;
    pub const BT_FIELD_CLASS_TYPE_OPTION_WITHOUT_SELECTOR_FIELD: Type = 196608;
    pub const BT_FIELD_CLASS_TYPE_OPTION_WITH_SELECTOR_FIELD: Type = 327680;
    pub const BT_FIELD_CLASS_TYPE_OPTION_WITH_BOOL_SELECTOR_FIELD: Type = 851968;
    pub const BT_FIELD_CLASS_TYPE_OPTION_WITH_INTEGER_SELECTOR_FIELD: Type = 1376256;
    pub const BT_FIELD_CLASS_TYPE_OPTION_WITH_UNSIGNED_INTEGER_SELECTOR_FIELD: Type = 3473408;
    pub const BT_FIELD_CLASS_TYPE_OPTION_WITH_SIGNED_INTEGER_SELECTOR_FIELD: Type = 5570560;
    pub const BT_FIELD_CLASS_TYPE_VARIANT: Type = 8388608;
    pub const BT_FIELD_CLASS_TYPE_VARIANT_WITHOUT_SELECTOR_FIELD: Type = 25165824;
    pub const BT_FIELD_CLASS_TYPE_VARIANT_WITH_SELECTOR_FIELD: Type = 41943040;
    pub const BT_FIELD_CLASS_TYPE_VARIANT_WITH_INTEGER_SELECTOR_FIELD: Type = 109051904;
    pub const BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_INTEGER_SELECTOR_FIELD: Type = 243269632;
    pub const BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_INTEGER_SELECTOR_FIELD: Type = 377487360;
    pub const __BT_FIELD_CLASS_TYPE_BIG_VALUE: Type = 4611686018427387904;
}
extern "C" {
    pub fn bt_field_class_get_type(field_class: *const bt_field_class)
        -> bt_field_class_type::Type;
}
extern "C" {
    pub fn bt_field_class_set_user_attributes(
        field_class: *mut bt_field_class,
        user_attributes: *const bt_value,
    );
}
extern "C" {
    pub fn bt_field_class_borrow_user_attributes(field_class: *mut bt_field_class)
        -> *mut bt_value;
}
extern "C" {
    pub fn bt_field_class_borrow_user_attributes_const(
        field_class: *const bt_field_class,
    ) -> *const bt_value;
}
extern "C" {
    pub fn bt_field_class_bool_create(trace_class: *mut bt_trace_class) -> *mut bt_field_class;
}
extern "C" {
    pub fn bt_field_class_bit_array_create(
        trace_class: *mut bt_trace_class,
        length: u64,
    ) -> *mut bt_field_class;
}
extern "C" {
    pub fn bt_field_class_bit_array_get_length(field_class: *const bt_field_class) -> u64;
}
extern "C" {
    pub fn bt_field_class_integer_set_field_value_range(field_class: *mut bt_field_class, n: u64);
}
extern "C" {
    pub fn bt_field_class_integer_get_field_value_range(field_class: *const bt_field_class) -> u64;
}
pub mod bt_field_class_integer_preferred_display_base {
    pub type Type = ::std::os::raw::c_uint;
    pub const BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_BINARY: Type = 2;
    pub const BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_OCTAL: Type = 8;
    pub const BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_DECIMAL: Type = 10;
    pub const BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_HEXADECIMAL: Type = 16;
}
extern "C" {
    pub fn bt_field_class_integer_set_preferred_display_base(
        field_class: *mut bt_field_class,
        preferred_display_base: bt_field_class_integer_preferred_display_base::Type,
    );
}
extern "C" {
    pub fn bt_field_class_integer_get_preferred_display_base(
        field_class: *const bt_field_class,
    ) -> bt_field_class_integer_preferred_display_base::Type;
}
extern "C" {
    pub fn bt_field_class_integer_unsigned_create(
        trace_class: *mut bt_trace_class,
    ) -> *mut bt_field_class;
}
extern "C" {
    pub fn bt_field_class_integer_signed_create(
        trace_class: *mut bt_trace_class,
    ) -> *mut bt_field_class;
}
extern "C" {
    pub fn bt_field_class_real_single_precision_create(
        trace_class: *mut bt_trace_class,
    ) -> *mut bt_field_class;
}
extern "C" {
    pub fn bt_field_class_real_double_precision_create(
        trace_class: *mut bt_trace_class,
    ) -> *mut bt_field_class;
}
pub type bt_field_class_enumeration_mapping_label_array = *const *const ::std::os::raw::c_char;
pub mod bt_field_class_enumeration_get_mapping_labels_for_value_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_FIELD_CLASS_ENUMERATION_GET_MAPPING_LABELS_BY_VALUE_STATUS_OK: Type = 0;
    pub const BT_FIELD_CLASS_ENUMERATION_GET_MAPPING_LABELS_BY_VALUE_STATUS_MEMORY_ERROR: Type =
        -12;
}
pub mod bt_field_class_enumeration_add_mapping_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_FIELD_CLASS_ENUMERATION_ADD_MAPPING_STATUS_OK: Type = 0;
    pub const BT_FIELD_CLASS_ENUMERATION_ADD_MAPPING_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_field_class_enumeration_get_mapping_count(field_class: *const bt_field_class) -> u64;
}
extern "C" {
    pub fn bt_field_class_enumeration_mapping_get_label(
        mapping: *const bt_field_class_enumeration_mapping,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_field_class_enumeration_unsigned_create(
        trace_class: *mut bt_trace_class,
    ) -> *mut bt_field_class;
}
extern "C" {
    pub fn bt_field_class_enumeration_unsigned_add_mapping(
        field_class: *mut bt_field_class,
        label: *const ::std::os::raw::c_char,
        ranges: *const bt_integer_range_set_unsigned,
    ) -> bt_field_class_enumeration_add_mapping_status::Type;
}
extern "C" {
    pub fn bt_field_class_enumeration_unsigned_borrow_mapping_by_index_const(
        field_class: *const bt_field_class,
        index: u64,
    ) -> *const bt_field_class_enumeration_unsigned_mapping;
}
extern "C" {
    pub fn bt_field_class_enumeration_unsigned_borrow_mapping_by_label_const(
        field_class: *const bt_field_class,
        label: *const ::std::os::raw::c_char,
    ) -> *const bt_field_class_enumeration_unsigned_mapping;
}
extern "C" {
    pub fn bt_field_class_enumeration_unsigned_get_mapping_labels_for_value(
        field_class: *const bt_field_class,
        value: u64,
        labels: *mut bt_field_class_enumeration_mapping_label_array,
        count: *mut u64,
    ) -> bt_field_class_enumeration_get_mapping_labels_for_value_status::Type;
}
extern "C" {
    pub fn bt_field_class_enumeration_unsigned_mapping_borrow_ranges_const(
        mapping: *const bt_field_class_enumeration_unsigned_mapping,
    ) -> *const bt_integer_range_set_unsigned;
}
extern "C" {
    pub fn bt_field_class_enumeration_signed_create(
        trace_class: *mut bt_trace_class,
    ) -> *mut bt_field_class;
}
extern "C" {
    pub fn bt_field_class_enumeration_signed_add_mapping(
        field_class: *mut bt_field_class,
        label: *const ::std::os::raw::c_char,
        ranges: *const bt_integer_range_set_signed,
    ) -> bt_field_class_enumeration_add_mapping_status::Type;
}
extern "C" {
    pub fn bt_field_class_enumeration_signed_borrow_mapping_by_index_const(
        field_class: *const bt_field_class,
        index: u64,
    ) -> *const bt_field_class_enumeration_signed_mapping;
}
extern "C" {
    pub fn bt_field_class_enumeration_signed_borrow_mapping_by_label_const(
        field_class: *const bt_field_class,
        label: *const ::std::os::raw::c_char,
    ) -> *const bt_field_class_enumeration_signed_mapping;
}
extern "C" {
    pub fn bt_field_class_enumeration_signed_get_mapping_labels_for_value(
        field_class: *const bt_field_class,
        value: i64,
        labels: *mut bt_field_class_enumeration_mapping_label_array,
        count: *mut u64,
    ) -> bt_field_class_enumeration_get_mapping_labels_for_value_status::Type;
}
extern "C" {
    pub fn bt_field_class_enumeration_signed_mapping_borrow_ranges_const(
        mapping: *const bt_field_class_enumeration_signed_mapping,
    ) -> *const bt_integer_range_set_signed;
}
extern "C" {
    pub fn bt_field_class_string_create(trace_class: *mut bt_trace_class) -> *mut bt_field_class;
}
extern "C" {
    pub fn bt_field_class_array_borrow_element_field_class(
        field_class: *mut bt_field_class,
    ) -> *mut bt_field_class;
}
extern "C" {
    pub fn bt_field_class_array_borrow_element_field_class_const(
        field_class: *const bt_field_class,
    ) -> *const bt_field_class;
}
extern "C" {
    pub fn bt_field_class_array_static_create(
        trace_class: *mut bt_trace_class,
        element_field_class: *mut bt_field_class,
        length: u64,
    ) -> *mut bt_field_class;
}
extern "C" {
    pub fn bt_field_class_array_static_get_length(field_class: *const bt_field_class) -> u64;
}
extern "C" {
    pub fn bt_field_class_array_dynamic_create(
        trace_class: *mut bt_trace_class,
        element_field_class: *mut bt_field_class,
        length_field_class: *mut bt_field_class,
    ) -> *mut bt_field_class;
}
extern "C" {
    pub fn bt_field_class_array_dynamic_with_length_field_borrow_length_field_path_const(
        field_class: *const bt_field_class,
    ) -> *const bt_field_path;
}
extern "C" {
    pub fn bt_field_class_structure_create(trace_class: *mut bt_trace_class)
        -> *mut bt_field_class;
}
pub mod bt_field_class_structure_append_member_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_FIELD_CLASS_STRUCTURE_APPEND_MEMBER_STATUS_OK: Type = 0;
    pub const BT_FIELD_CLASS_STRUCTURE_APPEND_MEMBER_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_field_class_structure_append_member(
        field_class: *mut bt_field_class,
        name: *const ::std::os::raw::c_char,
        member_field_class: *mut bt_field_class,
    ) -> bt_field_class_structure_append_member_status::Type;
}
extern "C" {
    pub fn bt_field_class_structure_get_member_count(field_class: *const bt_field_class) -> u64;
}
extern "C" {
    pub fn bt_field_class_structure_borrow_member_by_index(
        field_class: *mut bt_field_class,
        index: u64,
    ) -> *mut bt_field_class_structure_member;
}
extern "C" {
    pub fn bt_field_class_structure_borrow_member_by_index_const(
        field_class: *const bt_field_class,
        index: u64,
    ) -> *const bt_field_class_structure_member;
}
extern "C" {
    pub fn bt_field_class_structure_borrow_member_by_name(
        field_class: *mut bt_field_class,
        name: *const ::std::os::raw::c_char,
    ) -> *mut bt_field_class_structure_member;
}
extern "C" {
    pub fn bt_field_class_structure_borrow_member_by_name_const(
        field_class: *const bt_field_class,
        name: *const ::std::os::raw::c_char,
    ) -> *const bt_field_class_structure_member;
}
extern "C" {
    pub fn bt_field_class_structure_member_get_name(
        member: *const bt_field_class_structure_member,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_field_class_structure_member_borrow_field_class(
        member: *mut bt_field_class_structure_member,
    ) -> *mut bt_field_class;
}
extern "C" {
    pub fn bt_field_class_structure_member_borrow_field_class_const(
        member: *const bt_field_class_structure_member,
    ) -> *const bt_field_class;
}
extern "C" {
    pub fn bt_field_class_structure_member_set_user_attributes(
        member: *mut bt_field_class_structure_member,
        user_attributes: *const bt_value,
    );
}
extern "C" {
    pub fn bt_field_class_structure_member_borrow_user_attributes(
        member: *mut bt_field_class_structure_member,
    ) -> *mut bt_value;
}
extern "C" {
    pub fn bt_field_class_structure_member_borrow_user_attributes_const(
        member: *const bt_field_class_structure_member,
    ) -> *const bt_value;
}
extern "C" {
    pub fn bt_field_class_option_borrow_field_class(
        field_class: *mut bt_field_class,
    ) -> *mut bt_field_class;
}
extern "C" {
    pub fn bt_field_class_option_borrow_field_class_const(
        field_class: *const bt_field_class,
    ) -> *const bt_field_class;
}
extern "C" {
    pub fn bt_field_class_option_without_selector_create(
        trace_class: *mut bt_trace_class,
        optional_field_class: *mut bt_field_class,
    ) -> *mut bt_field_class;
}
extern "C" {
    pub fn bt_field_class_option_with_selector_field_borrow_selector_field_path_const(
        field_class: *const bt_field_class,
    ) -> *const bt_field_path;
}
extern "C" {
    pub fn bt_field_class_option_with_selector_field_bool_create(
        trace_class: *mut bt_trace_class,
        optional_field_class: *mut bt_field_class,
        selector_field_class: *mut bt_field_class,
    ) -> *mut bt_field_class;
}
extern "C" {
    pub fn bt_field_class_option_with_selector_field_bool_set_selector_is_reversed(
        field_class: *mut bt_field_class,
        selector_is_reversed: bt_bool,
    );
}
extern "C" {
    pub fn bt_field_class_option_with_selector_field_bool_selector_is_reversed(
        field_class: *const bt_field_class,
    ) -> bt_bool;
}
extern "C" {
    pub fn bt_field_class_option_with_selector_field_integer_unsigned_create(
        trace_class: *mut bt_trace_class,
        optional_field_class: *mut bt_field_class,
        selector_field_class: *mut bt_field_class,
        ranges: *const bt_integer_range_set_unsigned,
    ) -> *mut bt_field_class;
}
extern "C" {
    pub fn bt_field_class_option_with_selector_field_integer_unsigned_borrow_selector_ranges_const(
        field_class: *const bt_field_class,
    ) -> *const bt_integer_range_set_unsigned;
}
extern "C" {
    pub fn bt_field_class_option_with_selector_field_integer_signed_create(
        trace_class: *mut bt_trace_class,
        optional_field_class: *mut bt_field_class,
        selector_field_class: *mut bt_field_class,
        ranges: *const bt_integer_range_set_signed,
    ) -> *mut bt_field_class;
}
extern "C" {
    pub fn bt_field_class_option_with_selector_field_integer_signed_borrow_selector_ranges_const(
        field_class: *const bt_field_class,
    ) -> *const bt_integer_range_set_signed;
}
extern "C" {
    pub fn bt_field_class_variant_create(
        trace_class: *mut bt_trace_class,
        selector_field_class: *mut bt_field_class,
    ) -> *mut bt_field_class;
}
extern "C" {
    pub fn bt_field_class_variant_get_option_count(field_class: *const bt_field_class) -> u64;
}
extern "C" {
    pub fn bt_field_class_variant_borrow_option_by_index(
        field_class: *mut bt_field_class,
        index: u64,
    ) -> *mut bt_field_class_variant_option;
}
extern "C" {
    pub fn bt_field_class_variant_borrow_option_by_index_const(
        field_class: *const bt_field_class,
        index: u64,
    ) -> *const bt_field_class_variant_option;
}
extern "C" {
    pub fn bt_field_class_variant_borrow_option_by_name(
        field_class: *mut bt_field_class,
        name: *const ::std::os::raw::c_char,
    ) -> *mut bt_field_class_variant_option;
}
extern "C" {
    pub fn bt_field_class_variant_borrow_option_by_name_const(
        field_class: *const bt_field_class,
        name: *const ::std::os::raw::c_char,
    ) -> *const bt_field_class_variant_option;
}
extern "C" {
    pub fn bt_field_class_variant_option_get_name(
        option: *const bt_field_class_variant_option,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_field_class_variant_option_borrow_field_class(
        option: *mut bt_field_class_variant_option,
    ) -> *mut bt_field_class;
}
extern "C" {
    pub fn bt_field_class_variant_option_borrow_field_class_const(
        option: *const bt_field_class_variant_option,
    ) -> *const bt_field_class;
}
extern "C" {
    pub fn bt_field_class_variant_option_set_user_attributes(
        option: *mut bt_field_class_variant_option,
        user_attributes: *const bt_value,
    );
}
extern "C" {
    pub fn bt_field_class_variant_option_borrow_user_attributes(
        option: *mut bt_field_class_variant_option,
    ) -> *mut bt_value;
}
extern "C" {
    pub fn bt_field_class_variant_option_borrow_user_attributes_const(
        option: *const bt_field_class_variant_option,
    ) -> *const bt_value;
}
pub mod bt_field_class_variant_without_selector_append_option_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_FIELD_CLASS_VARIANT_WITHOUT_SELECTOR_FIELD_APPEND_OPTION_STATUS_OK: Type = 0;
    pub const BT_FIELD_CLASS_VARIANT_WITHOUT_SELECTOR_FIELD_APPEND_OPTION_STATUS_MEMORY_ERROR:
        Type = -12;
}
extern "C" {
    pub fn bt_field_class_variant_without_selector_append_option(
        field_class: *mut bt_field_class,
        name: *const ::std::os::raw::c_char,
        option_field_class: *mut bt_field_class,
    ) -> bt_field_class_variant_without_selector_append_option_status::Type;
}
pub mod bt_field_class_variant_with_selector_field_integer_append_option_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_FIELD_CLASS_VARIANT_WITH_SELECTOR_FIELD_APPEND_OPTION_STATUS_OK: Type = 0;
    pub const BT_FIELD_CLASS_VARIANT_WITH_SELECTOR_FIELD_APPEND_OPTION_STATUS_MEMORY_ERROR: Type =
        -12;
}
extern "C" {
    pub fn bt_field_class_variant_with_selector_field_borrow_selector_field_path_const(
        field_class: *const bt_field_class,
    ) -> *const bt_field_path;
}
extern "C" {
    pub fn bt_field_class_variant_with_selector_field_integer_unsigned_append_option(
        field_class: *mut bt_field_class,
        name: *const ::std::os::raw::c_char,
        option_field_class: *mut bt_field_class,
        ranges: *const bt_integer_range_set_unsigned,
    ) -> bt_field_class_variant_with_selector_field_integer_append_option_status::Type;
}
extern "C" {
    pub fn bt_field_class_variant_with_selector_field_integer_unsigned_borrow_option_by_index_const(
        field_class: *const bt_field_class,
        index: u64,
    ) -> *const bt_field_class_variant_with_selector_field_integer_unsigned_option;
}
extern "C" {
    pub fn bt_field_class_variant_with_selector_field_integer_unsigned_borrow_option_by_name_const(
        field_class: *const bt_field_class,
        name: *const ::std::os::raw::c_char,
    ) -> *const bt_field_class_variant_with_selector_field_integer_unsigned_option;
}
extern "C" {
    pub fn bt_field_class_variant_with_selector_field_integer_unsigned_option_borrow_ranges_const(
        option: *const bt_field_class_variant_with_selector_field_integer_unsigned_option,
    ) -> *const bt_integer_range_set_unsigned;
}
extern "C" {
    pub fn bt_field_class_variant_with_selector_field_integer_signed_append_option(
        field_class: *mut bt_field_class,
        name: *const ::std::os::raw::c_char,
        option_field_class: *mut bt_field_class,
        ranges: *const bt_integer_range_set_signed,
    ) -> bt_field_class_variant_with_selector_field_integer_append_option_status::Type;
}
extern "C" {
    pub fn bt_field_class_variant_with_selector_field_integer_signed_borrow_option_by_index_const(
        field_class: *const bt_field_class,
        index: u64,
    ) -> *const bt_field_class_variant_with_selector_field_integer_signed_option;
}
extern "C" {
    pub fn bt_field_class_variant_with_selector_field_integer_signed_borrow_option_by_name_const(
        field_class: *const bt_field_class,
        name: *const ::std::os::raw::c_char,
    ) -> *const bt_field_class_variant_with_selector_field_integer_signed_option;
}
extern "C" {
    pub fn bt_field_class_variant_with_selector_field_integer_signed_option_borrow_ranges_const(
        option: *const bt_field_class_variant_with_selector_field_integer_signed_option,
    ) -> *const bt_integer_range_set_signed;
}
extern "C" {
    pub fn bt_field_class_get_ref(field_class: *const bt_field_class);
}
extern "C" {
    pub fn bt_field_class_put_ref(field_class: *const bt_field_class);
}
pub mod bt_field_path_scope {
    pub type Type = ::std::os::raw::c_uint;
    pub const BT_FIELD_PATH_SCOPE_PACKET_CONTEXT: Type = 0;
    pub const BT_FIELD_PATH_SCOPE_EVENT_COMMON_CONTEXT: Type = 1;
    pub const BT_FIELD_PATH_SCOPE_EVENT_SPECIFIC_CONTEXT: Type = 2;
    pub const BT_FIELD_PATH_SCOPE_EVENT_PAYLOAD: Type = 3;
}
extern "C" {
    pub fn bt_field_path_get_root_scope(
        field_path: *const bt_field_path,
    ) -> bt_field_path_scope::Type;
}
extern "C" {
    pub fn bt_field_path_get_item_count(field_path: *const bt_field_path) -> u64;
}
extern "C" {
    pub fn bt_field_path_borrow_item_by_index_const(
        field_path: *const bt_field_path,
        index: u64,
    ) -> *const bt_field_path_item;
}
extern "C" {
    pub fn bt_field_path_get_ref(field_path: *const bt_field_path);
}
extern "C" {
    pub fn bt_field_path_put_ref(field_path: *const bt_field_path);
}
pub mod bt_field_path_item_type {
    pub type Type = ::std::os::raw::c_uint;
    pub const BT_FIELD_PATH_ITEM_TYPE_INDEX: Type = 1;
    pub const BT_FIELD_PATH_ITEM_TYPE_CURRENT_ARRAY_ELEMENT: Type = 2;
    pub const BT_FIELD_PATH_ITEM_TYPE_CURRENT_OPTION_CONTENT: Type = 4;
}
extern "C" {
    pub fn bt_field_path_item_get_type(
        item: *const bt_field_path_item,
    ) -> bt_field_path_item_type::Type;
}
extern "C" {
    pub fn bt_field_path_item_index_get_index(item: *const bt_field_path_item) -> u64;
}
extern "C" {
    pub fn bt_field_get_class_type(field: *const bt_field) -> bt_field_class_type::Type;
}
extern "C" {
    pub fn bt_field_borrow_class(field: *mut bt_field) -> *mut bt_field_class;
}
extern "C" {
    pub fn bt_field_borrow_class_const(field: *const bt_field) -> *const bt_field_class;
}
extern "C" {
    pub fn bt_field_bool_set_value(field: *mut bt_field, value: bt_bool);
}
extern "C" {
    pub fn bt_field_bool_get_value(field: *const bt_field) -> bt_bool;
}
extern "C" {
    pub fn bt_field_bit_array_set_value_as_integer(field: *mut bt_field, bits: u64);
}
extern "C" {
    pub fn bt_field_bit_array_get_value_as_integer(field: *const bt_field) -> u64;
}
extern "C" {
    pub fn bt_field_integer_unsigned_set_value(field: *mut bt_field, value: u64);
}
extern "C" {
    pub fn bt_field_integer_unsigned_get_value(field: *const bt_field) -> u64;
}
extern "C" {
    pub fn bt_field_integer_signed_set_value(field: *mut bt_field, value: i64);
}
extern "C" {
    pub fn bt_field_integer_signed_get_value(field: *const bt_field) -> i64;
}
pub mod bt_field_enumeration_get_mapping_labels_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_FIELD_ENUMERATION_GET_MAPPING_LABELS_STATUS_OK: Type = 0;
    pub const BT_FIELD_ENUMERATION_GET_MAPPING_LABELS_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_field_enumeration_unsigned_get_mapping_labels(
        field: *const bt_field,
        labels: *mut bt_field_class_enumeration_mapping_label_array,
        count: *mut u64,
    ) -> bt_field_enumeration_get_mapping_labels_status::Type;
}
extern "C" {
    pub fn bt_field_enumeration_signed_get_mapping_labels(
        field: *const bt_field,
        labels: *mut bt_field_class_enumeration_mapping_label_array,
        count: *mut u64,
    ) -> bt_field_enumeration_get_mapping_labels_status::Type;
}
extern "C" {
    pub fn bt_field_real_single_precision_set_value(field: *mut bt_field, value: f32);
}
extern "C" {
    pub fn bt_field_real_single_precision_get_value(field: *const bt_field) -> f32;
}
extern "C" {
    pub fn bt_field_real_double_precision_set_value(field: *mut bt_field, value: f64);
}
extern "C" {
    pub fn bt_field_real_double_precision_get_value(field: *const bt_field) -> f64;
}
pub mod bt_field_string_set_value_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_FIELD_STRING_SET_VALUE_STATUS_OK: Type = 0;
    pub const BT_FIELD_STRING_SET_VALUE_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_field_string_set_value(
        field: *mut bt_field,
        value: *const ::std::os::raw::c_char,
    ) -> bt_field_string_set_value_status::Type;
}
extern "C" {
    pub fn bt_field_string_get_length(field: *const bt_field) -> u64;
}
extern "C" {
    pub fn bt_field_string_get_value(field: *const bt_field) -> *const ::std::os::raw::c_char;
}
pub mod bt_field_string_append_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_FIELD_STRING_APPEND_STATUS_OK: Type = 0;
    pub const BT_FIELD_STRING_APPEND_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_field_string_append(
        field: *mut bt_field,
        value: *const ::std::os::raw::c_char,
    ) -> bt_field_string_append_status::Type;
}
extern "C" {
    pub fn bt_field_string_append_with_length(
        field: *mut bt_field,
        value: *const ::std::os::raw::c_char,
        length: u64,
    ) -> bt_field_string_append_status::Type;
}
extern "C" {
    pub fn bt_field_string_clear(field: *mut bt_field);
}
extern "C" {
    pub fn bt_field_array_get_length(field: *const bt_field) -> u64;
}
extern "C" {
    pub fn bt_field_array_borrow_element_field_by_index(
        field: *mut bt_field,
        index: u64,
    ) -> *mut bt_field;
}
extern "C" {
    pub fn bt_field_array_borrow_element_field_by_index_const(
        field: *const bt_field,
        index: u64,
    ) -> *const bt_field;
}
pub mod bt_field_array_dynamic_set_length_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_FIELD_DYNAMIC_ARRAY_SET_LENGTH_STATUS_OK: Type = 0;
    pub const BT_FIELD_DYNAMIC_ARRAY_SET_LENGTH_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_field_array_dynamic_set_length(
        field: *mut bt_field,
        length: u64,
    ) -> bt_field_array_dynamic_set_length_status::Type;
}
extern "C" {
    pub fn bt_field_structure_borrow_member_field_by_index(
        field: *mut bt_field,
        index: u64,
    ) -> *mut bt_field;
}
extern "C" {
    pub fn bt_field_structure_borrow_member_field_by_index_const(
        field: *const bt_field,
        index: u64,
    ) -> *const bt_field;
}
extern "C" {
    pub fn bt_field_structure_borrow_member_field_by_name(
        field: *mut bt_field,
        name: *const ::std::os::raw::c_char,
    ) -> *mut bt_field;
}
extern "C" {
    pub fn bt_field_structure_borrow_member_field_by_name_const(
        field: *const bt_field,
        name: *const ::std::os::raw::c_char,
    ) -> *const bt_field;
}
extern "C" {
    pub fn bt_field_option_set_has_field(field: *mut bt_field, has_field: bt_bool);
}
extern "C" {
    pub fn bt_field_option_borrow_field(field: *mut bt_field) -> *mut bt_field;
}
extern "C" {
    pub fn bt_field_option_borrow_field_const(field: *const bt_field) -> *const bt_field;
}
pub mod bt_field_variant_select_option_by_index_status {
    pub type Type = ::std::os::raw::c_uint;
    pub const BT_FIELD_VARIANT_SELECT_OPTION_STATUS_OK: Type = 0;
}
extern "C" {
    pub fn bt_field_variant_select_option_by_index(
        field: *mut bt_field,
        index: u64,
    ) -> bt_field_variant_select_option_by_index_status::Type;
}
extern "C" {
    pub fn bt_field_variant_borrow_selected_option_field(field: *mut bt_field) -> *mut bt_field;
}
extern "C" {
    pub fn bt_field_variant_borrow_selected_option_field_const(
        field: *const bt_field,
    ) -> *const bt_field;
}
extern "C" {
    pub fn bt_field_variant_get_selected_option_index(field: *const bt_field) -> u64;
}
extern "C" {
    pub fn bt_field_variant_borrow_selected_option_class_const(
        field: *const bt_field,
    ) -> *const bt_field_class_variant_option;
}
extern "C" {
    pub fn bt_field_variant_with_selector_field_integer_unsigned_borrow_selected_option_class_const(
        field: *const bt_field,
    ) -> *const bt_field_class_variant_with_selector_field_integer_unsigned_option;
}
extern "C" {
    pub fn bt_field_variant_with_selector_field_integer_signed_borrow_selected_option_class_const(
        field: *const bt_field,
    ) -> *const bt_field_class_variant_with_selector_field_integer_signed_option;
}
extern "C" {
    pub fn bt_packet_create(stream: *const bt_stream) -> *mut bt_packet;
}
extern "C" {
    pub fn bt_packet_borrow_stream(packet: *mut bt_packet) -> *mut bt_stream;
}
extern "C" {
    pub fn bt_packet_borrow_stream_const(packet: *const bt_packet) -> *const bt_stream;
}
extern "C" {
    pub fn bt_packet_borrow_context_field(packet: *mut bt_packet) -> *mut bt_field;
}
extern "C" {
    pub fn bt_packet_borrow_context_field_const(packet: *const bt_packet) -> *const bt_field;
}
extern "C" {
    pub fn bt_packet_get_ref(packet: *const bt_packet);
}
extern "C" {
    pub fn bt_packet_put_ref(packet: *const bt_packet);
}
extern "C" {
    pub fn bt_stream_class_create(trace_class: *mut bt_trace_class) -> *mut bt_stream_class;
}
extern "C" {
    pub fn bt_stream_class_create_with_id(
        trace_class: *mut bt_trace_class,
        id: u64,
    ) -> *mut bt_stream_class;
}
extern "C" {
    pub fn bt_stream_class_borrow_trace_class(
        stream_class: *mut bt_stream_class,
    ) -> *mut bt_trace_class;
}
extern "C" {
    pub fn bt_stream_class_borrow_trace_class_const(
        stream_class: *const bt_stream_class,
    ) -> *const bt_trace_class;
}
extern "C" {
    pub fn bt_stream_class_get_event_class_count(stream_class: *const bt_stream_class) -> u64;
}
extern "C" {
    pub fn bt_stream_class_borrow_event_class_by_index(
        stream_class: *mut bt_stream_class,
        index: u64,
    ) -> *mut bt_event_class;
}
extern "C" {
    pub fn bt_stream_class_borrow_event_class_by_index_const(
        stream_class: *const bt_stream_class,
        index: u64,
    ) -> *const bt_event_class;
}
extern "C" {
    pub fn bt_stream_class_borrow_event_class_by_id(
        stream_class: *mut bt_stream_class,
        id: u64,
    ) -> *mut bt_event_class;
}
extern "C" {
    pub fn bt_stream_class_borrow_event_class_by_id_const(
        stream_class: *const bt_stream_class,
        id: u64,
    ) -> *const bt_event_class;
}
extern "C" {
    pub fn bt_stream_class_get_id(stream_class: *const bt_stream_class) -> u64;
}
pub mod bt_stream_class_set_name_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_STREAM_CLASS_SET_NAME_STATUS_OK: Type = 0;
    pub const BT_STREAM_CLASS_SET_NAME_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_stream_class_set_name(
        stream_class: *mut bt_stream_class,
        name: *const ::std::os::raw::c_char,
    ) -> bt_stream_class_set_name_status::Type;
}
extern "C" {
    pub fn bt_stream_class_get_name(
        stream_class: *const bt_stream_class,
    ) -> *const ::std::os::raw::c_char;
}
pub mod bt_stream_class_set_default_clock_class_status {
    pub type Type = ::std::os::raw::c_uint;
    pub const BT_STREAM_CLASS_SET_DEFAULT_CLOCK_CLASS_STATUS_OK: Type = 0;
}
extern "C" {
    pub fn bt_stream_class_set_default_clock_class(
        stream_class: *mut bt_stream_class,
        clock_class: *mut bt_clock_class,
    ) -> bt_stream_class_set_default_clock_class_status::Type;
}
extern "C" {
    pub fn bt_stream_class_borrow_default_clock_class(
        stream_class: *mut bt_stream_class,
    ) -> *mut bt_clock_class;
}
extern "C" {
    pub fn bt_stream_class_borrow_default_clock_class_const(
        stream_class: *const bt_stream_class,
    ) -> *const bt_clock_class;
}
pub mod bt_stream_class_set_field_class_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_STREAM_CLASS_SET_FIELD_CLASS_STATUS_OK: Type = 0;
    pub const BT_STREAM_CLASS_SET_FIELD_CLASS_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_stream_class_set_packet_context_field_class(
        stream_class: *mut bt_stream_class,
        field_class: *mut bt_field_class,
    ) -> bt_stream_class_set_field_class_status::Type;
}
extern "C" {
    pub fn bt_stream_class_borrow_packet_context_field_class(
        stream_class: *mut bt_stream_class,
    ) -> *mut bt_field_class;
}
extern "C" {
    pub fn bt_stream_class_borrow_packet_context_field_class_const(
        stream_class: *const bt_stream_class,
    ) -> *const bt_field_class;
}
extern "C" {
    pub fn bt_stream_class_set_event_common_context_field_class(
        stream_class: *mut bt_stream_class,
        field_class: *mut bt_field_class,
    ) -> bt_stream_class_set_field_class_status::Type;
}
extern "C" {
    pub fn bt_stream_class_borrow_event_common_context_field_class(
        stream_class: *mut bt_stream_class,
    ) -> *mut bt_field_class;
}
extern "C" {
    pub fn bt_stream_class_borrow_event_common_context_field_class_const(
        stream_class: *const bt_stream_class,
    ) -> *const bt_field_class;
}
extern "C" {
    pub fn bt_stream_class_set_assigns_automatic_event_class_id(
        stream_class: *mut bt_stream_class,
        assigns_automatic_event_class_id: bt_bool,
    );
}
extern "C" {
    pub fn bt_stream_class_assigns_automatic_event_class_id(
        stream_class: *const bt_stream_class,
    ) -> bt_bool;
}
extern "C" {
    pub fn bt_stream_class_set_assigns_automatic_stream_id(
        stream_class: *mut bt_stream_class,
        assigns_automatic_stream_id: bt_bool,
    );
}
extern "C" {
    pub fn bt_stream_class_assigns_automatic_stream_id(
        stream_class: *const bt_stream_class,
    ) -> bt_bool;
}
extern "C" {
    pub fn bt_stream_class_set_supports_packets(
        stream_class: *mut bt_stream_class,
        supports_packets: bt_bool,
        with_beginning_default_clock_snapshot: bt_bool,
        with_end_default_clock_snapshot: bt_bool,
    );
}
extern "C" {
    pub fn bt_stream_class_supports_packets(stream_class: *const bt_stream_class) -> bt_bool;
}
extern "C" {
    pub fn bt_stream_class_packets_have_beginning_default_clock_snapshot(
        stream_class: *const bt_stream_class,
    ) -> bt_bool;
}
extern "C" {
    pub fn bt_stream_class_packets_have_end_default_clock_snapshot(
        stream_class: *const bt_stream_class,
    ) -> bt_bool;
}
extern "C" {
    pub fn bt_stream_class_set_supports_discarded_events(
        stream_class: *mut bt_stream_class,
        supports_discarded_events: bt_bool,
        with_default_clock_snapshots: bt_bool,
    );
}
extern "C" {
    pub fn bt_stream_class_supports_discarded_events(
        stream_class: *const bt_stream_class,
    ) -> bt_bool;
}
extern "C" {
    pub fn bt_stream_class_discarded_events_have_default_clock_snapshots(
        stream_class: *const bt_stream_class,
    ) -> bt_bool;
}
extern "C" {
    pub fn bt_stream_class_set_supports_discarded_packets(
        stream_class: *mut bt_stream_class,
        supports_discarded_packets: bt_bool,
        with_default_clock_snapshots: bt_bool,
    );
}
extern "C" {
    pub fn bt_stream_class_supports_discarded_packets(
        stream_class: *const bt_stream_class,
    ) -> bt_bool;
}
extern "C" {
    pub fn bt_stream_class_discarded_packets_have_default_clock_snapshots(
        stream_class: *const bt_stream_class,
    ) -> bt_bool;
}
extern "C" {
    pub fn bt_stream_class_set_user_attributes(
        stream_class: *mut bt_stream_class,
        user_attributes: *const bt_value,
    );
}
extern "C" {
    pub fn bt_stream_class_borrow_user_attributes(
        stream_class: *mut bt_stream_class,
    ) -> *mut bt_value;
}
extern "C" {
    pub fn bt_stream_class_borrow_user_attributes_const(
        stream_class: *const bt_stream_class,
    ) -> *const bt_value;
}
extern "C" {
    pub fn bt_stream_class_get_ref(stream_class: *const bt_stream_class);
}
extern "C" {
    pub fn bt_stream_class_put_ref(stream_class: *const bt_stream_class);
}
extern "C" {
    pub fn bt_stream_create(
        stream_class: *mut bt_stream_class,
        trace: *mut bt_trace,
    ) -> *mut bt_stream;
}
extern "C" {
    pub fn bt_stream_create_with_id(
        stream_class: *mut bt_stream_class,
        trace: *mut bt_trace,
        id: u64,
    ) -> *mut bt_stream;
}
extern "C" {
    pub fn bt_stream_borrow_class(stream: *mut bt_stream) -> *mut bt_stream_class;
}
extern "C" {
    pub fn bt_stream_borrow_class_const(stream: *const bt_stream) -> *const bt_stream_class;
}
extern "C" {
    pub fn bt_stream_borrow_trace(stream: *mut bt_stream) -> *mut bt_trace;
}
extern "C" {
    pub fn bt_stream_borrow_trace_const(stream: *const bt_stream) -> *const bt_trace;
}
extern "C" {
    pub fn bt_stream_get_id(stream: *const bt_stream) -> u64;
}
pub mod bt_stream_set_name_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_STREAM_SET_NAME_STATUS_OK: Type = 0;
    pub const BT_STREAM_SET_NAME_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_stream_set_name(
        stream: *mut bt_stream,
        name: *const ::std::os::raw::c_char,
    ) -> bt_stream_set_name_status::Type;
}
extern "C" {
    pub fn bt_stream_get_name(stream: *const bt_stream) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_stream_set_user_attributes(stream: *mut bt_stream, user_attributes: *const bt_value);
}
extern "C" {
    pub fn bt_stream_borrow_user_attributes(stream: *mut bt_stream) -> *mut bt_value;
}
extern "C" {
    pub fn bt_stream_borrow_user_attributes_const(stream: *const bt_stream) -> *const bt_value;
}
extern "C" {
    pub fn bt_stream_get_ref(stream: *const bt_stream);
}
extern "C" {
    pub fn bt_stream_put_ref(stream: *const bt_stream);
}
extern "C" {
    pub fn bt_trace_class_create(self_component: *mut bt_self_component) -> *mut bt_trace_class;
}
extern "C" {
    pub fn bt_trace_class_get_stream_class_count(trace_class: *const bt_trace_class) -> u64;
}
extern "C" {
    pub fn bt_trace_class_borrow_stream_class_by_index(
        trace_class: *mut bt_trace_class,
        index: u64,
    ) -> *mut bt_stream_class;
}
extern "C" {
    pub fn bt_trace_class_borrow_stream_class_by_index_const(
        trace_class: *const bt_trace_class,
        index: u64,
    ) -> *const bt_stream_class;
}
extern "C" {
    pub fn bt_trace_class_borrow_stream_class_by_id(
        trace_class: *mut bt_trace_class,
        id: u64,
    ) -> *mut bt_stream_class;
}
extern "C" {
    pub fn bt_trace_class_borrow_stream_class_by_id_const(
        trace_class: *const bt_trace_class,
        id: u64,
    ) -> *const bt_stream_class;
}
extern "C" {
    pub fn bt_trace_class_set_assigns_automatic_stream_class_id(
        trace_class: *mut bt_trace_class,
        assigns_automatic_stream_class_id: bt_bool,
    );
}
extern "C" {
    pub fn bt_trace_class_assigns_automatic_stream_class_id(
        trace_class: *const bt_trace_class,
    ) -> bt_bool;
}
extern "C" {
    pub fn bt_trace_class_set_user_attributes(
        trace_class: *mut bt_trace_class,
        user_attributes: *const bt_value,
    );
}
extern "C" {
    pub fn bt_trace_class_borrow_user_attributes(trace_class: *mut bt_trace_class)
        -> *mut bt_value;
}
extern "C" {
    pub fn bt_trace_class_borrow_user_attributes_const(
        trace_class: *const bt_trace_class,
    ) -> *const bt_value;
}
pub type bt_trace_class_destruction_listener_func = ::std::option::Option<
    unsafe extern "C" fn(
        trace_class: *const bt_trace_class,
        user_data: *mut ::std::os::raw::c_void,
    ),
>;
pub mod bt_trace_class_add_listener_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_TRACE_CLASS_ADD_LISTENER_STATUS_OK: Type = 0;
    pub const BT_TRACE_CLASS_ADD_LISTENER_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_trace_class_add_destruction_listener(
        trace_class: *const bt_trace_class,
        user_func: bt_trace_class_destruction_listener_func,
        user_data: *mut ::std::os::raw::c_void,
        listener_id: *mut bt_listener_id,
    ) -> bt_trace_class_add_listener_status::Type;
}
pub mod bt_trace_class_remove_listener_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_TRACE_CLASS_REMOVE_LISTENER_STATUS_OK: Type = 0;
    pub const BT_TRACE_CLASS_REMOVE_LISTENER_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_trace_class_remove_destruction_listener(
        trace_class: *const bt_trace_class,
        listener_id: bt_listener_id,
    ) -> bt_trace_class_remove_listener_status::Type;
}
extern "C" {
    pub fn bt_trace_class_get_ref(trace_class: *const bt_trace_class);
}
extern "C" {
    pub fn bt_trace_class_put_ref(trace_class: *const bt_trace_class);
}
extern "C" {
    pub fn bt_trace_create(trace_class: *mut bt_trace_class) -> *mut bt_trace;
}
extern "C" {
    pub fn bt_trace_borrow_class(trace: *mut bt_trace) -> *mut bt_trace_class;
}
extern "C" {
    pub fn bt_trace_borrow_class_const(trace: *const bt_trace) -> *const bt_trace_class;
}
extern "C" {
    pub fn bt_trace_get_stream_count(trace: *const bt_trace) -> u64;
}
extern "C" {
    pub fn bt_trace_borrow_stream_by_index(trace: *mut bt_trace, index: u64) -> *mut bt_stream;
}
extern "C" {
    pub fn bt_trace_borrow_stream_by_index_const(
        trace: *const bt_trace,
        index: u64,
    ) -> *const bt_stream;
}
extern "C" {
    pub fn bt_trace_borrow_stream_by_id(trace: *mut bt_trace, id: u64) -> *mut bt_stream;
}
extern "C" {
    pub fn bt_trace_borrow_stream_by_id_const(trace: *const bt_trace, id: u64) -> *const bt_stream;
}
pub mod bt_trace_set_name_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_TRACE_SET_NAME_STATUS_OK: Type = 0;
    pub const BT_TRACE_SET_NAME_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_trace_set_name(
        trace: *mut bt_trace,
        name: *const ::std::os::raw::c_char,
    ) -> bt_trace_set_name_status::Type;
}
extern "C" {
    pub fn bt_trace_get_name(trace: *const bt_trace) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_trace_set_uuid(trace: *mut bt_trace, uuid: bt_uuid);
}
extern "C" {
    pub fn bt_trace_get_uuid(trace: *const bt_trace) -> bt_uuid;
}
pub mod bt_trace_set_environment_entry_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_TRACE_SET_ENVIRONMENT_ENTRY_STATUS_OK: Type = 0;
    pub const BT_TRACE_SET_ENVIRONMENT_ENTRY_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_trace_set_environment_entry_integer(
        trace: *mut bt_trace,
        name: *const ::std::os::raw::c_char,
        value: i64,
    ) -> bt_trace_set_environment_entry_status::Type;
}
extern "C" {
    pub fn bt_trace_set_environment_entry_string(
        trace: *mut bt_trace,
        name: *const ::std::os::raw::c_char,
        value: *const ::std::os::raw::c_char,
    ) -> bt_trace_set_environment_entry_status::Type;
}
extern "C" {
    pub fn bt_trace_get_environment_entry_count(trace: *const bt_trace) -> u64;
}
extern "C" {
    pub fn bt_trace_borrow_environment_entry_by_index_const(
        trace: *const bt_trace,
        index: u64,
        name: *mut *const ::std::os::raw::c_char,
        value: *mut *const bt_value,
    );
}
extern "C" {
    pub fn bt_trace_borrow_environment_entry_value_by_name_const(
        trace: *const bt_trace,
        name: *const ::std::os::raw::c_char,
    ) -> *const bt_value;
}
extern "C" {
    pub fn bt_trace_set_user_attributes(trace: *mut bt_trace, user_attributes: *const bt_value);
}
extern "C" {
    pub fn bt_trace_borrow_user_attributes(trace: *mut bt_trace) -> *mut bt_value;
}
extern "C" {
    pub fn bt_trace_borrow_user_attributes_const(trace: *const bt_trace) -> *const bt_value;
}
pub type bt_trace_destruction_listener_func = ::std::option::Option<
    unsafe extern "C" fn(trace: *const bt_trace, user_data: *mut ::std::os::raw::c_void),
>;
pub mod bt_trace_add_listener_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_TRACE_ADD_LISTENER_STATUS_OK: Type = 0;
    pub const BT_TRACE_ADD_LISTENER_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_trace_add_destruction_listener(
        trace: *const bt_trace,
        user_func: bt_trace_destruction_listener_func,
        user_data: *mut ::std::os::raw::c_void,
        listener_id: *mut bt_listener_id,
    ) -> bt_trace_add_listener_status::Type;
}
pub mod bt_trace_remove_listener_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_TRACE_REMOVE_LISTENER_STATUS_OK: Type = 0;
    pub const BT_TRACE_REMOVE_LISTENER_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_trace_remove_destruction_listener(
        trace: *const bt_trace,
        listener_id: bt_listener_id,
    ) -> bt_trace_remove_listener_status::Type;
}
extern "C" {
    pub fn bt_trace_get_ref(trace: *const bt_trace);
}
extern "C" {
    pub fn bt_trace_put_ref(trace: *const bt_trace);
}
pub mod bt_util_clock_cycles_to_ns_from_origin_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_UTIL_CLOCK_CYCLES_TO_NS_FROM_ORIGIN_STATUS_OK: Type = 0;
    pub const BT_UTIL_CLOCK_CYCLES_TO_NS_FROM_ORIGIN_STATUS_OVERFLOW_ERROR: Type = -75;
}
extern "C" {
    pub fn bt_util_clock_cycles_to_ns_from_origin(
        cycles: u64,
        frequency: u64,
        offset_seconds: i64,
        offset_cycles: u64,
        ns_from_origin: *mut i64,
    ) -> bt_util_clock_cycles_to_ns_from_origin_status::Type;
}
pub mod bt_value_type {
    pub type Type = ::std::os::raw::c_uint;
    pub const BT_VALUE_TYPE_NULL: Type = 1;
    pub const BT_VALUE_TYPE_BOOL: Type = 2;
    pub const BT_VALUE_TYPE_INTEGER: Type = 4;
    pub const BT_VALUE_TYPE_UNSIGNED_INTEGER: Type = 12;
    pub const BT_VALUE_TYPE_SIGNED_INTEGER: Type = 20;
    pub const BT_VALUE_TYPE_REAL: Type = 32;
    pub const BT_VALUE_TYPE_STRING: Type = 64;
    pub const BT_VALUE_TYPE_ARRAY: Type = 128;
    pub const BT_VALUE_TYPE_MAP: Type = 256;
}
extern "C" {
    pub fn bt_value_get_type(value: *const bt_value) -> bt_value_type::Type;
}
extern "C" {
    pub static bt_value_null: *mut bt_value;
}
extern "C" {
    pub fn bt_value_bool_create() -> *mut bt_value;
}
extern "C" {
    pub fn bt_value_bool_create_init(raw_value: bt_bool) -> *mut bt_value;
}
extern "C" {
    pub fn bt_value_bool_set(value: *mut bt_value, raw_value: bt_bool);
}
extern "C" {
    pub fn bt_value_bool_get(value: *const bt_value) -> bt_bool;
}
extern "C" {
    pub fn bt_value_integer_unsigned_create() -> *mut bt_value;
}
extern "C" {
    pub fn bt_value_integer_unsigned_create_init(raw_value: u64) -> *mut bt_value;
}
extern "C" {
    pub fn bt_value_integer_unsigned_set(value: *mut bt_value, raw_value: u64);
}
extern "C" {
    pub fn bt_value_integer_unsigned_get(value: *const bt_value) -> u64;
}
extern "C" {
    pub fn bt_value_integer_signed_create() -> *mut bt_value;
}
extern "C" {
    pub fn bt_value_integer_signed_create_init(raw_value: i64) -> *mut bt_value;
}
extern "C" {
    pub fn bt_value_integer_signed_set(value: *mut bt_value, raw_value: i64);
}
extern "C" {
    pub fn bt_value_integer_signed_get(value: *const bt_value) -> i64;
}
extern "C" {
    pub fn bt_value_real_create() -> *mut bt_value;
}
extern "C" {
    pub fn bt_value_real_create_init(raw_value: f64) -> *mut bt_value;
}
extern "C" {
    pub fn bt_value_real_set(value: *mut bt_value, raw_value: f64);
}
extern "C" {
    pub fn bt_value_real_get(value: *const bt_value) -> f64;
}
extern "C" {
    pub fn bt_value_string_create() -> *mut bt_value;
}
extern "C" {
    pub fn bt_value_string_create_init(raw_value: *const ::std::os::raw::c_char) -> *mut bt_value;
}
pub mod bt_value_string_set_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_VALUE_STRING_SET_STATUS_OK: Type = 0;
    pub const BT_VALUE_STRING_SET_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_value_string_set(
        value: *mut bt_value,
        raw_value: *const ::std::os::raw::c_char,
    ) -> bt_value_string_set_status::Type;
}
extern "C" {
    pub fn bt_value_string_get(value: *const bt_value) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_value_array_create() -> *mut bt_value;
}
pub mod bt_value_array_append_element_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_VALUE_ARRAY_APPEND_ELEMENT_STATUS_OK: Type = 0;
    pub const BT_VALUE_ARRAY_APPEND_ELEMENT_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_value_array_append_element(
        value: *mut bt_value,
        element_value: *mut bt_value,
    ) -> bt_value_array_append_element_status::Type;
}
extern "C" {
    pub fn bt_value_array_append_bool_element(
        value: *mut bt_value,
        raw_value: bt_bool,
    ) -> bt_value_array_append_element_status::Type;
}
extern "C" {
    pub fn bt_value_array_append_unsigned_integer_element(
        value: *mut bt_value,
        raw_value: u64,
    ) -> bt_value_array_append_element_status::Type;
}
extern "C" {
    pub fn bt_value_array_append_signed_integer_element(
        value: *mut bt_value,
        raw_value: i64,
    ) -> bt_value_array_append_element_status::Type;
}
extern "C" {
    pub fn bt_value_array_append_real_element(
        value: *mut bt_value,
        raw_value: f64,
    ) -> bt_value_array_append_element_status::Type;
}
extern "C" {
    pub fn bt_value_array_append_string_element(
        value: *mut bt_value,
        raw_value: *const ::std::os::raw::c_char,
    ) -> bt_value_array_append_element_status::Type;
}
extern "C" {
    pub fn bt_value_array_append_empty_array_element(
        value: *mut bt_value,
        element_value: *mut *mut bt_value,
    ) -> bt_value_array_append_element_status::Type;
}
extern "C" {
    pub fn bt_value_array_append_empty_map_element(
        value: *mut bt_value,
        element_value: *mut *mut bt_value,
    ) -> bt_value_array_append_element_status::Type;
}
pub mod bt_value_array_set_element_by_index_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_VALUE_ARRAY_SET_ELEMENT_BY_INDEX_STATUS_OK: Type = 0;
    pub const BT_VALUE_ARRAY_SET_ELEMENT_BY_INDEX_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_value_array_set_element_by_index(
        value: *mut bt_value,
        index: u64,
        element_value: *mut bt_value,
    ) -> bt_value_array_set_element_by_index_status::Type;
}
extern "C" {
    pub fn bt_value_array_borrow_element_by_index(
        value: *mut bt_value,
        index: u64,
    ) -> *mut bt_value;
}
extern "C" {
    pub fn bt_value_array_borrow_element_by_index_const(
        value: *const bt_value,
        index: u64,
    ) -> *const bt_value;
}
extern "C" {
    pub fn bt_value_array_get_length(value: *const bt_value) -> u64;
}
extern "C" {
    pub fn bt_value_map_create() -> *mut bt_value;
}
pub mod bt_value_map_insert_entry_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_VALUE_MAP_INSERT_ENTRY_STATUS_OK: Type = 0;
    pub const BT_VALUE_MAP_INSERT_ENTRY_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_value_map_insert_entry(
        value: *mut bt_value,
        key: *const ::std::os::raw::c_char,
        entry_value: *mut bt_value,
    ) -> bt_value_map_insert_entry_status::Type;
}
extern "C" {
    pub fn bt_value_map_insert_bool_entry(
        value: *mut bt_value,
        key: *const ::std::os::raw::c_char,
        raw_value: bt_bool,
    ) -> bt_value_map_insert_entry_status::Type;
}
extern "C" {
    pub fn bt_value_map_insert_unsigned_integer_entry(
        value: *mut bt_value,
        key: *const ::std::os::raw::c_char,
        raw_value: u64,
    ) -> bt_value_map_insert_entry_status::Type;
}
extern "C" {
    pub fn bt_value_map_insert_signed_integer_entry(
        value: *mut bt_value,
        key: *const ::std::os::raw::c_char,
        raw_value: i64,
    ) -> bt_value_map_insert_entry_status::Type;
}
extern "C" {
    pub fn bt_value_map_insert_real_entry(
        value: *mut bt_value,
        key: *const ::std::os::raw::c_char,
        raw_value: f64,
    ) -> bt_value_map_insert_entry_status::Type;
}
extern "C" {
    pub fn bt_value_map_insert_string_entry(
        value: *mut bt_value,
        key: *const ::std::os::raw::c_char,
        raw_value: *const ::std::os::raw::c_char,
    ) -> bt_value_map_insert_entry_status::Type;
}
extern "C" {
    pub fn bt_value_map_insert_empty_array_entry(
        value: *mut bt_value,
        key: *const ::std::os::raw::c_char,
        entry_value: *mut *mut bt_value,
    ) -> bt_value_map_insert_entry_status::Type;
}
extern "C" {
    pub fn bt_value_map_insert_empty_map_entry(
        value: *mut bt_value,
        key: *const ::std::os::raw::c_char,
        entry_value: *mut *mut bt_value,
    ) -> bt_value_map_insert_entry_status::Type;
}
extern "C" {
    pub fn bt_value_map_borrow_entry_value(
        value: *mut bt_value,
        key: *const ::std::os::raw::c_char,
    ) -> *mut bt_value;
}
extern "C" {
    pub fn bt_value_map_borrow_entry_value_const(
        value: *const bt_value,
        key: *const ::std::os::raw::c_char,
    ) -> *const bt_value;
}
pub mod bt_value_map_foreach_entry_func_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_VALUE_MAP_FOREACH_ENTRY_FUNC_STATUS_OK: Type = 0;
    pub const BT_VALUE_MAP_FOREACH_ENTRY_FUNC_STATUS_INTERRUPT: Type = 4;
    pub const BT_VALUE_MAP_FOREACH_ENTRY_FUNC_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_VALUE_MAP_FOREACH_ENTRY_FUNC_STATUS_ERROR: Type = -1;
}
pub type bt_value_map_foreach_entry_func = ::std::option::Option<
    unsafe extern "C" fn(
        key: *const ::std::os::raw::c_char,
        value: *mut bt_value,
        user_data: *mut ::std::os::raw::c_void,
    ) -> bt_value_map_foreach_entry_func_status::Type,
>;
pub mod bt_value_map_foreach_entry_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_VALUE_MAP_FOREACH_ENTRY_STATUS_OK: Type = 0;
    pub const BT_VALUE_MAP_FOREACH_ENTRY_STATUS_INTERRUPTED: Type = 4;
    pub const BT_VALUE_MAP_FOREACH_ENTRY_STATUS_USER_ERROR: Type = -2;
    pub const BT_VALUE_MAP_FOREACH_ENTRY_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_VALUE_MAP_FOREACH_ENTRY_STATUS_ERROR: Type = -1;
}
extern "C" {
    pub fn bt_value_map_foreach_entry(
        value: *mut bt_value,
        user_func: bt_value_map_foreach_entry_func,
        user_data: *mut ::std::os::raw::c_void,
    ) -> bt_value_map_foreach_entry_status::Type;
}
pub mod bt_value_map_foreach_entry_const_func_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_VALUE_MAP_FOREACH_ENTRY_CONST_FUNC_STATUS_OK: Type = 0;
    pub const BT_VALUE_MAP_FOREACH_ENTRY_CONST_FUNC_STATUS_INTERRUPT: Type = 4;
    pub const BT_VALUE_MAP_FOREACH_ENTRY_CONST_FUNC_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_VALUE_MAP_FOREACH_ENTRY_CONST_FUNC_STATUS_ERROR: Type = -1;
}
pub type bt_value_map_foreach_entry_const_func = ::std::option::Option<
    unsafe extern "C" fn(
        key: *const ::std::os::raw::c_char,
        value: *const bt_value,
        user_data: *mut ::std::os::raw::c_void,
    ) -> bt_value_map_foreach_entry_const_func_status::Type,
>;
pub mod bt_value_map_foreach_entry_const_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_VALUE_MAP_FOREACH_ENTRY_CONST_STATUS_OK: Type = 0;
    pub const BT_VALUE_MAP_FOREACH_ENTRY_CONST_STATUS_INTERRUPTED: Type = 4;
    pub const BT_VALUE_MAP_FOREACH_ENTRY_CONST_STATUS_USER_ERROR: Type = -2;
    pub const BT_VALUE_MAP_FOREACH_ENTRY_CONST_STATUS_MEMORY_ERROR: Type = -12;
    pub const BT_VALUE_MAP_FOREACH_ENTRY_CONST_STATUS_ERROR: Type = -1;
}
extern "C" {
    pub fn bt_value_map_foreach_entry_const(
        value: *const bt_value,
        user_func: bt_value_map_foreach_entry_const_func,
        user_data: *mut ::std::os::raw::c_void,
    ) -> bt_value_map_foreach_entry_const_status::Type;
}
extern "C" {
    pub fn bt_value_map_get_size(value: *const bt_value) -> u64;
}
extern "C" {
    pub fn bt_value_map_has_entry(
        value: *const bt_value,
        key: *const ::std::os::raw::c_char,
    ) -> bt_bool;
}
pub mod bt_value_map_extend_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_VALUE_MAP_EXTEND_STATUS_OK: Type = 0;
    pub const BT_VALUE_MAP_EXTEND_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_value_map_extend(
        value: *mut bt_value,
        extension_value: *const bt_value,
    ) -> bt_value_map_extend_status::Type;
}
pub mod bt_value_copy_status {
    pub type Type = ::std::os::raw::c_int;
    pub const BT_VALUE_COPY_STATUS_OK: Type = 0;
    pub const BT_VALUE_COPY_STATUS_MEMORY_ERROR: Type = -12;
}
extern "C" {
    pub fn bt_value_copy(
        value: *const bt_value,
        copy_value: *mut *mut bt_value,
    ) -> bt_value_copy_status::Type;
}
extern "C" {
    pub fn bt_value_is_equal(a_value: *const bt_value, b_value: *const bt_value) -> bt_bool;
}
extern "C" {
    pub fn bt_value_get_ref(value: *const bt_value);
}
extern "C" {
    pub fn bt_value_put_ref(value: *const bt_value);
}
extern "C" {
    pub fn bt_version_get_major() -> ::std::os::raw::c_uint;
}
extern "C" {
    pub fn bt_version_get_minor() -> ::std::os::raw::c_uint;
}
extern "C" {
    pub fn bt_version_get_patch() -> ::std::os::raw::c_uint;
}
extern "C" {
    pub fn bt_version_get_development_stage() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_version_get_vcs_revision_description() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_version_get_name() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_version_get_name_description() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_version_get_extra_name() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_version_get_extra_description() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_version_get_extra_patch_names() -> *const ::std::os::raw::c_char;
}
pub type bt_uuid_t = [u8; 16usize];
extern "C" {
    pub fn bt_uuid_generate(uuid_out: *mut u8);
}
extern "C" {
    pub fn bt_uuid_to_str(uuid_in: *mut u8, str_out: *mut ::std::os::raw::c_char);
}
extern "C" {
    pub fn bt_uuid_from_str(
        str_in: *const ::std::os::raw::c_char,
        uuid_out: *mut u8,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn bt_uuid_compare(uuid_a: *mut u8, uuid_b: *mut u8) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn bt_uuid_copy(uuid_dest: *mut u8, uuid_src: *mut u8);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct ctf_metadata_decoder {
    _unused: [u8; 0],
}
pub mod ctf_metadata_decoder_status {
    pub type Type = ::std::os::raw::c_int;
    pub const CTF_METADATA_DECODER_STATUS_OK: Type = 0;
    pub const CTF_METADATA_DECODER_STATUS_NONE: Type = 1;
    pub const CTF_METADATA_DECODER_STATUS_ERROR: Type = -1;
    pub const CTF_METADATA_DECODER_STATUS_INCOMPLETE: Type = -2;
    pub const CTF_METADATA_DECODER_STATUS_INVAL_VERSION: Type = -3;
    pub const CTF_METADATA_DECODER_STATUS_IR_VISITOR_ERROR: Type = -4;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct ctf_metadata_decoder_config {
    pub log_level: bt_logging_level::Type,
    pub self_comp: *mut bt_self_component,
    pub clock_class_offset_s: i64,
    pub clock_class_offset_ns: i64,
    pub force_clock_class_origin_unix_epoch: bool,
    pub create_trace_class: bool,
    pub keep_plain_text: bool,
}
#[test]
fn bindgen_test_layout_ctf_metadata_decoder_config() {
    assert_eq!(
        ::std::mem::size_of::<ctf_metadata_decoder_config>(),
        40usize,
        concat!("Size of: ", stringify!(ctf_metadata_decoder_config))
    );
    assert_eq!(
        ::std::mem::align_of::<ctf_metadata_decoder_config>(),
        8usize,
        concat!("Alignment of ", stringify!(ctf_metadata_decoder_config))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctf_metadata_decoder_config>())).log_level as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_metadata_decoder_config),
            "::",
            stringify!(log_level)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctf_metadata_decoder_config>())).self_comp as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_metadata_decoder_config),
            "::",
            stringify!(self_comp)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctf_metadata_decoder_config>())).clock_class_offset_s as *const _
                as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_metadata_decoder_config),
            "::",
            stringify!(clock_class_offset_s)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctf_metadata_decoder_config>())).clock_class_offset_ns
                as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_metadata_decoder_config),
            "::",
            stringify!(clock_class_offset_ns)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctf_metadata_decoder_config>()))
                .force_clock_class_origin_unix_epoch as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_metadata_decoder_config),
            "::",
            stringify!(force_clock_class_origin_unix_epoch)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctf_metadata_decoder_config>())).create_trace_class as *const _
                as usize
        },
        33usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_metadata_decoder_config),
            "::",
            stringify!(create_trace_class)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctf_metadata_decoder_config>())).keep_plain_text as *const _
                as usize
        },
        34usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_metadata_decoder_config),
            "::",
            stringify!(keep_plain_text)
        )
    );
}
extern "C" {
    pub fn ctf_metadata_decoder_create(
        config: *const ctf_metadata_decoder_config,
    ) -> *mut ctf_metadata_decoder;
}
extern "C" {
    pub fn ctf_metadata_decoder_destroy(metadata_decoder: *mut ctf_metadata_decoder);
}
extern "C" {
    pub fn ctf_metadata_decoder_append_content(
        metadata_decoder: *mut ctf_metadata_decoder,
        fp: *mut FILE,
    ) -> ctf_metadata_decoder_status::Type;
}
extern "C" {
    pub fn ctf_metadata_decoder_get_ir_trace_class(
        mdec: *mut ctf_metadata_decoder,
    ) -> *mut bt_trace_class;
}
extern "C" {
    pub fn ctf_metadata_decoder_borrow_ctf_trace_class(
        mdec: *mut ctf_metadata_decoder,
    ) -> *mut ctf_trace_class;
}
extern "C" {
    pub fn ctf_metadata_decoder_is_packetized(
        fp: *mut FILE,
        is_packetized: *mut bool,
        byte_order: *mut ::std::os::raw::c_int,
        log_level: bt_logging_level::Type,
        self_comp: *mut bt_self_component,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ctf_metadata_decoder_get_byte_order(
        mdec: *mut ctf_metadata_decoder,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ctf_metadata_decoder_get_uuid(
        mdec: *mut ctf_metadata_decoder,
        uuid: *mut u8,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ctf_metadata_decoder_get_trace_class_uuid(
        mdec: *mut ctf_metadata_decoder,
        uuid: *mut u8,
    ) -> ctf_metadata_decoder_status::Type;
}
extern "C" {
    pub fn ctf_metadata_decoder_get_text(
        mdec: *mut ctf_metadata_decoder,
    ) -> *const ::std::os::raw::c_char;
}
pub type off_t = __off_t;
pub type gsize = ::std::os::raw::c_ulong;
pub type gchar = ::std::os::raw::c_char;
pub type guint = ::std::os::raw::c_uint;
pub type gpointer = *mut ::std::os::raw::c_void;
pub type GArray = _GArray;
pub type GPtrArray = _GPtrArray;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _GArray {
    pub data: *mut gchar,
    pub len: guint,
}
#[test]
fn bindgen_test_layout__GArray() {
    assert_eq!(
        ::std::mem::size_of::<_GArray>(),
        16usize,
        concat!("Size of: ", stringify!(_GArray))
    );
    assert_eq!(
        ::std::mem::align_of::<_GArray>(),
        8usize,
        concat!("Alignment of ", stringify!(_GArray))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_GArray>())).data as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_GArray),
            "::",
            stringify!(data)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_GArray>())).len as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_GArray),
            "::",
            stringify!(len)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _GPtrArray {
    pub pdata: *mut gpointer,
    pub len: guint,
}
#[test]
fn bindgen_test_layout__GPtrArray() {
    assert_eq!(
        ::std::mem::size_of::<_GPtrArray>(),
        16usize,
        concat!("Size of: ", stringify!(_GPtrArray))
    );
    assert_eq!(
        ::std::mem::align_of::<_GPtrArray>(),
        8usize,
        concat!("Alignment of ", stringify!(_GPtrArray))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_GPtrArray>())).pdata as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_GPtrArray),
            "::",
            stringify!(pdata)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_GPtrArray>())).len as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_GPtrArray),
            "::",
            stringify!(len)
        )
    );
}
pub type GString = _GString;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _GString {
    pub str_: *mut gchar,
    pub len: gsize,
    pub allocated_len: gsize,
}
#[test]
fn bindgen_test_layout__GString() {
    assert_eq!(
        ::std::mem::size_of::<_GString>(),
        24usize,
        concat!("Size of: ", stringify!(_GString))
    );
    assert_eq!(
        ::std::mem::align_of::<_GString>(),
        8usize,
        concat!("Alignment of ", stringify!(_GString))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_GString>())).str_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_GString),
            "::",
            stringify!(str_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_GString>())).len as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_GString),
            "::",
            stringify!(len)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_GString>())).allocated_len as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_GString),
            "::",
            stringify!(allocated_len)
        )
    );
}
extern "C" {
    pub fn g_string_new(init: *const gchar) -> *mut GString;
}
extern "C" {
    pub fn bt_common_assert_failed(
        file: *const ::std::os::raw::c_char,
        line: ::std::os::raw::c_int,
        func: *const ::std::os::raw::c_char,
        assertion: *const ::std::os::raw::c_char,
    );
}
pub mod bt_common_color_when {
    pub type Type = ::std::os::raw::c_uint;
    pub const BT_COMMON_COLOR_WHEN_AUTO: Type = 0;
    pub const BT_COMMON_COLOR_WHEN_ALWAYS: Type = 1;
    pub const BT_COMMON_COLOR_WHEN_NEVER: Type = 2;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_common_color_codes {
    pub reset: *const ::std::os::raw::c_char,
    pub bold: *const ::std::os::raw::c_char,
    pub fg_default: *const ::std::os::raw::c_char,
    pub fg_red: *const ::std::os::raw::c_char,
    pub fg_green: *const ::std::os::raw::c_char,
    pub fg_yellow: *const ::std::os::raw::c_char,
    pub fg_blue: *const ::std::os::raw::c_char,
    pub fg_magenta: *const ::std::os::raw::c_char,
    pub fg_cyan: *const ::std::os::raw::c_char,
    pub fg_light_gray: *const ::std::os::raw::c_char,
    pub fg_bright_red: *const ::std::os::raw::c_char,
    pub fg_bright_green: *const ::std::os::raw::c_char,
    pub fg_bright_yellow: *const ::std::os::raw::c_char,
    pub fg_bright_blue: *const ::std::os::raw::c_char,
    pub fg_bright_magenta: *const ::std::os::raw::c_char,
    pub fg_bright_cyan: *const ::std::os::raw::c_char,
    pub fg_bright_light_gray: *const ::std::os::raw::c_char,
    pub bg_default: *const ::std::os::raw::c_char,
    pub bg_red: *const ::std::os::raw::c_char,
    pub bg_green: *const ::std::os::raw::c_char,
    pub bg_yellow: *const ::std::os::raw::c_char,
    pub bg_blue: *const ::std::os::raw::c_char,
    pub bg_magenta: *const ::std::os::raw::c_char,
    pub bg_cyan: *const ::std::os::raw::c_char,
    pub bg_light_gray: *const ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_bt_common_color_codes() {
    assert_eq!(
        ::std::mem::size_of::<bt_common_color_codes>(),
        200usize,
        concat!("Size of: ", stringify!(bt_common_color_codes))
    );
    assert_eq!(
        ::std::mem::align_of::<bt_common_color_codes>(),
        8usize,
        concat!("Alignment of ", stringify!(bt_common_color_codes))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_common_color_codes>())).reset as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_color_codes),
            "::",
            stringify!(reset)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_common_color_codes>())).bold as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_color_codes),
            "::",
            stringify!(bold)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_common_color_codes>())).fg_default as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_color_codes),
            "::",
            stringify!(fg_default)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_common_color_codes>())).fg_red as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_color_codes),
            "::",
            stringify!(fg_red)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_common_color_codes>())).fg_green as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_color_codes),
            "::",
            stringify!(fg_green)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_common_color_codes>())).fg_yellow as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_color_codes),
            "::",
            stringify!(fg_yellow)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_common_color_codes>())).fg_blue as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_color_codes),
            "::",
            stringify!(fg_blue)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_common_color_codes>())).fg_magenta as *const _ as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_color_codes),
            "::",
            stringify!(fg_magenta)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_common_color_codes>())).fg_cyan as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_color_codes),
            "::",
            stringify!(fg_cyan)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_common_color_codes>())).fg_light_gray as *const _ as usize
        },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_color_codes),
            "::",
            stringify!(fg_light_gray)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_common_color_codes>())).fg_bright_red as *const _ as usize
        },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_color_codes),
            "::",
            stringify!(fg_bright_red)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_common_color_codes>())).fg_bright_green as *const _ as usize
        },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_color_codes),
            "::",
            stringify!(fg_bright_green)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_common_color_codes>())).fg_bright_yellow as *const _ as usize
        },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_color_codes),
            "::",
            stringify!(fg_bright_yellow)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_common_color_codes>())).fg_bright_blue as *const _ as usize
        },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_color_codes),
            "::",
            stringify!(fg_bright_blue)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_common_color_codes>())).fg_bright_magenta as *const _ as usize
        },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_color_codes),
            "::",
            stringify!(fg_bright_magenta)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_common_color_codes>())).fg_bright_cyan as *const _ as usize
        },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_color_codes),
            "::",
            stringify!(fg_bright_cyan)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_common_color_codes>())).fg_bright_light_gray as *const _
                as usize
        },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_color_codes),
            "::",
            stringify!(fg_bright_light_gray)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_common_color_codes>())).bg_default as *const _ as usize
        },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_color_codes),
            "::",
            stringify!(bg_default)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_common_color_codes>())).bg_red as *const _ as usize },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_color_codes),
            "::",
            stringify!(bg_red)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_common_color_codes>())).bg_green as *const _ as usize },
        152usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_color_codes),
            "::",
            stringify!(bg_green)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_common_color_codes>())).bg_yellow as *const _ as usize },
        160usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_color_codes),
            "::",
            stringify!(bg_yellow)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_common_color_codes>())).bg_blue as *const _ as usize },
        168usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_color_codes),
            "::",
            stringify!(bg_blue)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_common_color_codes>())).bg_magenta as *const _ as usize
        },
        176usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_color_codes),
            "::",
            stringify!(bg_magenta)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_common_color_codes>())).bg_cyan as *const _ as usize },
        184usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_color_codes),
            "::",
            stringify!(bg_cyan)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_common_color_codes>())).bg_light_gray as *const _ as usize
        },
        192usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_color_codes),
            "::",
            stringify!(bg_light_gray)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_common_lttng_live_url_parts {
    pub proto: *mut GString,
    pub hostname: *mut GString,
    pub target_hostname: *mut GString,
    pub session_name: *mut GString,
    pub port: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_bt_common_lttng_live_url_parts() {
    assert_eq!(
        ::std::mem::size_of::<bt_common_lttng_live_url_parts>(),
        40usize,
        concat!("Size of: ", stringify!(bt_common_lttng_live_url_parts))
    );
    assert_eq!(
        ::std::mem::align_of::<bt_common_lttng_live_url_parts>(),
        8usize,
        concat!("Alignment of ", stringify!(bt_common_lttng_live_url_parts))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_common_lttng_live_url_parts>())).proto as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_lttng_live_url_parts),
            "::",
            stringify!(proto)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_common_lttng_live_url_parts>())).hostname as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_lttng_live_url_parts),
            "::",
            stringify!(hostname)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_common_lttng_live_url_parts>())).target_hostname as *const _
                as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_lttng_live_url_parts),
            "::",
            stringify!(target_hostname)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_common_lttng_live_url_parts>())).session_name as *const _
                as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_lttng_live_url_parts),
            "::",
            stringify!(session_name)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_common_lttng_live_url_parts>())).port as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_common_lttng_live_url_parts),
            "::",
            stringify!(port)
        )
    );
}
extern "C" {
    pub fn bt_common_is_setuid_setgid() -> bool;
}
extern "C" {
    pub fn bt_common_get_system_plugin_path() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_get_home_plugin_path(
        log_level: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_append_plugin_path_dirs(
        paths: *const ::std::os::raw::c_char,
        dirs: *mut GPtrArray,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn bt_common_colors_supported() -> bool;
}
extern "C" {
    pub fn bt_common_color_reset() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_color_bold() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_color_fg_default() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_color_fg_red() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_color_fg_green() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_color_fg_yellow() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_color_fg_blue() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_color_fg_magenta() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_color_fg_cyan() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_color_fg_light_gray() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_color_fg_bright_red() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_color_fg_bright_green() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_color_fg_bright_yellow() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_color_fg_bright_blue() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_color_fg_bright_magenta() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_color_fg_bright_cyan() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_color_fg_bright_light_gray() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_color_bg_default() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_color_bg_red() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_color_bg_green() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_color_bg_yellow() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_color_bg_blue() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_color_bg_magenta() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_color_bg_cyan() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_color_bg_light_gray() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn bt_common_color_get_codes(
        codes: *mut bt_common_color_codes,
        use_colors: bt_common_color_when::Type,
    );
}
extern "C" {
    pub fn bt_common_string_until(
        input: *const ::std::os::raw::c_char,
        escapable_chars: *const ::std::os::raw::c_char,
        end_chars: *const ::std::os::raw::c_char,
        end_pos: *mut size_t,
    ) -> *mut GString;
}
extern "C" {
    pub fn bt_common_shell_quote(
        input: *const ::std::os::raw::c_char,
        with_single_quotes: bool,
    ) -> *mut GString;
}
extern "C" {
    pub fn bt_common_string_is_printable(input: *const ::std::os::raw::c_char) -> bool;
}
extern "C" {
    pub fn bt_common_destroy_lttng_live_url_parts(parts: *mut bt_common_lttng_live_url_parts);
}
extern "C" {
    pub fn bt_common_parse_lttng_live_url(
        url: *const ::std::os::raw::c_char,
        error_buf: *mut ::std::os::raw::c_char,
        error_buf_size: size_t,
    ) -> bt_common_lttng_live_url_parts;
}
extern "C" {
    pub fn bt_common_normalize_star_glob_pattern(pattern: *mut ::std::os::raw::c_char);
}
extern "C" {
    pub fn bt_common_star_glob_match(
        pattern: *const ::std::os::raw::c_char,
        pattern_len: size_t,
        candidate: *const ::std::os::raw::c_char,
        candidate_len: size_t,
    ) -> bool;
}
extern "C" {
    pub fn bt_common_normalize_path(
        path: *const ::std::os::raw::c_char,
        wd: *const ::std::os::raw::c_char,
    ) -> *mut GString;
}
pub type bt_common_handle_custom_specifier_func = ::std::option::Option<
    unsafe extern "C" fn(
        priv_data: *mut ::std::os::raw::c_void,
        buf: *mut *mut ::std::os::raw::c_char,
        avail_size: size_t,
        fmt: *mut *const ::std::os::raw::c_char,
        args: *mut va_list,
    ),
>;
extern "C" {
    pub fn bt_common_custom_vsnprintf(
        buf: *mut ::std::os::raw::c_char,
        buf_size: size_t,
        intro: ::std::os::raw::c_char,
        handle_specifier: bt_common_handle_custom_specifier_func,
        priv_data: *mut ::std::os::raw::c_void,
        fmt: *const ::std::os::raw::c_char,
        args: *mut va_list,
    );
}
extern "C" {
    pub fn bt_common_custom_snprintf(
        buf: *mut ::std::os::raw::c_char,
        buf_size: size_t,
        intro: ::std::os::raw::c_char,
        handle_specifier: bt_common_handle_custom_specifier_func,
        priv_data: *mut ::std::os::raw::c_void,
        fmt: *const ::std::os::raw::c_char,
        ...
    );
}
extern "C" {
    pub fn bt_common_get_page_size(log_level: ::std::os::raw::c_int) -> size_t;
}
extern "C" {
    pub fn bt_common_sep_digits(
        str_: *mut ::std::os::raw::c_char,
        digits_per_group: ::std::os::raw::c_uint,
        sep: ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn bt_common_fold(
        str_: *const ::std::os::raw::c_char,
        total_length: ::std::os::raw::c_uint,
        indent: ::std::os::raw::c_uint,
    ) -> *mut GString;
}
extern "C" {
    pub fn bt_common_get_term_size(
        width: *mut ::std::os::raw::c_uint,
        height: *mut ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn bt_common_append_file_content_to_g_string(
        str_: *mut GString,
        fp: *mut FILE,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn bt_common_abort();
}
extern "C" {
    pub fn bt_common_g_string_append_printf(
        str_: *mut GString,
        fmt: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
pub mod ctf_field_class_type {
    pub type Type = ::std::os::raw::c_uint;
    pub const CTF_FIELD_CLASS_TYPE_INT: Type = 0;
    pub const CTF_FIELD_CLASS_TYPE_ENUM: Type = 1;
    pub const CTF_FIELD_CLASS_TYPE_FLOAT: Type = 2;
    pub const CTF_FIELD_CLASS_TYPE_STRING: Type = 3;
    pub const CTF_FIELD_CLASS_TYPE_STRUCT: Type = 4;
    pub const CTF_FIELD_CLASS_TYPE_ARRAY: Type = 5;
    pub const CTF_FIELD_CLASS_TYPE_SEQUENCE: Type = 6;
    pub const CTF_FIELD_CLASS_TYPE_VARIANT: Type = 7;
}
pub mod ctf_byte_order {
    pub type Type = ::std::os::raw::c_uint;
    pub const CTF_BYTE_ORDER_UNKNOWN: Type = 0;
    pub const CTF_BYTE_ORDER_DEFAULT: Type = 1;
    pub const CTF_BYTE_ORDER_LITTLE: Type = 2;
    pub const CTF_BYTE_ORDER_BIG: Type = 3;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct ctf_field_class {
    pub type_: ctf_field_class_type::Type,
    pub alignment: ::std::os::raw::c_uint,
    pub is_compound: bool,
    pub in_ir: bool,
    pub ir_fc: *mut bt_field_class,
}
#[test]
fn bindgen_test_layout_ctf_field_class() {
    assert_eq!(
        ::std::mem::size_of::<ctf_field_class>(),
        24usize,
        concat!("Size of: ", stringify!(ctf_field_class))
    );
    assert_eq!(
        ::std::mem::align_of::<ctf_field_class>(),
        8usize,
        concat!("Alignment of ", stringify!(ctf_field_class))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ctf_field_class>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_field_class),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ctf_field_class>())).alignment as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_field_class),
            "::",
            stringify!(alignment)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ctf_field_class>())).is_compound as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_field_class),
            "::",
            stringify!(is_compound)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ctf_field_class>())).in_ir as *const _ as usize },
        9usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_field_class),
            "::",
            stringify!(in_ir)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ctf_field_class>())).ir_fc as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_field_class),
            "::",
            stringify!(ir_fc)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct ctf_trace_class {
    pub major: ::std::os::raw::c_uint,
    pub minor: ::std::os::raw::c_uint,
    pub uuid: bt_uuid_t,
    pub is_uuid_set: bool,
    pub default_byte_order: ctf_byte_order::Type,
    pub packet_header_fc: *mut ctf_field_class,
    pub stored_value_count: u64,
    pub clock_classes: *mut GPtrArray,
    pub stream_classes: *mut GPtrArray,
    pub env_entries: *mut GArray,
    pub is_translated: bool,
    pub ir_tc: *mut bt_trace_class,
    pub quirks: ctf_trace_class__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct ctf_trace_class__bindgen_ty_1 {
    pub lttng_crash: bool,
    pub lttng_event_after_packet: bool,
    pub barectf_event_before_packet: bool,
}
#[test]
fn bindgen_test_layout_ctf_trace_class__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<ctf_trace_class__bindgen_ty_1>(),
        3usize,
        concat!("Size of: ", stringify!(ctf_trace_class__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<ctf_trace_class__bindgen_ty_1>(),
        1usize,
        concat!("Alignment of ", stringify!(ctf_trace_class__bindgen_ty_1))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctf_trace_class__bindgen_ty_1>())).lttng_crash as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_trace_class__bindgen_ty_1),
            "::",
            stringify!(lttng_crash)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctf_trace_class__bindgen_ty_1>())).lttng_event_after_packet
                as *const _ as usize
        },
        1usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_trace_class__bindgen_ty_1),
            "::",
            stringify!(lttng_event_after_packet)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctf_trace_class__bindgen_ty_1>())).barectf_event_before_packet
                as *const _ as usize
        },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_trace_class__bindgen_ty_1),
            "::",
            stringify!(barectf_event_before_packet)
        )
    );
}
#[test]
fn bindgen_test_layout_ctf_trace_class() {
    assert_eq!(
        ::std::mem::size_of::<ctf_trace_class>(),
        96usize,
        concat!("Size of: ", stringify!(ctf_trace_class))
    );
    assert_eq!(
        ::std::mem::align_of::<ctf_trace_class>(),
        8usize,
        concat!("Alignment of ", stringify!(ctf_trace_class))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ctf_trace_class>())).major as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_trace_class),
            "::",
            stringify!(major)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ctf_trace_class>())).minor as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_trace_class),
            "::",
            stringify!(minor)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ctf_trace_class>())).uuid as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_trace_class),
            "::",
            stringify!(uuid)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ctf_trace_class>())).is_uuid_set as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_trace_class),
            "::",
            stringify!(is_uuid_set)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctf_trace_class>())).default_byte_order as *const _ as usize
        },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_trace_class),
            "::",
            stringify!(default_byte_order)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctf_trace_class>())).packet_header_fc as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_trace_class),
            "::",
            stringify!(packet_header_fc)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctf_trace_class>())).stored_value_count as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_trace_class),
            "::",
            stringify!(stored_value_count)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ctf_trace_class>())).clock_classes as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_trace_class),
            "::",
            stringify!(clock_classes)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ctf_trace_class>())).stream_classes as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_trace_class),
            "::",
            stringify!(stream_classes)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ctf_trace_class>())).env_entries as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_trace_class),
            "::",
            stringify!(env_entries)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ctf_trace_class>())).is_translated as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_trace_class),
            "::",
            stringify!(is_translated)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ctf_trace_class>())).ir_tc as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_trace_class),
            "::",
            stringify!(ir_tc)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ctf_trace_class>())).quirks as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_trace_class),
            "::",
            stringify!(quirks)
        )
    );
}
pub mod ctf_msg_iter_medium_status {
    pub type Type = ::std::os::raw::c_int;
    pub const CTF_MSG_ITER_MEDIUM_STATUS_EOF: Type = 1;
    pub const CTF_MSG_ITER_MEDIUM_STATUS_AGAIN: Type = 11;
    pub const CTF_MSG_ITER_MEDIUM_STATUS_ERROR: Type = -1;
    pub const CTF_MSG_ITER_MEDIUM_STATUS_MEMORY_ERROR: Type = -12;
    pub const CTF_MSG_ITER_MEDIUM_STATUS_OK: Type = 0;
}
pub mod ctf_msg_iter_status {
    pub type Type = ::std::os::raw::c_int;
    pub const CTF_MSG_ITER_STATUS_EOF: Type = 1;
    pub const CTF_MSG_ITER_STATUS_AGAIN: Type = 11;
    pub const CTF_MSG_ITER_STATUS_ERROR: Type = -1;
    pub const CTF_MSG_ITER_STATUS_MEMORY_ERROR: Type = -12;
    pub const CTF_MSG_ITER_STATUS_OK: Type = 0;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct ctf_msg_iter_medium_ops {
    pub request_bytes: ::std::option::Option<
        unsafe extern "C" fn(
            request_sz: size_t,
            buffer_addr: *mut *mut u8,
            buffer_sz: *mut size_t,
            data: *mut ::std::os::raw::c_void,
        ) -> ctf_msg_iter_medium_status::Type,
    >,
    pub seek: ::std::option::Option<
        unsafe extern "C" fn(
            offset: off_t,
            data: *mut ::std::os::raw::c_void,
        ) -> ctf_msg_iter_medium_status::Type,
    >,
    pub switch_packet: ::std::option::Option<
        unsafe extern "C" fn(data: *mut ::std::os::raw::c_void) -> ctf_msg_iter_medium_status::Type,
    >,
    pub borrow_stream: ::std::option::Option<
        unsafe extern "C" fn(
            stream_class: *mut bt_stream_class,
            stream_id: i64,
            data: *mut ::std::os::raw::c_void,
        ) -> *mut bt_stream,
    >,
}
#[test]
fn bindgen_test_layout_ctf_msg_iter_medium_ops() {
    assert_eq!(
        ::std::mem::size_of::<ctf_msg_iter_medium_ops>(),
        32usize,
        concat!("Size of: ", stringify!(ctf_msg_iter_medium_ops))
    );
    assert_eq!(
        ::std::mem::align_of::<ctf_msg_iter_medium_ops>(),
        8usize,
        concat!("Alignment of ", stringify!(ctf_msg_iter_medium_ops))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctf_msg_iter_medium_ops>())).request_bytes as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_msg_iter_medium_ops),
            "::",
            stringify!(request_bytes)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ctf_msg_iter_medium_ops>())).seek as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_msg_iter_medium_ops),
            "::",
            stringify!(seek)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctf_msg_iter_medium_ops>())).switch_packet as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_msg_iter_medium_ops),
            "::",
            stringify!(switch_packet)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctf_msg_iter_medium_ops>())).borrow_stream as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_msg_iter_medium_ops),
            "::",
            stringify!(borrow_stream)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct ctf_msg_iter {
    _unused: [u8; 0],
}
extern "C" {
    pub fn ctf_msg_iter_create(
        tc: *mut ctf_trace_class,
        max_request_sz: size_t,
        medops: ctf_msg_iter_medium_ops,
        medops_data: *mut ::std::os::raw::c_void,
        log_level: bt_logging_level::Type,
        self_comp: *mut bt_self_component,
        self_msg_iter: *mut bt_self_message_iterator,
    ) -> *mut ctf_msg_iter;
}
extern "C" {
    pub fn ctf_msg_iter_destroy(msg_iter: *mut ctf_msg_iter);
}
extern "C" {
    pub fn ctf_msg_iter_get_next_message(
        msg_it: *mut ctf_msg_iter,
        message: *mut *const bt_message,
    ) -> ctf_msg_iter_status::Type;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct ctf_msg_iter_packet_properties {
    pub exp_packet_total_size: i64,
    pub exp_packet_content_size: i64,
    pub stream_class_id: u64,
    pub data_stream_id: i64,
    pub snapshots: ctf_msg_iter_packet_properties__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct ctf_msg_iter_packet_properties__bindgen_ty_1 {
    pub discarded_events: u64,
    pub packets: u64,
    pub beginning_clock: u64,
    pub end_clock: u64,
}
#[test]
fn bindgen_test_layout_ctf_msg_iter_packet_properties__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<ctf_msg_iter_packet_properties__bindgen_ty_1>(),
        32usize,
        concat!(
            "Size of: ",
            stringify!(ctf_msg_iter_packet_properties__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<ctf_msg_iter_packet_properties__bindgen_ty_1>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(ctf_msg_iter_packet_properties__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctf_msg_iter_packet_properties__bindgen_ty_1>()))
                .discarded_events as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_msg_iter_packet_properties__bindgen_ty_1),
            "::",
            stringify!(discarded_events)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctf_msg_iter_packet_properties__bindgen_ty_1>())).packets
                as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_msg_iter_packet_properties__bindgen_ty_1),
            "::",
            stringify!(packets)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctf_msg_iter_packet_properties__bindgen_ty_1>())).beginning_clock
                as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_msg_iter_packet_properties__bindgen_ty_1),
            "::",
            stringify!(beginning_clock)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctf_msg_iter_packet_properties__bindgen_ty_1>())).end_clock
                as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_msg_iter_packet_properties__bindgen_ty_1),
            "::",
            stringify!(end_clock)
        )
    );
}
#[test]
fn bindgen_test_layout_ctf_msg_iter_packet_properties() {
    assert_eq!(
        ::std::mem::size_of::<ctf_msg_iter_packet_properties>(),
        64usize,
        concat!("Size of: ", stringify!(ctf_msg_iter_packet_properties))
    );
    assert_eq!(
        ::std::mem::align_of::<ctf_msg_iter_packet_properties>(),
        8usize,
        concat!("Alignment of ", stringify!(ctf_msg_iter_packet_properties))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctf_msg_iter_packet_properties>())).exp_packet_total_size
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_msg_iter_packet_properties),
            "::",
            stringify!(exp_packet_total_size)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctf_msg_iter_packet_properties>())).exp_packet_content_size
                as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_msg_iter_packet_properties),
            "::",
            stringify!(exp_packet_content_size)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctf_msg_iter_packet_properties>())).stream_class_id as *const _
                as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_msg_iter_packet_properties),
            "::",
            stringify!(stream_class_id)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctf_msg_iter_packet_properties>())).data_stream_id as *const _
                as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_msg_iter_packet_properties),
            "::",
            stringify!(data_stream_id)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctf_msg_iter_packet_properties>())).snapshots as *const _
                as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(ctf_msg_iter_packet_properties),
            "::",
            stringify!(snapshots)
        )
    );
}
extern "C" {
    pub fn ctf_msg_iter_get_packet_properties(
        msg_it: *mut ctf_msg_iter,
        props: *mut ctf_msg_iter_packet_properties,
    ) -> ctf_msg_iter_status::Type;
}
extern "C" {
    pub fn ctf_msg_iter_curr_packet_first_event_clock_snapshot(
        msg_it: *mut ctf_msg_iter,
        first_event_cs: *mut u64,
    ) -> ctf_msg_iter_status::Type;
}
extern "C" {
    pub fn ctf_msg_iter_curr_packet_last_event_clock_snapshot(
        msg_it: *mut ctf_msg_iter,
        last_event_cs: *mut u64,
    ) -> ctf_msg_iter_status::Type;
}
extern "C" {
    pub fn ctf_msg_iter_seek(msg_it: *mut ctf_msg_iter, offset: off_t)
        -> ctf_msg_iter_status::Type;
}
extern "C" {
    pub fn ctf_msg_iter_reset(msg_it: *mut ctf_msg_iter);
}
extern "C" {
    pub fn ctf_msg_iter_reset_for_next_stream_file(msg_it: *mut ctf_msg_iter);
}
extern "C" {
    pub fn ctf_msg_iter_set_dry_run(msg_it: *mut ctf_msg_iter, val: bool);
}
pub type bt_object_release_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut bt_object)>;
pub type bt_object_parent_is_owner_listener_func =
    ::std::option::Option<unsafe extern "C" fn(arg1: *mut bt_object)>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_object {
    pub is_shared: bool,
    pub ref_count: ::std::os::raw::c_ulonglong,
    pub release_func: bt_object_release_func,
    pub spec_release_func: bt_object_release_func,
    pub parent_is_owner_listener_func: bt_object_parent_is_owner_listener_func,
    pub parent: *mut bt_object,
}
#[test]
fn bindgen_test_layout_bt_object() {
    assert_eq!(
        ::std::mem::size_of::<bt_object>(),
        48usize,
        concat!("Size of: ", stringify!(bt_object))
    );
    assert_eq!(
        ::std::mem::align_of::<bt_object>(),
        8usize,
        concat!("Alignment of ", stringify!(bt_object))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_object>())).is_shared as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_object),
            "::",
            stringify!(is_shared)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_object>())).ref_count as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_object),
            "::",
            stringify!(ref_count)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_object>())).release_func as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_object),
            "::",
            stringify!(release_func)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_object>())).spec_release_func as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_object),
            "::",
            stringify!(spec_release_func)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_object>())).parent_is_owner_listener_func as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_object),
            "::",
            stringify!(parent_is_owner_listener_func)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_object>())).parent as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_object),
            "::",
            stringify!(parent)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_list_head {
    pub next: *mut bt_list_head,
    pub prev: *mut bt_list_head,
}
#[test]
fn bindgen_test_layout_bt_list_head() {
    assert_eq!(
        ::std::mem::size_of::<bt_list_head>(),
        16usize,
        concat!("Size of: ", stringify!(bt_list_head))
    );
    assert_eq!(
        ::std::mem::align_of::<bt_list_head>(),
        8usize,
        concat!("Alignment of ", stringify!(bt_list_head))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_list_head>())).next as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_list_head),
            "::",
            stringify!(next)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_list_head>())).prev as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_list_head),
            "::",
            stringify!(prev)
        )
    );
}
pub type bt_component_class_destroy_listener_func = ::std::option::Option<
    unsafe extern "C" fn(class: *mut bt_component_class, data: *mut ::std::os::raw::c_void),
>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_component_class_destroy_listener {
    pub func: bt_component_class_destroy_listener_func,
    pub data: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout_bt_component_class_destroy_listener() {
    assert_eq!(
        ::std::mem::size_of::<bt_component_class_destroy_listener>(),
        16usize,
        concat!("Size of: ", stringify!(bt_component_class_destroy_listener))
    );
    assert_eq!(
        ::std::mem::align_of::<bt_component_class_destroy_listener>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(bt_component_class_destroy_listener)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_destroy_listener>())).func as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_destroy_listener),
            "::",
            stringify!(func)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_destroy_listener>())).data as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_destroy_listener),
            "::",
            stringify!(data)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_component_class {
    pub base: bt_object,
    pub type_: bt_component_class_type::Type,
    pub name: *mut GString,
    pub description: *mut GString,
    pub help: *mut GString,
    pub plugin_name: *mut GString,
    pub destroy_listeners: *mut GArray,
    pub frozen: bool,
    pub node: bt_list_head,
    pub so_handle: *mut bt_plugin_so_shared_lib_handle,
}
#[test]
fn bindgen_test_layout_bt_component_class() {
    assert_eq!(
        ::std::mem::size_of::<bt_component_class>(),
        128usize,
        concat!("Size of: ", stringify!(bt_component_class))
    );
    assert_eq!(
        ::std::mem::align_of::<bt_component_class>(),
        8usize,
        concat!("Alignment of ", stringify!(bt_component_class))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_component_class>())).base as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class),
            "::",
            stringify!(base)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_component_class>())).type_ as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_component_class>())).name as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_component_class>())).description as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class),
            "::",
            stringify!(description)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_component_class>())).help as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class),
            "::",
            stringify!(help)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_component_class>())).plugin_name as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class),
            "::",
            stringify!(plugin_name)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class>())).destroy_listeners as *const _ as usize
        },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class),
            "::",
            stringify!(destroy_listeners)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_component_class>())).frozen as *const _ as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class),
            "::",
            stringify!(frozen)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_component_class>())).node as *const _ as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class),
            "::",
            stringify!(node)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_component_class>())).so_handle as *const _ as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class),
            "::",
            stringify!(so_handle)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_component_class_with_iterator_class {
    pub parent: bt_component_class,
    pub msg_iter_cls: *mut bt_message_iterator_class,
}
#[test]
fn bindgen_test_layout_bt_component_class_with_iterator_class() {
    assert_eq!(
        ::std::mem::size_of::<bt_component_class_with_iterator_class>(),
        136usize,
        concat!(
            "Size of: ",
            stringify!(bt_component_class_with_iterator_class)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<bt_component_class_with_iterator_class>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(bt_component_class_with_iterator_class)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_with_iterator_class>())).parent as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_with_iterator_class),
            "::",
            stringify!(parent)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_with_iterator_class>())).msg_iter_cls
                as *const _ as usize
        },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_with_iterator_class),
            "::",
            stringify!(msg_iter_cls)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_component_class_source {
    pub parent: bt_component_class_with_iterator_class,
    pub methods: bt_component_class_source__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_component_class_source__bindgen_ty_1 {
    pub get_supported_mip_versions: bt_component_class_source_get_supported_mip_versions_method,
    pub init: bt_component_class_source_initialize_method,
    pub finalize: bt_component_class_source_finalize_method,
    pub query: bt_component_class_source_query_method,
    pub output_port_connected: bt_component_class_source_output_port_connected_method,
}
#[test]
fn bindgen_test_layout_bt_component_class_source__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<bt_component_class_source__bindgen_ty_1>(),
        40usize,
        concat!(
            "Size of: ",
            stringify!(bt_component_class_source__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<bt_component_class_source__bindgen_ty_1>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(bt_component_class_source__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_source__bindgen_ty_1>()))
                .get_supported_mip_versions as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_source__bindgen_ty_1),
            "::",
            stringify!(get_supported_mip_versions)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_source__bindgen_ty_1>())).init as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_source__bindgen_ty_1),
            "::",
            stringify!(init)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_source__bindgen_ty_1>())).finalize as *const _
                as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_source__bindgen_ty_1),
            "::",
            stringify!(finalize)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_source__bindgen_ty_1>())).query as *const _
                as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_source__bindgen_ty_1),
            "::",
            stringify!(query)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_source__bindgen_ty_1>()))
                .output_port_connected as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_source__bindgen_ty_1),
            "::",
            stringify!(output_port_connected)
        )
    );
}
#[test]
fn bindgen_test_layout_bt_component_class_source() {
    assert_eq!(
        ::std::mem::size_of::<bt_component_class_source>(),
        176usize,
        concat!("Size of: ", stringify!(bt_component_class_source))
    );
    assert_eq!(
        ::std::mem::align_of::<bt_component_class_source>(),
        8usize,
        concat!("Alignment of ", stringify!(bt_component_class_source))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_source>())).parent as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_source),
            "::",
            stringify!(parent)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_source>())).methods as *const _ as usize
        },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_source),
            "::",
            stringify!(methods)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_component_class_filter {
    pub parent: bt_component_class_with_iterator_class,
    pub methods: bt_component_class_filter__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_component_class_filter__bindgen_ty_1 {
    pub get_supported_mip_versions: bt_component_class_filter_get_supported_mip_versions_method,
    pub init: bt_component_class_filter_initialize_method,
    pub finalize: bt_component_class_filter_finalize_method,
    pub query: bt_component_class_filter_query_method,
    pub input_port_connected: bt_component_class_filter_input_port_connected_method,
    pub output_port_connected: bt_component_class_filter_output_port_connected_method,
}
#[test]
fn bindgen_test_layout_bt_component_class_filter__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<bt_component_class_filter__bindgen_ty_1>(),
        48usize,
        concat!(
            "Size of: ",
            stringify!(bt_component_class_filter__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<bt_component_class_filter__bindgen_ty_1>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(bt_component_class_filter__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_filter__bindgen_ty_1>()))
                .get_supported_mip_versions as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_filter__bindgen_ty_1),
            "::",
            stringify!(get_supported_mip_versions)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_filter__bindgen_ty_1>())).init as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_filter__bindgen_ty_1),
            "::",
            stringify!(init)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_filter__bindgen_ty_1>())).finalize as *const _
                as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_filter__bindgen_ty_1),
            "::",
            stringify!(finalize)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_filter__bindgen_ty_1>())).query as *const _
                as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_filter__bindgen_ty_1),
            "::",
            stringify!(query)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_filter__bindgen_ty_1>())).input_port_connected
                as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_filter__bindgen_ty_1),
            "::",
            stringify!(input_port_connected)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_filter__bindgen_ty_1>()))
                .output_port_connected as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_filter__bindgen_ty_1),
            "::",
            stringify!(output_port_connected)
        )
    );
}
#[test]
fn bindgen_test_layout_bt_component_class_filter() {
    assert_eq!(
        ::std::mem::size_of::<bt_component_class_filter>(),
        184usize,
        concat!("Size of: ", stringify!(bt_component_class_filter))
    );
    assert_eq!(
        ::std::mem::align_of::<bt_component_class_filter>(),
        8usize,
        concat!("Alignment of ", stringify!(bt_component_class_filter))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_filter>())).parent as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_filter),
            "::",
            stringify!(parent)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_filter>())).methods as *const _ as usize
        },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_filter),
            "::",
            stringify!(methods)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_component_class_sink {
    pub parent: bt_component_class,
    pub methods: bt_component_class_sink__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_component_class_sink__bindgen_ty_1 {
    pub get_supported_mip_versions: bt_component_class_sink_get_supported_mip_versions_method,
    pub init: bt_component_class_sink_initialize_method,
    pub finalize: bt_component_class_sink_finalize_method,
    pub query: bt_component_class_sink_query_method,
    pub input_port_connected: bt_component_class_sink_input_port_connected_method,
    pub graph_is_configured: bt_component_class_sink_graph_is_configured_method,
    pub consume: bt_component_class_sink_consume_method,
}
#[test]
fn bindgen_test_layout_bt_component_class_sink__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<bt_component_class_sink__bindgen_ty_1>(),
        56usize,
        concat!(
            "Size of: ",
            stringify!(bt_component_class_sink__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<bt_component_class_sink__bindgen_ty_1>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(bt_component_class_sink__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_sink__bindgen_ty_1>()))
                .get_supported_mip_versions as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_sink__bindgen_ty_1),
            "::",
            stringify!(get_supported_mip_versions)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_sink__bindgen_ty_1>())).init as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_sink__bindgen_ty_1),
            "::",
            stringify!(init)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_sink__bindgen_ty_1>())).finalize as *const _
                as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_sink__bindgen_ty_1),
            "::",
            stringify!(finalize)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_sink__bindgen_ty_1>())).query as *const _
                as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_sink__bindgen_ty_1),
            "::",
            stringify!(query)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_sink__bindgen_ty_1>())).input_port_connected
                as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_sink__bindgen_ty_1),
            "::",
            stringify!(input_port_connected)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_sink__bindgen_ty_1>())).graph_is_configured
                as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_sink__bindgen_ty_1),
            "::",
            stringify!(graph_is_configured)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_class_sink__bindgen_ty_1>())).consume as *const _
                as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_sink__bindgen_ty_1),
            "::",
            stringify!(consume)
        )
    );
}
#[test]
fn bindgen_test_layout_bt_component_class_sink() {
    assert_eq!(
        ::std::mem::size_of::<bt_component_class_sink>(),
        184usize,
        concat!("Size of: ", stringify!(bt_component_class_sink))
    );
    assert_eq!(
        ::std::mem::align_of::<bt_component_class_sink>(),
        8usize,
        concat!("Alignment of ", stringify!(bt_component_class_sink))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_component_class_sink>())).parent as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_sink),
            "::",
            stringify!(parent)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_component_class_sink>())).methods as *const _ as usize },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_class_sink),
            "::",
            stringify!(methods)
        )
    );
}
extern "C" {
    pub fn bt_component_class_add_destroy_listener(
        class: *mut bt_component_class,
        func: bt_component_class_destroy_listener_func,
        data: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn _bt_component_class_freeze(component_class: *const bt_component_class);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_port {
    pub base: bt_object,
    pub type_: bt_port_type::Type,
    pub name: *mut GString,
    pub connection: *mut bt_connection,
    pub user_data: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout_bt_port() {
    assert_eq!(
        ::std::mem::size_of::<bt_port>(),
        80usize,
        concat!("Size of: ", stringify!(bt_port))
    );
    assert_eq!(
        ::std::mem::align_of::<bt_port>(),
        8usize,
        concat!("Alignment of ", stringify!(bt_port))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_port>())).base as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_port),
            "::",
            stringify!(base)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_port>())).type_ as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_port),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_port>())).name as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_port),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_port>())).connection as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_port),
            "::",
            stringify!(connection)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_port>())).user_data as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_port),
            "::",
            stringify!(user_data)
        )
    );
}
extern "C" {
    pub fn bt_port_create(
        parent_component: *mut bt_component,
        type_: bt_port_type::Type,
        name: *const ::std::os::raw::c_char,
        user_data: *mut ::std::os::raw::c_void,
    ) -> *mut bt_port;
}
extern "C" {
    pub fn bt_port_set_connection(port: *mut bt_port, connection: *mut bt_connection);
}
pub type bt_component_destroy_listener_func = ::std::option::Option<
    unsafe extern "C" fn(class: *mut bt_component, data: *mut ::std::os::raw::c_void),
>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_component_destroy_listener {
    pub func: bt_component_destroy_listener_func,
    pub data: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout_bt_component_destroy_listener() {
    assert_eq!(
        ::std::mem::size_of::<bt_component_destroy_listener>(),
        16usize,
        concat!("Size of: ", stringify!(bt_component_destroy_listener))
    );
    assert_eq!(
        ::std::mem::align_of::<bt_component_destroy_listener>(),
        8usize,
        concat!("Alignment of ", stringify!(bt_component_destroy_listener))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_destroy_listener>())).func as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_destroy_listener),
            "::",
            stringify!(func)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<bt_component_destroy_listener>())).data as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component_destroy_listener),
            "::",
            stringify!(data)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_component {
    pub base: bt_object,
    pub class: *mut bt_component_class,
    pub name: *mut GString,
    pub log_level: bt_logging_level::Type,
    pub destroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut bt_component)>,
    pub user_data: *mut ::std::os::raw::c_void,
    pub input_ports: *mut GPtrArray,
    pub output_ports: *mut GPtrArray,
    pub destroy_listeners: *mut GArray,
    pub initialized: bool,
}
#[test]
fn bindgen_test_layout_bt_component() {
    assert_eq!(
        ::std::mem::size_of::<bt_component>(),
        120usize,
        concat!("Size of: ", stringify!(bt_component))
    );
    assert_eq!(
        ::std::mem::align_of::<bt_component>(),
        8usize,
        concat!("Alignment of ", stringify!(bt_component))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_component>())).base as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component),
            "::",
            stringify!(base)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_component>())).class as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component),
            "::",
            stringify!(class)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_component>())).name as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_component>())).log_level as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component),
            "::",
            stringify!(log_level)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_component>())).destroy as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component),
            "::",
            stringify!(destroy)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_component>())).user_data as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component),
            "::",
            stringify!(user_data)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_component>())).input_ports as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component),
            "::",
            stringify!(input_ports)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_component>())).output_ports as *const _ as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component),
            "::",
            stringify!(output_ports)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_component>())).destroy_listeners as *const _ as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component),
            "::",
            stringify!(destroy_listeners)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<bt_component>())).initialized as *const _ as usize },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(bt_component),
            "::",
            stringify!(initialized)
        )
    );
}
extern "C" {
    pub fn bt_component_create(
        component_class: *mut bt_component_class,
        name: *const ::std::os::raw::c_char,
        log_level: bt_logging_level::Type,
        component: *mut *mut bt_component,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn bt_component_port_connected(
        comp: *mut bt_component,
        self_port: *mut bt_port,
        other_port: *mut bt_port,
    ) -> bt_component_class_port_connected_method_status::Type;
}
extern "C" {
    pub fn bt_component_set_graph(component: *mut bt_component, graph: *mut bt_graph);
}
extern "C" {
    pub fn bt_component_get_input_port_count(comp: *const bt_component) -> u64;
}
extern "C" {
    pub fn bt_component_get_output_port_count(comp: *const bt_component) -> u64;
}
extern "C" {
    pub fn bt_component_borrow_input_port_by_index(
        comp: *mut bt_component,
        index: u64,
    ) -> *mut bt_port_input;
}
extern "C" {
    pub fn bt_component_borrow_output_port_by_index(
        comp: *mut bt_component,
        index: u64,
    ) -> *mut bt_port_output;
}
extern "C" {
    pub fn bt_component_borrow_input_port_by_name(
        comp: *mut bt_component,
        name: *const ::std::os::raw::c_char,
    ) -> *mut bt_port_input;
}
extern "C" {
    pub fn bt_component_borrow_output_port_by_name(
        comp: *mut bt_component,
        name: *const ::std::os::raw::c_char,
    ) -> *mut bt_port_output;
}
extern "C" {
    pub fn bt_component_add_input_port(
        component: *mut bt_component,
        name: *const ::std::os::raw::c_char,
        user_data: *mut ::std::os::raw::c_void,
        port: *mut *mut bt_port,
    ) -> bt_self_component_add_port_status::Type;
}
extern "C" {
    pub fn bt_component_add_output_port(
        component: *mut bt_component,
        name: *const ::std::os::raw::c_char,
        user_data: *mut ::std::os::raw::c_void,
        port: *mut *mut bt_port,
    ) -> bt_self_component_add_port_status::Type;
}
extern "C" {
    pub fn bt_component_remove_port(component: *mut bt_component, port: *mut bt_port);
}
extern "C" {
    pub fn bt_component_add_destroy_listener(
        component: *mut bt_component,
        func: bt_component_destroy_listener_func,
        data: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn bt_component_remove_destroy_listener(
        component: *mut bt_component,
        func: bt_component_destroy_listener_func,
        data: *mut ::std::os::raw::c_void,
    );
}
pub type __builtin_va_list = [__va_list_tag; 1usize];
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __va_list_tag {
    pub gp_offset: ::std::os::raw::c_uint,
    pub fp_offset: ::std::os::raw::c_uint,
    pub overflow_arg_area: *mut ::std::os::raw::c_void,
    pub reg_save_area: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout___va_list_tag() {
    assert_eq!(
        ::std::mem::size_of::<__va_list_tag>(),
        24usize,
        concat!("Size of: ", stringify!(__va_list_tag))
    );
    assert_eq!(
        ::std::mem::align_of::<__va_list_tag>(),
        8usize,
        concat!("Alignment of ", stringify!(__va_list_tag))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).gp_offset as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__va_list_tag),
            "::",
            stringify!(gp_offset)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).fp_offset as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__va_list_tag),
            "::",
            stringify!(fp_offset)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).overflow_arg_area as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__va_list_tag),
            "::",
            stringify!(overflow_arg_area)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).reg_save_area as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(__va_list_tag),
            "::",
            stringify!(reg_save_area)
        )
    );
}