compio-driver 0.11.4

Low-level driver for compio
Documentation
cfg_if::cfg_if! {
    if #[cfg(windows)] {
        mod iocp;
        use iocp as imp;
    } else if #[cfg(fusion)] {
        mod fusion;
        mod poll;
        mod iour;

        use fusion as imp;
    } else if #[cfg(io_uring)] {
        mod iour;
        use iour as imp;
    } else if #[cfg(all(target_os = "linux", not(feature = "polling")))] {
        mod stub;
        use stub as imp;
    } else if #[cfg(unix)] {
        mod poll;
        use poll as imp;
    }
}

#[cfg(unix)]
mod unix_op;

mod extra;

pub use extra::Extra;
pub use imp::*;

#[cfg(aio)]
pub(crate) mod aio {
    pub use libc::aiocb;

    pub fn new_aiocb() -> aiocb {
        unsafe { std::mem::zeroed() }
    }
}

#[cfg(not(aio))]
pub(crate) mod aio {
    #[allow(non_camel_case_types)]
    pub type aiocb = ();

    pub fn new_aiocb() -> aiocb {}
}