use super::*;
pub fn os_bitness() -> Result<Bitness, BitnessError> {
use std::mem;
use winapi::um::sysinfoapi::{GetNativeSystemInfo, SYSTEM_INFO, SYSTEM_INFO_u_s};
use winapi::um::winnt::{PROCESSOR_ARCHITECTURE_INTEL, PROCESSOR_ARCHITECTURE_AMD64};
let mut system_info: SYSTEM_INFO = unsafe { mem::zeroed() };
unsafe { GetNativeSystemInfo(&mut system_info) };
let s: &SYSTEM_INFO_u_s = unsafe { system_info.u.s() };
Ok(match s.wProcessorArchitecture {
PROCESSOR_ARCHITECTURE_INTEL => Bitness::X86_32,
PROCESSOR_ARCHITECTURE_AMD64 => Bitness::X86_64,
_ => Bitness::Unknown,
})
}