about summary refs log tree commit diff
path: root/src/libstd/sys
diff options
context:
space:
mode:
authorJeremy Soller <jackpot51@gmail.com>2016-12-20 16:12:36 -0700
committerJeremy Soller <jackpot51@gmail.com>2016-12-20 16:12:36 -0700
commit65eecf8bb311efe4174cb7a90271344b72371884 (patch)
tree7d8c09d577d12020961cc8ef1bcc9b77b7cb2fe6 /src/libstd/sys
parente55596fa2011254fc29e7b386fb36416c79cf17f (diff)
downloadrust-65eecf8bb311efe4174cb7a90271344b72371884.tar.gz
rust-65eecf8bb311efe4174cb7a90271344b72371884.zip
Readd statvfs
Diffstat (limited to 'src/libstd/sys')
-rw-r--r--src/libstd/sys/redox/syscall/data.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/libstd/sys/redox/syscall/data.rs b/src/libstd/sys/redox/syscall/data.rs
index 223167d6bf7..11f007c52ab 100644
--- a/src/libstd/sys/redox/syscall/data.rs
+++ b/src/libstd/sys/redox/syscall/data.rs
@@ -51,6 +51,32 @@ impl DerefMut for Stat {
 
 #[derive(Copy, Clone, Debug, Default)]
 #[repr(packed)]
+pub struct StatVfs {
+    pub f_bsize: u32,
+    pub f_blocks: u64,
+    pub f_bfree: u64,
+    pub f_bavail: u64,
+}
+
+impl Deref for StatVfs {
+    type Target = [u8];
+    fn deref(&self) -> &[u8] {
+        unsafe {
+            slice::from_raw_parts(self as *const StatVfs as *const u8, mem::size_of::<StatVfs>()) as &[u8]
+        }
+    }
+}
+
+impl DerefMut for StatVfs {
+    fn deref_mut(&mut self) -> &mut [u8] {
+        unsafe {
+            slice::from_raw_parts_mut(self as *mut StatVfs as *mut u8, mem::size_of::<StatVfs>()) as &mut [u8]
+        }
+    }
+}
+
+#[derive(Copy, Clone, Debug, Default)]
+#[repr(packed)]
 pub struct TimeSpec {
     pub tv_sec: i64,
     pub tv_nsec: i32,