Sha256: 908f71e686f835ccddfb338fdea22e56b58685a6b90036aea60bcfa693d19f39

Contents?: true

Size: 936 Bytes

Versions: 37

Compression:

Stored size: 936 Bytes

Contents

use std::io;
use std::mem;

use windows_sys::Win32::Foundation::BOOL;
use windows_sys::Win32::System::IO::OVERLAPPED;

/// A wrapper around `OVERLAPPED` to provide "rustic" accessors and
/// initializers.
pub(crate) struct Overlapped(OVERLAPPED);

impl Overlapped {
    /// Creates a new zeroed out instance of an overlapped I/O tracking state.
    ///
    /// This is suitable for passing to methods which will then later get
    /// notified via an I/O Completion Port.
    pub(crate) fn zero() -> Overlapped {
        Overlapped(unsafe { mem::zeroed() })
    }

    /// Gain access to the raw underlying data
    pub(crate) fn raw(&self) -> *mut OVERLAPPED {
        &self.0 as *const _ as *mut _
    }
}

/// Convert a system call which returns a `BOOL` to an `io::Result`.
pub(crate) fn syscall(status: BOOL) -> std::io::Result<()> {
    if status == 0 {
        Err(io::Error::last_os_error())
    } else {
        Ok(())
    }
}

Version data entries

37 entries across 37 versions & 1 rubygems

Version Path
wasmtime-30.0.2 ./ext/cargo-vendor/fd-lock-4.0.2/src/sys/windows/utils.rs
wasmtime-29.0.0 ./ext/cargo-vendor/fd-lock-4.0.2/src/sys/windows/utils.rs
wasmtime-28.0.0 ./ext/cargo-vendor/fd-lock-4.0.2/src/sys/windows/utils.rs
wasmtime-27.0.0 ./ext/cargo-vendor/fd-lock-4.0.2/src/sys/windows/utils.rs
wasmtime-26.0.0 ./ext/cargo-vendor/fd-lock-4.0.2/src/sys/windows/utils.rs
wasmtime-25.0.2 ./ext/cargo-vendor/fd-lock-4.0.2/src/sys/windows/utils.rs
wasmtime-25.0.1 ./ext/cargo-vendor/fd-lock-4.0.2/src/sys/windows/utils.rs
wasmtime-25.0.0 ./ext/cargo-vendor/fd-lock-4.0.2/src/sys/windows/utils.rs
wasmtime-24.0.0 ./ext/cargo-vendor/fd-lock-4.0.2/src/sys/windows/utils.rs
wasmtime-23.0.2 ./ext/cargo-vendor/fd-lock-4.0.2/src/sys/windows/utils.rs
wasmtime-22.0.0 ./ext/cargo-vendor/fd-lock-4.0.2/src/sys/windows/utils.rs
wasmtime-21.0.1 ./ext/cargo-vendor/fd-lock-4.0.2/src/sys/windows/utils.rs
wasmtime-20.0.2 ./ext/cargo-vendor/fd-lock-4.0.2/src/sys/windows/utils.rs
wasmtime-20.0.0 ./ext/cargo-vendor/fd-lock-4.0.2/src/sys/windows/utils.rs
wasmtime-18.0.3 ./ext/cargo-vendor/fd-lock-4.0.2/src/sys/windows/utils.rs
wasmtime-17.0.1 ./ext/cargo-vendor/fd-lock-4.0.2/src/sys/windows/utils.rs
wasmtime-17.0.0 ./ext/cargo-vendor/fd-lock-4.0.2/src/sys/windows/utils.rs
wasmtime-16.0.0 ./ext/cargo-vendor/fd-lock-4.0.2/src/sys/windows/utils.rs
wasmtime-15.0.1 ./ext/cargo-vendor/fd-lock-4.0.2/src/sys/windows/utils.rs
wasmtime-15.0.0 ./ext/cargo-vendor/fd-lock-4.0.2/src/sys/windows/utils.rs