/* automatically generated by rust-bindgen 0.72.1 */

pub const MARKER_TYPE_SAMPLE_START: u32 = 0;
pub const MARKER_TYPE_SAMPLE_END: u32 = 1;
pub const MARKER_TYPE_BENCHMARK_START: u32 = 2;
pub const MARKER_TYPE_BENCHMARK_END: u32 = 3;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct InstrumentHooks {
    _unused: [u8; 0],
}
extern "C" {
    pub fn instrument_hooks_init() -> *mut InstrumentHooks;
}
extern "C" {
    pub fn instrument_hooks_deinit(arg1: *mut InstrumentHooks);
}
extern "C" {
    pub fn instrument_hooks_is_instrumented(arg1: *mut InstrumentHooks) -> bool;
}
extern "C" {
    pub fn instrument_hooks_start_benchmark(arg1: *mut InstrumentHooks) -> u8;
}
extern "C" {
    pub fn instrument_hooks_stop_benchmark(arg1: *mut InstrumentHooks) -> u8;
}
extern "C" {
    pub fn instrument_hooks_set_executed_benchmark(
        arg1: *mut InstrumentHooks,
        pid: i32,
        uri: *const ::std::os::raw::c_char,
    ) -> u8;
}
extern "C" {
    pub fn instrument_hooks_executed_benchmark(
        arg1: *mut InstrumentHooks,
        pid: i32,
        uri: *const ::std::os::raw::c_char,
    ) -> u8;
}
extern "C" {
    pub fn instrument_hooks_set_integration(
        arg1: *mut InstrumentHooks,
        name: *const ::std::os::raw::c_char,
        version: *const ::std::os::raw::c_char,
    ) -> u8;
}
extern "C" {
    pub fn instrument_hooks_add_marker(
        arg1: *mut InstrumentHooks,
        pid: i32,
        marker_type: u8,
        timestamp: u64,
    ) -> u8;
}
extern "C" {
    pub fn instrument_hooks_current_timestamp() -> u64;
}
pub const instrument_hooks_feature_t_FEATURE_DISABLE_CALLGRIND_MARKERS: instrument_hooks_feature_t =
    0;
pub type instrument_hooks_feature_t = ::std::os::raw::c_uint;
extern "C" {
    pub fn instrument_hooks_set_feature(feature: u64, enabled: bool);
}
extern "C" {
    pub fn instrument_hooks_set_environment(
        arg1: *mut InstrumentHooks,
        section_name: *const ::std::os::raw::c_char,
        key: *const ::std::os::raw::c_char,
        value: *const ::std::os::raw::c_char,
    ) -> u8;
}
extern "C" {
    pub fn instrument_hooks_set_environment_list(
        arg1: *mut InstrumentHooks,
        section_name: *const ::std::os::raw::c_char,
        key: *const ::std::os::raw::c_char,
        values: *const *const ::std::os::raw::c_char,
        count: u32,
    ) -> u8;
}
extern "C" {
    pub fn instrument_hooks_write_environment(arg1: *mut InstrumentHooks, pid: i32) -> u8;
}
