+6
-8
src/header/unistd/sysconf/redox.rs
+6
-8
src/header/unistd/sysconf/redox.rs
···
7
7
fs::File,
8
8
header::{errno, fcntl, limits, sys_statvfs},
9
9
io::Read,
10
+
out::Out,
10
11
platform::{self, Pal, Sys, types::*},
11
12
};
12
13
···
65
66
_SC_HOST_NAME_MAX => 64,
66
67
_SC_NPROCESSORS_CONF => get_cpu_count().unwrap_or(None).unwrap_or(1),
67
68
_SC_NPROCESSORS_ONLN => get_cpu_count().unwrap_or(None).unwrap_or(1),
68
-
_SC_PHYS_PAGES => get_mem_stat().map(|s| s.f_bsize).unwrap_or(-1),
69
-
_SC_AVPHYS_PAGES => get_mem_stat().map(|s| s.f_bfree).unwrap_or(-1),
69
+
_SC_PHYS_PAGES => get_mem_stat().map(|s| s.f_bsize as c_long).unwrap_or(-1),
70
+
_SC_AVPHYS_PAGES => get_mem_stat().map(|s| s.f_bfree as c_long).unwrap_or(-1),
70
71
_SC_SIGQUEUE_MAX => 32,
71
72
_SC_REALTIME_SIGNALS => 202405,
72
73
_ => {
···
91
92
92
93
pub fn get_mem_stat() -> Result<sys_statvfs::statvfs, Errno> {
93
94
let fd = Sys::open(c"/scheme/memory".into(), fcntl::O_PATH, 0)?;
94
-
if fd < 0 {
95
-
return -1;
96
-
}
97
-
let buf = sys_statvfs::statvfs::default();
98
-
let res = Sys::fstatvfs(fd, buf).map(|()| 0);
95
+
let mut buf = sys_statvfs::statvfs::default();
96
+
let res = Sys::fstatvfs(fd, Out::from_mut(&mut buf));
99
97
Sys::close(fd);
100
-
let res = res?;
98
+
let _ = res?;
101
99
return Ok(buf);
102
100
}