summaryrefslogtreecommitdiff
path: root/vendor/winapi/src/um/ioapiset.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/winapi/src/um/ioapiset.rs')
-rw-r--r--vendor/winapi/src/um/ioapiset.rs71
1 files changed, 71 insertions, 0 deletions
diff --git a/vendor/winapi/src/um/ioapiset.rs b/vendor/winapi/src/um/ioapiset.rs
new file mode 100644
index 0000000..b9b7109
--- /dev/null
+++ b/vendor/winapi/src/um/ioapiset.rs
@@ -0,0 +1,71 @@
+// Licensed under the Apache License, Version 2.0
+// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
+// All files in the project carrying such notice may not be copied, modified, or distributed
+// except according to those terms.
+use shared::basetsd::{PULONG_PTR, ULONG_PTR};
+use shared::minwindef::{BOOL, DWORD, LPDWORD, LPVOID, PULONG, ULONG};
+use um::minwinbase::{LPOVERLAPPED, LPOVERLAPPED_ENTRY};
+use um::winnt::HANDLE;
+extern "system" {
+ pub fn CreateIoCompletionPort(
+ FileHandle: HANDLE,
+ ExistingCompletionPort: HANDLE,
+ CompletionKey: ULONG_PTR,
+ NumberOfConcurrentThreads: DWORD,
+ ) -> HANDLE;
+ pub fn GetQueuedCompletionStatus(
+ CompletionPort: HANDLE,
+ lpNumberOfBytesTransferred: LPDWORD,
+ lpCompletionKey: PULONG_PTR,
+ lpOverlapped: *mut LPOVERLAPPED,
+ dwMilliseconds: DWORD,
+ ) -> BOOL;
+ pub fn GetQueuedCompletionStatusEx(
+ CompletionPort: HANDLE,
+ lpCompletionPortEntries: LPOVERLAPPED_ENTRY,
+ ulCount: ULONG,
+ ulNumEntriesRemoved: PULONG,
+ dwMilliseconds: DWORD,
+ fAlertable: BOOL,
+ ) -> BOOL;
+ pub fn PostQueuedCompletionStatus(
+ CompletionPort: HANDLE,
+ dwNumberOfBytesTransferred: DWORD,
+ dwCompletionKey: ULONG_PTR,
+ lpOverlapped: LPOVERLAPPED,
+ ) -> BOOL;
+ pub fn DeviceIoControl(
+ hDevice: HANDLE,
+ dwIoControlCode: DWORD,
+ lpInBuffer: LPVOID,
+ nInBufferSize: DWORD,
+ lpOutBuffer: LPVOID,
+ nOutBufferSize: DWORD,
+ lpBytesReturned: LPDWORD,
+ lpOverlapped: LPOVERLAPPED,
+ ) -> BOOL;
+ pub fn GetOverlappedResult(
+ hFile: HANDLE,
+ lpOverlapped: LPOVERLAPPED,
+ lpNumberOfBytesTransferred: LPDWORD,
+ bWait: BOOL,
+ ) -> BOOL;
+ pub fn CancelIoEx(
+ hFile: HANDLE,
+ lpOverlapped: LPOVERLAPPED,
+ ) -> BOOL;
+ pub fn CancelIo(
+ hFile: HANDLE,
+ ) -> BOOL;
+ pub fn GetOverlappedResultEx(
+ hFile: HANDLE,
+ lpOverlapped: LPOVERLAPPED,
+ lpNumberOfBytesTransferred: LPDWORD,
+ dwMilliseconds: DWORD,
+ bAlertable: BOOL,
+ ) -> BOOL;
+ pub fn CancelSynchronousIo(
+ hThread: HANDLE,
+ ) -> BOOL;
+}