about summary refs log tree commit diff
path: root/src/libstd/sys/redox/syscall
diff options
context:
space:
mode:
authorJeremy Soller <jackpot51@gmail.com>2016-12-30 10:38:53 -0700
committerJeremy Soller <jackpot51@gmail.com>2016-12-30 10:38:53 -0700
commit57950faeb68754451f94062c11e3fcf830392025 (patch)
treeb9cade68c99583e515d9a3307859714ca8a168a3 /src/libstd/sys/redox/syscall
parente7c788af75c92c3e0f8e547f28d734757136527f (diff)
Add socket timeout and ttl support
Diffstat (limited to 'src/libstd/sys/redox/syscall')
-rw-r--r--src/libstd/sys/redox/syscall/data.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/libstd/sys/redox/syscall/data.rs b/src/libstd/sys/redox/syscall/data.rs
index ac3946672a3..a6b0ada72b8 100644
--- a/src/libstd/sys/redox/syscall/data.rs
+++ b/src/libstd/sys/redox/syscall/data.rs
@@ -84,3 +84,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::<TimeSpec>()) 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::<TimeSpec>()) as &mut [u8]
+        }
+    }
+}