mach_sys/
mach_time.rs

1//! This module corresponds to `mach/mach_time.h`
2
3use 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