use std::io;
use std::mem;
use windows_sys::Win32::Foundation::BOOL;
use windows_sys::Win32::System::IO::OVERLAPPED;
pub(crate) struct Overlapped(OVERLAPPED);
impl Overlapped {
pub(crate) fn zero() -> Overlapped {
Overlapped(unsafe { mem::zeroed() })
}
pub(crate) fn raw(&self) -> *mut OVERLAPPED {
&self.0 as *const _ as *mut _
}
}
pub(crate) fn syscall(status: BOOL) -> std::io::Result<()> {
if status == 0 {
Err(io::Error::last_os_error())
} else {
Ok(())
}
}