Skip to main content

superluminal_perf_sys/
lib.rs

1use std::os::raw::c_char;
2
3pub const DEFAULT_COLOR: u32 = 0xFF_FF_FF_FF;
4
5#[repr(C)]
6pub struct PerformanceAPI_SuppressTailCallOptimization {
7    _private: [u64; 3],
8}
9
10extern "C" {
11    pub fn PerformanceAPI_SetCurrentThreadName(in_thread_name: *const c_char);
12    pub fn PerformanceAPI_SetCurrentThreadName_N(
13        in_thread_name: *const c_char,
14        in_thread_name_len: u16,
15    );
16
17    pub fn PerformanceAPI_BeginEvent(in_id: *const c_char, in_data: *const c_char, in_color: u32);
18    pub fn PerformanceAPI_BeginEvent_N(
19        in_id: *const c_char,
20        in_id_len: u16,
21        in_data: *const c_char,
22        in_data_len: u16,
23        in_color: u32,
24    );
25
26    pub fn PerformanceAPI_EndEvent() -> PerformanceAPI_SuppressTailCallOptimization;
27
28    pub fn PerformanceAPI_RegisterFiber(in_fiber_id: u64);
29
30    pub fn PerformanceAPI_UnregisterFiber(in_fiber_id: u64);
31
32    pub fn PerformanceAPI_BeginFiberSwitch(in_current_fiber_id: u64, in_new_fiber_id: u64);
33
34    pub fn PerformanceAPI_EndFiberSwitch(in_fiber_id: u64);
35}