From 65d1ea790052559500c49f239c8f826ec1e3ec99 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Fri, 28 Dec 2018 21:29:26 -0700 Subject: [PATCH] 0.1.48 - add itimerspec --- Cargo.toml | 2 +- src/data.rs | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 7aed107..04fcfe5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "redox_syscall" -version = "0.1.47" +version = "0.1.48" description = "A Rust library to access raw Redox system calls" license = "MIT" authors = ["Jeremy Soller "] diff --git a/src/data.rs b/src/data.rs index 06cc566..8b3419d 100644 --- a/src/data.rs +++ b/src/data.rs @@ -26,6 +26,32 @@ impl DerefMut for Event { } } +#[derive(Copy, Clone, Debug, Default)] +#[repr(C)] +pub struct ITimerSpec { + it_interval: TimeSpec, + it_value: TimeSpec, +} + +impl Deref for ITimerSpec { + type Target = [u8]; + fn deref(&self) -> &[u8] { + unsafe { + slice::from_raw_parts(self as *const ITimerSpec as *const u8, + mem::size_of::()) as &[u8] + } + } +} + +impl DerefMut for ITimerSpec { + fn deref_mut(&mut self) -> &mut [u8] { + unsafe { + slice::from_raw_parts_mut(self as *mut ITimerSpec as *mut u8, + mem::size_of::()) as &mut [u8] + } + } +} + #[derive(Copy, Clone, Debug, Default)] #[repr(C)] pub struct Map {