]>
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 | //! ApiSet Contract for api-ms-win-core-console-l1 | |
7 | use shared::minwindef::{BOOL, DWORD, LPDWORD, LPVOID, UINT}; | |
60c5eb7d XL |
8 | use um::wincon::{PCONSOLE_READCONSOLE_CONTROL, PHANDLER_ROUTINE}; |
9 | use um::wincontypes::{COORD, HPCON, PINPUT_RECORD}; | |
10 | use um::winnt::{HANDLE, HRESULT, VOID}; | |
ff7c6d11 XL |
11 | extern "system" { |
12 | pub fn AllocConsole() -> BOOL; | |
13 | pub fn GetConsoleCP() -> UINT; | |
14 | pub fn GetConsoleMode( | |
15 | hConsoleHandle: HANDLE, | |
16 | lpMode: LPDWORD, | |
17 | ) -> BOOL; | |
18 | pub fn GetConsoleOutputCP() -> UINT; | |
19 | pub fn GetNumberOfConsoleInputEvents( | |
20 | hConsoleInput: HANDLE, | |
21 | lpNumberOfEvents: LPDWORD, | |
22 | ) -> BOOL; | |
23 | pub fn PeekConsoleInputA( | |
24 | hConsoleInput: HANDLE, | |
25 | lpBuffer: PINPUT_RECORD, | |
26 | nLength: DWORD, | |
27 | lpNumberOfEventsRead: LPDWORD, | |
28 | ) -> BOOL; | |
29 | pub fn ReadConsoleA( | |
30 | hConsoleInput: HANDLE, | |
31 | lpBuffer: LPVOID, | |
32 | nNumberOfCharsToRead: DWORD, | |
33 | lpNumberOfCharsRead: LPDWORD, | |
34 | pInputControl: PCONSOLE_READCONSOLE_CONTROL, | |
35 | ) -> BOOL; | |
36 | pub fn ReadConsoleW( | |
37 | hConsoleInput: HANDLE, | |
38 | lpBuffer: LPVOID, | |
39 | nNumberOfCharsToRead: DWORD, | |
40 | lpNumberOfCharsRead: LPDWORD, | |
41 | pInputControl: PCONSOLE_READCONSOLE_CONTROL, | |
42 | ) -> BOOL; | |
43 | pub fn ReadConsoleInputA( | |
44 | hConsoleInput: HANDLE, | |
45 | lpBuffer: PINPUT_RECORD, | |
46 | nLength: DWORD, | |
47 | lpNumberOfEventsRead: LPDWORD, | |
48 | ) -> BOOL; | |
49 | pub fn ReadConsoleInputW( | |
50 | hConsoleInput: HANDLE, | |
51 | lpBuffer: PINPUT_RECORD, | |
52 | nLength: DWORD, | |
53 | lpNumberOfEventsRead: LPDWORD, | |
54 | ) -> BOOL; | |
55 | pub fn SetConsoleCtrlHandler( | |
56 | HandlerRoutine: PHANDLER_ROUTINE, | |
57 | Add: BOOL, | |
58 | ) -> BOOL; | |
59 | pub fn SetConsoleMode( | |
60 | hConsoleHandle: HANDLE, | |
61 | dwMode: DWORD, | |
62 | ) -> BOOL; | |
63 | pub fn WriteConsoleA( | |
64 | hConsoleOutput: HANDLE, | |
65 | lpBuffer: *const VOID, | |
66 | nNumberOfCharsToWrite: DWORD, | |
67 | lpNumberOfCharsWritten: LPDWORD, | |
68 | lpReserved: LPVOID, | |
69 | ) -> BOOL; | |
70 | pub fn WriteConsoleW( | |
71 | hConsoleOutput: HANDLE, | |
72 | lpBuffer: *const VOID, | |
73 | nNumberOfCharsToWrite: DWORD, | |
74 | lpNumberOfCharsWritten: LPDWORD, | |
75 | lpReserved: LPVOID, | |
76 | ) -> BOOL; | |
60c5eb7d XL |
77 | pub fn CreatePseudoConsole( |
78 | size: COORD, | |
79 | hInput: HANDLE, | |
80 | hOutput: HANDLE, | |
81 | dwFlags: DWORD, | |
82 | phPC: *mut HPCON, | |
83 | ) -> HRESULT; | |
84 | pub fn ResizePseudoConsole( | |
85 | hPC: HPCON, | |
86 | size: COORD, | |
87 | ) -> HRESULT; | |
88 | pub fn ClosePseudoConsole( | |
89 | hPC: HPCON, | |
90 | ); | |
ff7c6d11 | 91 | } |