mach_sys/
clock.rs

1//! This module roughly corresponds to `mach/clock.h`.
2
3use crate::ffi::c_uint;
4
5use crate::clock_types::{alarm_type_t, clock_attr_t, clock_flavor_t, mach_timespec_t};
6use crate::kern_return::kern_return_t;
7use crate::mach_types::{clock_reply_t, clock_serv_t};
8use crate::message::mach_msg_type_number_t;
9
10pub const clock_MSG_COUNT: c_uint = 3;
11
12extern "C" {
13    pub fn clock_get_time(
14        clock_serv: clock_serv_t,
15        cur_time:   *mut mach_timespec_t
16    ) -> kern_return_t;
17
18    pub fn clock_get_attributes(
19        clock_serv:    clock_serv_t,
20        flavor:        clock_flavor_t,
21        clock_attr:    clock_attr_t,
22        clock_attrCnt: *mut mach_msg_type_number_t,
23    ) -> kern_return_t;
24
25    pub fn clock_alarm(
26        clock_serv: clock_serv_t,
27        alarm_type: alarm_type_t,
28        alarm_time: mach_timespec_t,
29        alarm_port: clock_reply_t,
30    ) -> kern_return_t;
31}
32