]> git.proxmox.com Git - rustc.git/blob - vendor/winapi/src/um/consoleapi.rs
New upstream version 1.41.1+dfsg1
[rustc.git] / vendor / winapi / src / um / consoleapi.rs
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};
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;
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 );
91 }