From 1193791d642795840d7f22967249bad8bdef1a32 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 29 Dec 2016 21:35:16 -0700 Subject: [PATCH] Add deref for timespec --- src/data.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/data.rs b/src/data.rs index 240690befd..21d8532645 100644 --- a/src/data.rs +++ b/src/data.rs @@ -125,3 +125,22 @@ pub struct TimeSpec { pub tv_sec: i64, pub tv_nsec: i32, } + +impl Deref for TimeSpec { + type Target = [u8]; + fn deref(&self) -> &[u8] { + unsafe { + slice::from_raw_parts(self as *const TimeSpec as *const u8, + mem::size_of::()) as &[u8] + } + } +} + +impl DerefMut for TimeSpec { + fn deref_mut(&mut self) -> &mut [u8] { + unsafe { + slice::from_raw_parts_mut(self as *mut TimeSpec as *mut u8, + mem::size_of::()) as &mut [u8] + } + } +}