]> git.proxmox.com Git - rustc.git/blob - vendor/windows-sys/src/Windows/Win32/System/IO/mod.rs
New upstream version 1.61.0+dfsg1
[rustc.git] / vendor / windows-sys / src / Windows / Win32 / System / IO / mod.rs
1 #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)]
2 #[link(name = "windows")]
3 extern "system" {
4 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
5 #[cfg(feature = "Win32_Foundation")]
6 pub fn BindIoCompletionCallback(filehandle: super::super::Foundation::HANDLE, function: LPOVERLAPPED_COMPLETION_ROUTINE, flags: u32) -> super::super::Foundation::BOOL;
7 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
8 #[cfg(feature = "Win32_Foundation")]
9 pub fn CancelIo(hfile: super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL;
10 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
11 #[cfg(feature = "Win32_Foundation")]
12 pub fn CancelIoEx(hfile: super::super::Foundation::HANDLE, lpoverlapped: *const OVERLAPPED) -> super::super::Foundation::BOOL;
13 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
14 #[cfg(feature = "Win32_Foundation")]
15 pub fn CancelSynchronousIo(hthread: super::super::Foundation::HANDLE) -> super::super::Foundation::BOOL;
16 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
17 #[cfg(feature = "Win32_Foundation")]
18 pub fn CreateIoCompletionPort(filehandle: super::super::Foundation::HANDLE, existingcompletionport: super::super::Foundation::HANDLE, completionkey: usize, numberofconcurrentthreads: u32) -> super::super::Foundation::HANDLE;
19 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
20 #[cfg(feature = "Win32_Foundation")]
21 pub fn DeviceIoControl(hdevice: super::super::Foundation::HANDLE, dwiocontrolcode: u32, lpinbuffer: *const ::core::ffi::c_void, ninbuffersize: u32, lpoutbuffer: *mut ::core::ffi::c_void, noutbuffersize: u32, lpbytesreturned: *mut u32, lpoverlapped: *mut OVERLAPPED) -> super::super::Foundation::BOOL;
22 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
23 #[cfg(feature = "Win32_Foundation")]
24 pub fn GetOverlappedResult(hfile: super::super::Foundation::HANDLE, lpoverlapped: *const OVERLAPPED, lpnumberofbytestransferred: *mut u32, bwait: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
25 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
26 #[cfg(feature = "Win32_Foundation")]
27 pub fn GetOverlappedResultEx(hfile: super::super::Foundation::HANDLE, lpoverlapped: *const OVERLAPPED, lpnumberofbytestransferred: *mut u32, dwmilliseconds: u32, balertable: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
28 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
29 #[cfg(feature = "Win32_Foundation")]
30 pub fn GetQueuedCompletionStatus(completionport: super::super::Foundation::HANDLE, lpnumberofbytestransferred: *mut u32, lpcompletionkey: *mut usize, lpoverlapped: *mut *mut OVERLAPPED, dwmilliseconds: u32) -> super::super::Foundation::BOOL;
31 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
32 #[cfg(feature = "Win32_Foundation")]
33 pub fn GetQueuedCompletionStatusEx(completionport: super::super::Foundation::HANDLE, lpcompletionportentries: *mut OVERLAPPED_ENTRY, ulcount: u32, ulnumentriesremoved: *mut u32, dwmilliseconds: u32, falertable: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
34 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
35 #[cfg(feature = "Win32_Foundation")]
36 pub fn PostQueuedCompletionStatus(completionport: super::super::Foundation::HANDLE, dwnumberofbytestransferred: u32, dwcompletionkey: usize, lpoverlapped: *const OVERLAPPED) -> super::super::Foundation::BOOL;
37 }
38 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
39 #[cfg(feature = "Win32_Foundation")]
40 pub type LPOVERLAPPED_COMPLETION_ROUTINE = ::core::option::Option<unsafe extern "system" fn(dwerrorcode: u32, dwnumberofbytestransfered: u32, lpoverlapped: *mut OVERLAPPED)>;
41 #[repr(C)]
42 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
43 #[cfg(feature = "Win32_Foundation")]
44 pub struct OVERLAPPED {
45 pub Internal: usize,
46 pub InternalHigh: usize,
47 pub Anonymous: OVERLAPPED_0,
48 pub hEvent: super::super::Foundation::HANDLE,
49 }
50 #[cfg(feature = "Win32_Foundation")]
51 impl ::core::marker::Copy for OVERLAPPED {}
52 #[cfg(feature = "Win32_Foundation")]
53 impl ::core::clone::Clone for OVERLAPPED {
54 fn clone(&self) -> Self {
55 *self
56 }
57 }
58 #[repr(C)]
59 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
60 #[cfg(feature = "Win32_Foundation")]
61 pub union OVERLAPPED_0 {
62 pub Anonymous: OVERLAPPED_0_0,
63 pub Pointer: *mut ::core::ffi::c_void,
64 }
65 #[cfg(feature = "Win32_Foundation")]
66 impl ::core::marker::Copy for OVERLAPPED_0 {}
67 #[cfg(feature = "Win32_Foundation")]
68 impl ::core::clone::Clone for OVERLAPPED_0 {
69 fn clone(&self) -> Self {
70 *self
71 }
72 }
73 #[repr(C)]
74 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
75 #[cfg(feature = "Win32_Foundation")]
76 pub struct OVERLAPPED_0_0 {
77 pub Offset: u32,
78 pub OffsetHigh: u32,
79 }
80 #[cfg(feature = "Win32_Foundation")]
81 impl ::core::marker::Copy for OVERLAPPED_0_0 {}
82 #[cfg(feature = "Win32_Foundation")]
83 impl ::core::clone::Clone for OVERLAPPED_0_0 {
84 fn clone(&self) -> Self {
85 *self
86 }
87 }
88 #[repr(C)]
89 #[doc = "*Required features: 'Win32_System_IO', 'Win32_Foundation'*"]
90 #[cfg(feature = "Win32_Foundation")]
91 pub struct OVERLAPPED_ENTRY {
92 pub lpCompletionKey: usize,
93 pub lpOverlapped: *mut OVERLAPPED,
94 pub Internal: usize,
95 pub dwNumberOfBytesTransferred: u32,
96 }
97 #[cfg(feature = "Win32_Foundation")]
98 impl ::core::marker::Copy for OVERLAPPED_ENTRY {}
99 #[cfg(feature = "Win32_Foundation")]
100 impl ::core::clone::Clone for OVERLAPPED_ENTRY {
101 fn clone(&self) -> Self {
102 *self
103 }
104 }