1use crate::kern_return::kern_return_t;
4
5pub type mach_timebase_info_t = *mut mach_timebase_info;
6pub type mach_timebase_info_data_t = mach_timebase_info;
7
8#[repr(C)]
9#[derive(Copy, Clone, Debug, Default, Hash, PartialOrd, PartialEq, Eq, Ord)]
10pub struct mach_timebase_info {
11 pub numer: u32,
12 pub denom: u32,
13}
14
15extern "C" {
16 pub fn mach_absolute_time() -> u64;
17 pub fn mach_approximate_time() -> u64;
18 pub fn mach_continuous_time() -> u64;
19 pub fn mach_continuous_approximate_time() -> u64;
20
21 pub fn mach_timebase_info(
22 info: mach_timebase_info_t,
23 ) -> kern_return_t;
24
25 pub fn mach_wait_until(
26 deadline: u64,
27 ) -> kern_return_t;
28}
29