]>
Commit | Line | Data |
---|---|---|
ff7c6d11 XL |
1 | // Licensed under the Apache License, Version 2.0 |
2 | // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license | |
3 | // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option. | |
4 | // All files in the project carrying such notice may not be copied, modified, or distributed | |
5 | // except according to those terms. | |
6 | use shared::basetsd::{PULONG_PTR, ULONG_PTR}; | |
7 | use shared::minwindef::{BOOL, DWORD, LPDWORD, LPVOID, PULONG, ULONG}; | |
8 | use um::minwinbase::{LPOVERLAPPED, LPOVERLAPPED_ENTRY}; | |
0bf4aa26 | 9 | use um::winnt::HANDLE; |
ff7c6d11 XL |
10 | extern "system" { |
11 | pub fn CreateIoCompletionPort( | |
12 | FileHandle: HANDLE, | |
13 | ExistingCompletionPort: HANDLE, | |
14 | CompletionKey: ULONG_PTR, | |
15 | NumberOfConcurrentThreads: DWORD, | |
16 | ) -> HANDLE; | |
17 | pub fn GetQueuedCompletionStatus( | |
18 | CompletionPort: HANDLE, | |
19 | lpNumberOfBytesTransferred: LPDWORD, | |
20 | lpCompletionKey: PULONG_PTR, | |
21 | lpOverlapped: *mut LPOVERLAPPED, | |
22 | dwMilliseconds: DWORD, | |
23 | ) -> BOOL; | |
24 | pub fn GetQueuedCompletionStatusEx( | |
25 | CompletionPort: HANDLE, | |
26 | lpCompletionPortEntries: LPOVERLAPPED_ENTRY, | |
27 | ulCount: ULONG, | |
28 | ulNumEntriesRemoved: PULONG, | |
29 | dwMilliseconds: DWORD, | |
30 | fAlertable: BOOL, | |
31 | ) -> BOOL; | |
32 | pub fn PostQueuedCompletionStatus( | |
33 | CompletionPort: HANDLE, | |
34 | dwNumberOfBytesTransferred: DWORD, | |
35 | dwCompletionKey: ULONG_PTR, | |
36 | lpOverlapped: LPOVERLAPPED, | |
37 | ) -> BOOL; | |
38 | pub fn DeviceIoControl( | |
39 | hDevice: HANDLE, | |
40 | dwIoControlCode: DWORD, | |
41 | lpInBuffer: LPVOID, | |
42 | nInBufferSize: DWORD, | |
43 | lpOutBuffer: LPVOID, | |
44 | nOutBufferSize: DWORD, | |
45 | lpBytesReturned: LPDWORD, | |
46 | lpOverlapped: LPOVERLAPPED, | |
47 | ) -> BOOL; | |
48 | pub fn GetOverlappedResult( | |
49 | hFile: HANDLE, | |
50 | lpOverlapped: LPOVERLAPPED, | |
51 | lpNumberOfBytesTransferred: LPDWORD, | |
52 | bWait: BOOL, | |
53 | ) -> BOOL; | |
54 | pub fn CancelIoEx( | |
55 | hFile: HANDLE, | |
56 | lpOverlapped: LPOVERLAPPED, | |
57 | ) -> BOOL; | |
58 | pub fn CancelIo( | |
59 | hFile: HANDLE, | |
60 | ) -> BOOL; | |
61 | pub fn GetOverlappedResultEx( | |
62 | hFile: HANDLE, | |
63 | lpOverlapped: LPOVERLAPPED, | |
64 | lpNumberOfBytesTransferred: LPDWORD, | |
65 | dwMilliseconds: DWORD, | |
66 | bAlertable: BOOL, | |
67 | ) -> BOOL; | |
68 | pub fn CancelSynchronousIo( | |
69 | hThread: HANDLE, | |
70 | ) -> BOOL; | |
71 | } |