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}
;
8 use um
::wincon
::{PCONSOLE_READCONSOLE_CONTROL, PHANDLER_ROUTINE}
;
9 use um
::wincontypes
::{COORD, HPCON, PINPUT_RECORD}
;
10 use um
::winnt
::{HANDLE, HRESULT, VOID}
;
12 pub fn AllocConsole() -> BOOL
;
13 pub fn GetConsoleCP() -> UINT
;
14 pub fn GetConsoleMode(
15 hConsoleHandle
: HANDLE
,
18 pub fn GetConsoleOutputCP() -> UINT
;
19 pub fn GetNumberOfConsoleInputEvents(
20 hConsoleInput
: HANDLE
,
21 lpNumberOfEvents
: LPDWORD
,
23 pub fn PeekConsoleInputA(
24 hConsoleInput
: HANDLE
,
25 lpBuffer
: PINPUT_RECORD
,
27 lpNumberOfEventsRead
: LPDWORD
,
30 hConsoleInput
: HANDLE
,
32 nNumberOfCharsToRead
: DWORD
,
33 lpNumberOfCharsRead
: LPDWORD
,
34 pInputControl
: PCONSOLE_READCONSOLE_CONTROL
,
37 hConsoleInput
: HANDLE
,
39 nNumberOfCharsToRead
: DWORD
,
40 lpNumberOfCharsRead
: LPDWORD
,
41 pInputControl
: PCONSOLE_READCONSOLE_CONTROL
,
43 pub fn ReadConsoleInputA(
44 hConsoleInput
: HANDLE
,
45 lpBuffer
: PINPUT_RECORD
,
47 lpNumberOfEventsRead
: LPDWORD
,
49 pub fn ReadConsoleInputW(
50 hConsoleInput
: HANDLE
,
51 lpBuffer
: PINPUT_RECORD
,
53 lpNumberOfEventsRead
: LPDWORD
,
55 pub fn SetConsoleCtrlHandler(
56 HandlerRoutine
: PHANDLER_ROUTINE
,
59 pub fn SetConsoleMode(
60 hConsoleHandle
: HANDLE
,
64 hConsoleOutput
: HANDLE
,
65 lpBuffer
: *const VOID
,
66 nNumberOfCharsToWrite
: DWORD
,
67 lpNumberOfCharsWritten
: LPDWORD
,
71 hConsoleOutput
: HANDLE
,
72 lpBuffer
: *const VOID
,
73 nNumberOfCharsToWrite
: DWORD
,
74 lpNumberOfCharsWritten
: LPDWORD
,
77 pub fn CreatePseudoConsole(
84 pub fn ResizePseudoConsole(
88 pub fn ClosePseudoConsole(