1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
use std::io::Error; /// Return the sysinfo information /// /// **/!\** Only available on linux **/!\** #[cfg(target_os = "linux")] pub fn sysinfo() -> Result<libc::sysinfo, Error> { let mut info = std::mem::MaybeUninit::<libc::sysinfo>::uninit(); if unsafe { libc::sysinfo(info.as_mut_ptr()) } == -1 { Err(Error::last_os_error()) } else { Ok(unsafe { info.assume_init() }) } }