pub use kernel_user_link::clock::{ClockTime, ClockType};
use kernel_user_link::{
call_syscall,
syscalls::{SyscallError, SYS_GET_TIME, SYS_SLEEP},
};
pub unsafe fn sleep(seconds: u64, nanoseconds: u64) -> Result<(), SyscallError> {
unsafe {
call_syscall!(
SYS_SLEEP,
seconds, nanoseconds, )
.map(|e| assert!(e == 0))
}
}
pub unsafe fn get_time(time_type: ClockType) -> Result<ClockTime, SyscallError> {
let mut time = ClockTime {
seconds: 0,
nanoseconds: 0,
};
unsafe {
call_syscall!(
SYS_GET_TIME,
time_type as u64, &mut time as *mut ClockTime as u64, )
.map(|e| assert!(e == 0))
.map(|_| time)
}
}