use std::ffi::c_int;
pub use enif_ffi::SysInfo;
#[derive(Clone, Copy, PartialEq, Eq, Debug)]
pub enum ThreadType {
Scheduler,
DirtyCpu,
DirtyIo,
NonScheduler,
Unknown(c_int),
}
pub fn thread_type() -> ThreadType {
match unsafe { enif_ffi::thread_type() } {
enif_ffi::THR_UNDEFINED => ThreadType::NonScheduler,
enif_ffi::THR_NORMAL_SCHEDULER => ThreadType::Scheduler,
enif_ffi::THR_DIRTY_CPU_SCHEDULER => ThreadType::DirtyCpu,
enif_ffi::THR_DIRTY_IO_SCHEDULER => ThreadType::DirtyIo,
other => ThreadType::Unknown(other),
}
}
pub fn system_info(info: &mut SysInfo) {
unsafe { enif_ffi::system_info(info, std::mem::size_of::<SysInfo>()) };
}