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