winpty-rs 1.0.6

Create and spawn processes inside a pseudoterminal in Windows
Documentation
// Bindings generated by `windows-bindgen` 0.66.0

#![allow(
    non_snake_case,
    non_upper_case_globals,
    non_camel_case_types,
    dead_code,
    clippy::all
)]

pub mod Windows {
    pub mod Wdk {
        pub mod Storage {
            pub mod FileSystem {
                #[inline]
                pub unsafe fn NtCreateNamedPipeFile(
                    filehandle: *mut windows::Win32::Foundation::HANDLE,
                    desiredaccess: u64,
                    objectattributes: *const windows::Wdk::Foundation::OBJECT_ATTRIBUTES,
                    iostatusblock: *mut windows::Win32::System::IO::IO_STATUS_BLOCK,
                    shareaccess: u64,
                    createdisposition: u64,
                    createoptions: u64,
                    namedpipetype: u64,
                    readmode: u64,
                    completionmode: u64,
                    maximuminstances: u64,
                    inboundquota: u64,
                    outboundquota: u64,
                    defaulttimeout: Option<*const i64>,
                ) -> windows::Win32::Foundation::NTSTATUS {
                    windows_core::link!("ntdll.dll" "system" fn NtCreateNamedPipeFile(filehandle : *mut windows::Win32::Foundation:: HANDLE, desiredaccess : u64, objectattributes : *const windows::Wdk::Foundation:: OBJECT_ATTRIBUTES, iostatusblock : *mut windows::Win32::System::IO:: IO_STATUS_BLOCK, shareaccess : u64, createdisposition : u64, createoptions : u64, namedpipetype : u64, readmode : u64, completionmode : u64, maximuminstances : u64, inboundquota : u64, outboundquota : u64, defaulttimeout : *const i64) -> windows::Win32::Foundation:: NTSTATUS);
                    unsafe {
                        NtCreateNamedPipeFile(
                            filehandle as _,
                            desiredaccess,
                            objectattributes,
                            iostatusblock as _,
                            shareaccess,
                            createdisposition,
                            createoptions,
                            namedpipetype,
                            readmode,
                            completionmode,
                            maximuminstances,
                            inboundquota,
                            outboundquota,
                            defaulttimeout.unwrap_or(core::mem::zeroed()) as _,
                        )
                    }
                }
            }
        }
    }
}