[BASESRV-CONSRV-WINSRV]
[reactos.git] / include / psdk / wincon.h
1 #ifndef _WINCON_H
2 #define _WINCON_H
3
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7
8 #if (_WIN32_WINNT >= 0x0600) && !defined(NOGDI)
9 # include "wingdi.h"
10 #endif
11
12 #ifdef _MSC_VER
13 #pragma warning(push)
14 #pragma warning(disable:4820)
15 #endif
16
17 /*
18 * Special PID for parent process for AttachConsole API
19 */
20 #if (_WIN32_WINNT >= 0x0501)
21 #define ATTACH_PARENT_PROCESS ((DWORD)-1)
22 #endif
23
24 /*
25 * Console display modes
26 */
27 #define CONSOLE_FULLSCREEN 1
28 #define CONSOLE_FULLSCREEN_HARDWARE 2
29 #if (_WIN32_WINNT >= 0x0600)
30 #define CONSOLE_OVERSTRIKE 1
31 #endif
32
33 #define CONSOLE_FULLSCREEN_MODE 1
34 #define CONSOLE_WINDOWED_MODE 2
35
36 /*
37 * Color attributes for text and screen background
38 */
39 #define FOREGROUND_BLUE 0x0001
40 #define FOREGROUND_GREEN 0x0002
41 #define FOREGROUND_RED 0x0004
42 #define FOREGROUND_INTENSITY 0x0008
43 #define BACKGROUND_BLUE 0x0010
44 #define BACKGROUND_GREEN 0x0020
45 #define BACKGROUND_RED 0x0040
46 #define BACKGROUND_INTENSITY 0x0080
47
48 #define COMMON_LVB_LEADING_BYTE 0x0100
49 #define COMMON_LVB_TRAILING_BYTE 0x0200
50 #define COMMON_LVB_GRID_HORIZONTAL 0x0400
51 #define COMMON_LVB_GRID_LVERTICAL 0x0800
52 #define COMMON_LVB_GRID_RVERTICAL 0x1000
53 #define COMMON_LVB_REVERSE_VIDEO 0x4000
54 #define COMMON_LVB_UNDERSCORE 0x8000
55
56 /*
57 * Control handler codes
58 */
59 #define CTRL_C_EVENT 0
60 #define CTRL_BREAK_EVENT 1
61 #define CTRL_CLOSE_EVENT 2
62 #define CTRL_LOGOFF_EVENT 5
63 #define CTRL_SHUTDOWN_EVENT 6
64
65 /*
66 * Input mode flags
67 */
68 #define ENABLE_PROCESSED_INPUT 0x0001
69 #define ENABLE_LINE_INPUT 0x0002
70 #define ENABLE_ECHO_INPUT 0x0004
71 #define ENABLE_WINDOW_INPUT 0x0008
72 #define ENABLE_MOUSE_INPUT 0x0010
73 #define ENABLE_INSERT_MODE 0x0020
74 #define ENABLE_QUICK_EDIT_MODE 0x0040
75 #define ENABLE_EXTENDED_FLAGS 0x0080
76 #if (_WIN32_WINNT >= 0x0600)
77 #define ENABLE_AUTO_POSITION 0x0100
78 #endif
79
80 /*
81 * Output mode flags
82 */
83 #define ENABLE_PROCESSED_OUTPUT 0x0001
84 #define ENABLE_WRAP_AT_EOL_OUTPUT 0x0002
85
86 /*
87 * Console selection flags
88 */
89 #define CONSOLE_NO_SELECTION 0x0000
90 #define CONSOLE_SELECTION_IN_PROGRESS 0x0001
91 #define CONSOLE_SELECTION_NOT_EMPTY 0x0002
92 #define CONSOLE_MOUSE_SELECTION 0x0004
93 #define CONSOLE_MOUSE_DOWN 0x0008
94
95 /*
96 * History duplicate flags
97 */
98 #if (_WIN32_WINNT >= 0x0600)
99 #define HISTORY_NO_DUP_FLAG 0x0001
100 #endif
101
102 /*
103 * Event types
104 */
105 #define KEY_EVENT 0x0001
106 #define MOUSE_EVENT 0x0002
107 #define WINDOW_BUFFER_SIZE_EVENT 0x0004
108 #define MENU_EVENT 0x0008
109 #define FOCUS_EVENT 0x0010
110
111 /*
112 * ControlKeyState flags
113 */
114 #define RIGHT_ALT_PRESSED 0x0001
115 #define LEFT_ALT_PRESSED 0x0002
116 #define RIGHT_CTRL_PRESSED 0x0004
117 #define LEFT_CTRL_PRESSED 0x0008
118 #define SHIFT_PRESSED 0x0010
119 #define NUMLOCK_ON 0x0020
120 #define SCROLLLOCK_ON 0x0040
121 #define CAPSLOCK_ON 0x0080
122 #define ENHANCED_KEY 0x0100
123
124 /*
125 * ButtonState flags
126 */
127 #define FROM_LEFT_1ST_BUTTON_PRESSED 0x0001
128 #define RIGHTMOST_BUTTON_PRESSED 0x0002
129 #define FROM_LEFT_2ND_BUTTON_PRESSED 0x0004
130 #define FROM_LEFT_3RD_BUTTON_PRESSED 0x0008
131 #define FROM_LEFT_4TH_BUTTON_PRESSED 0x0010
132
133 /*
134 * Mouse event flags
135 */
136 #define MOUSE_MOVED 0x0001
137 #define DOUBLE_CLICK 0x0002
138 #define MOUSE_WHEELED 0x0004
139 #if (_WIN32_WINNT >= 0x0600)
140 #define MOUSE_HWHEELED 0x0008
141 #endif
142
143 typedef struct _CONSOLE_READCONSOLE_CONTROL {
144 ULONG nLength;
145 ULONG nInitialChars;
146 ULONG dwCtrlWakeupMask;
147 ULONG dwControlKeyState;
148 } CONSOLE_READCONSOLE_CONTROL, *PCONSOLE_READCONSOLE_CONTROL;
149
150 typedef struct _CHAR_INFO {
151 union {
152 WCHAR UnicodeChar;
153 CHAR AsciiChar;
154 } Char;
155 WORD Attributes;
156 } CHAR_INFO,*PCHAR_INFO;
157 typedef struct _SMALL_RECT {
158 SHORT Left;
159 SHORT Top;
160 SHORT Right;
161 SHORT Bottom;
162 } SMALL_RECT,*PSMALL_RECT;
163 typedef struct _CONSOLE_CURSOR_INFO {
164 DWORD dwSize;
165 BOOL bVisible;
166 } CONSOLE_CURSOR_INFO,*PCONSOLE_CURSOR_INFO;
167 typedef struct _COORD {
168 SHORT X;
169 SHORT Y;
170 } COORD, *PCOORD;
171 typedef struct _CONSOLE_SELECTION_INFO {
172 DWORD dwFlags;
173 COORD dwSelectionAnchor;
174 SMALL_RECT srSelection;
175 } CONSOLE_SELECTION_INFO, *PCONSOLE_SELECTION_INFO;
176 typedef struct _CONSOLE_FONT_INFO {
177 DWORD nFont;
178 COORD dwFontSize;
179 } CONSOLE_FONT_INFO, *PCONSOLE_FONT_INFO;
180 typedef struct _CONSOLE_SCREEN_BUFFER_INFO {
181 COORD dwSize;
182 COORD dwCursorPosition;
183 WORD wAttributes;
184 SMALL_RECT srWindow;
185 COORD dwMaximumWindowSize;
186 } CONSOLE_SCREEN_BUFFER_INFO,*PCONSOLE_SCREEN_BUFFER_INFO;
187 typedef BOOL(CALLBACK *PHANDLER_ROUTINE)(_In_ DWORD);
188 typedef struct _KEY_EVENT_RECORD {
189 BOOL bKeyDown;
190 WORD wRepeatCount;
191 WORD wVirtualKeyCode;
192 WORD wVirtualScanCode;
193 union {
194 WCHAR UnicodeChar;
195 CHAR AsciiChar;
196 } uChar;
197 DWORD dwControlKeyState;
198 }
199 #ifdef __GNUC__
200 /* gcc's alignment is not what win32 expects */
201 PACKED
202 #endif
203 KEY_EVENT_RECORD;
204 typedef struct _MOUSE_EVENT_RECORD {
205 COORD dwMousePosition;
206 DWORD dwButtonState;
207 DWORD dwControlKeyState;
208 DWORD dwEventFlags;
209 } MOUSE_EVENT_RECORD;
210 typedef struct _WINDOW_BUFFER_SIZE_RECORD { COORD dwSize; } WINDOW_BUFFER_SIZE_RECORD;
211 typedef struct _MENU_EVENT_RECORD { UINT dwCommandId; } MENU_EVENT_RECORD,*PMENU_EVENT_RECORD;
212 typedef struct _FOCUS_EVENT_RECORD { BOOL bSetFocus; } FOCUS_EVENT_RECORD;
213 typedef struct _INPUT_RECORD {
214 WORD EventType;
215 union {
216 KEY_EVENT_RECORD KeyEvent;
217 MOUSE_EVENT_RECORD MouseEvent;
218 WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent;
219 MENU_EVENT_RECORD MenuEvent;
220 FOCUS_EVENT_RECORD FocusEvent;
221 } Event;
222 } INPUT_RECORD,*PINPUT_RECORD;
223
224 #if (_WIN32_WINNT >= 0x0600)
225 typedef struct _CONSOLE_HISTORY_INFO {
226 UINT cbSize;
227 UINT HistoryBufferSize;
228 UINT NumberOfHistoryBuffers;
229 DWORD dwFlags;
230 } CONSOLE_HISTORY_INFO, *PCONSOLE_HISTORY_INFO;
231
232 typedef struct _CONSOLE_SCREEN_BUFFER_INFOEX {
233 ULONG cbSize;
234 COORD dwSize;
235 COORD dwCursorPosition;
236 WORD wAttributes;
237 SMALL_RECT srWindow;
238 COORD dwMaximumWindowSize;
239 WORD wPopupAttributes;
240 COLORREF ColorTable[16];
241 } CONSOLE_SCREEN_BUFFER_INFOEX, *PCONSOLE_SCREEN_BUFFER_INFOEX;
242
243 #ifndef NOGDI
244 typedef struct _CONSOLE_FONT_INFOEX {
245 ULONG cbSize;
246 DWORD nFont;
247 COORD dwFontSize;
248 UINT FontFamily;
249 UINT FontWeight;
250 WCHAR FaceName[LF_FACESIZE];
251 } CONSOLE_FONT_INFOEX, *PCONSOLE_FONT_INFOEX;
252 #endif
253 #endif
254
255 BOOL WINAPI AllocConsole(VOID);
256
257 #if (_WIN32_WINNT >= 0x0501)
258 BOOL WINAPI AttachConsole(_In_ DWORD);
259
260 BOOL WINAPI AddConsoleAliasA(_In_ LPCSTR, _In_ LPCSTR, _In_ LPCSTR);
261 BOOL WINAPI AddConsoleAliasW(_In_ LPCWSTR, _In_ LPCWSTR, _In_ LPCWSTR);
262
263 DWORD
264 WINAPI
265 GetConsoleAliasA(
266 _In_ LPSTR Source,
267 _Out_writes_(TargetBufferLength) LPSTR TargetBuffer,
268 _In_ DWORD TargetBufferLength,
269 _In_ LPSTR ExeName);
270
271 DWORD
272 WINAPI
273 GetConsoleAliasW(
274 _In_ LPWSTR Source,
275 _Out_writes_(TargetBufferLength) LPWSTR TargetBuffer,
276 _In_ DWORD TargetBufferLength,
277 _In_ LPWSTR ExeName);
278
279 DWORD
280 WINAPI
281 GetConsoleAliasesA(
282 _Out_writes_(AliasBufferLength) LPSTR AliasBuffer,
283 _In_ DWORD AliasBufferLength,
284 _In_ LPSTR ExeName);
285
286 DWORD
287 WINAPI
288 GetConsoleAliasesW(
289 _Out_writes_(AliasBufferLength) LPWSTR AliasBuffer,
290 _In_ DWORD AliasBufferLength,
291 _In_ LPWSTR ExeName);
292
293 DWORD WINAPI GetConsoleAliasesLengthA(_In_ LPSTR ExeName);
294 DWORD WINAPI GetConsoleAliasesLengthW(_In_ LPWSTR ExeName);
295
296 DWORD
297 WINAPI
298 GetConsoleAliasExesA(
299 _Out_writes_(ExeNameBufferLength) LPSTR ExeNameBuffer,
300 _In_ DWORD ExeNameBufferLength);
301
302 DWORD
303 WINAPI
304 GetConsoleAliasExesW(
305 _Out_writes_(ExeNameBufferLength) LPWSTR ExeNameBuffer,
306 _In_ DWORD ExeNameBufferLength);
307
308 DWORD WINAPI GetConsoleAliasExesLengthA(VOID);
309 DWORD WINAPI GetConsoleAliasExesLengthW(VOID);
310 #endif
311
312 HANDLE WINAPI CreateConsoleScreenBuffer(_In_ DWORD, _In_ DWORD, _In_opt_ CONST SECURITY_ATTRIBUTES*, _In_ DWORD, _Reserved_ LPVOID);
313 BOOL WINAPI FillConsoleOutputAttribute(_In_ HANDLE, _In_ WORD, _In_ DWORD, _In_ COORD, _Out_ PDWORD);
314 BOOL WINAPI FillConsoleOutputCharacterA(_In_ HANDLE, _In_ CHAR, _In_ DWORD, _In_ COORD, _Out_ PDWORD);
315 BOOL WINAPI FillConsoleOutputCharacterW(_In_ HANDLE, _In_ WCHAR, _In_ DWORD, _In_ COORD, _Out_ PDWORD);
316 BOOL WINAPI FlushConsoleInputBuffer(_In_ HANDLE);
317 BOOL WINAPI FreeConsole(VOID);
318 BOOL WINAPI GenerateConsoleCtrlEvent(_In_ DWORD, _In_ DWORD);
319 UINT WINAPI GetConsoleCP(VOID);
320 BOOL WINAPI GetConsoleCursorInfo(_In_ HANDLE, _Out_ PCONSOLE_CURSOR_INFO);
321 BOOL WINAPI GetConsoleMode(HANDLE,PDWORD);
322 UINT WINAPI GetConsoleOutputCP(VOID);
323 BOOL WINAPI GetConsoleScreenBufferInfo(_In_ HANDLE, _Out_ PCONSOLE_SCREEN_BUFFER_INFO);
324
325 DWORD
326 WINAPI
327 GetConsoleTitleA(
328 _Out_writes_(nSize) LPSTR lpConsoleTitle,
329 _In_ DWORD nSize);
330
331 DWORD
332 WINAPI
333 GetConsoleTitleW(
334 _Out_writes_(nSize) LPWSTR lpConsoleTitle,
335 _In_ DWORD nSize);
336
337 #if (_WIN32_WINNT >= 0x0500)
338 HWND WINAPI GetConsoleWindow(VOID);
339 BOOL APIENTRY GetConsoleDisplayMode(_Out_ LPDWORD lpModeFlags);
340 BOOL APIENTRY SetConsoleDisplayMode(_In_ HANDLE hConsoleOutput, _In_ DWORD dwFlags, _Out_opt_ PCOORD lpNewScreenBufferDimensions);
341 #endif
342 COORD WINAPI GetLargestConsoleWindowSize(_In_ HANDLE);
343 BOOL WINAPI GetNumberOfConsoleInputEvents(HANDLE,PDWORD);
344 BOOL WINAPI GetNumberOfConsoleMouseButtons(_Out_ PDWORD);
345 BOOL WINAPI PeekConsoleInputA(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
346
347 BOOL
348 WINAPI
349 PeekConsoleInputW(
350 _In_ HANDLE hConsoleInput,
351 _Out_writes_(nLength) PINPUT_RECORD lpBuffer,
352 _In_ DWORD nLength,
353 _Out_ LPDWORD lpNumberOfEventsRead);
354
355 BOOL WINAPI ReadConsoleA(HANDLE,PVOID,DWORD,PDWORD,PCONSOLE_READCONSOLE_CONTROL);
356 BOOL WINAPI ReadConsoleW(HANDLE,PVOID,DWORD,PDWORD,PCONSOLE_READCONSOLE_CONTROL);
357 BOOL WINAPI ReadConsoleInputA(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
358 BOOL WINAPI ReadConsoleInputW(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
359
360 BOOL
361 WINAPI
362 ReadConsoleOutputAttribute(
363 _In_ HANDLE hConsoleOutput,
364 _Out_writes_(nLength) LPWORD lpAttribute,
365 _In_ DWORD nLength,
366 _In_ COORD dwReadCoord,
367 _Out_ LPDWORD lpNumberOfAttrsRead);
368
369 BOOL
370 WINAPI
371 ReadConsoleOutputCharacterA(
372 _In_ HANDLE hConsoleOutput,
373 _Out_writes_(nLength) LPSTR lpCharacter,
374 _In_ DWORD nLength,
375 _In_ COORD dwReadCoord,
376 _Out_ LPDWORD lpNumberOfCharsRead);
377
378 BOOL
379 WINAPI
380 ReadConsoleOutputCharacterW(
381 _In_ HANDLE hConsoleOutput,
382 _Out_writes_(nLength) LPWSTR lpCharacter,
383 _In_ DWORD nLength,
384 _In_ COORD dwReadCoord,
385 _Out_ LPDWORD lpNumberOfCharsRead);
386
387 BOOL
388 WINAPI
389 ReadConsoleOutputA(
390 _In_ HANDLE hConsoleOutput,
391 _Out_writes_(dwBufferSize.X * dwBufferSize.Y) PCHAR_INFO lpBuffer,
392 _In_ COORD dwBufferSize,
393 _In_ COORD dwBufferCoord,
394 _Inout_ PSMALL_RECT lpReadRegion);
395
396 BOOL
397 WINAPI
398 ReadConsoleOutputW(
399 _In_ HANDLE hConsoleOutput,
400 _Out_writes_(dwBufferSize.X * dwBufferSize.Y) PCHAR_INFO lpBuffer,
401 _In_ COORD dwBufferSize,
402 _In_ COORD dwBufferCoord,
403 _Inout_ PSMALL_RECT lpReadRegion);
404
405 BOOL WINAPI ScrollConsoleScreenBufferA(_In_ HANDLE, _In_ const SMALL_RECT*, _In_opt_ const SMALL_RECT*, _In_ COORD, _In_ const CHAR_INFO*);
406 BOOL WINAPI ScrollConsoleScreenBufferW(_In_ HANDLE, _In_ const SMALL_RECT*, _In_opt_ const SMALL_RECT*, _In_ COORD, _In_ const CHAR_INFO*);
407 BOOL WINAPI SetConsoleActiveScreenBuffer(_In_ HANDLE);
408 BOOL WINAPI SetConsoleCP(_In_ UINT);
409 BOOL WINAPI SetConsoleCtrlHandler(PHANDLER_ROUTINE,BOOL);
410 BOOL WINAPI SetConsoleCursorInfo(_In_ HANDLE, _In_ const CONSOLE_CURSOR_INFO*);
411 BOOL WINAPI SetConsoleCursorPosition(_In_ HANDLE, _In_ COORD);
412 BOOL WINAPI SetConsoleMode(HANDLE,DWORD);
413 BOOL WINAPI SetConsoleOutputCP(_In_ UINT);
414 BOOL WINAPI SetConsoleScreenBufferSize(_In_ HANDLE, _In_ COORD);
415 BOOL WINAPI SetConsoleTextAttribute(_In_ HANDLE, _In_ WORD);
416 BOOL WINAPI SetConsoleTitleA(_In_ LPCSTR);
417 BOOL WINAPI SetConsoleTitleW(_In_ LPCWSTR);
418 BOOL WINAPI SetConsoleWindowInfo(_In_ HANDLE, _In_ BOOL, _In_ const SMALL_RECT*);
419 BOOL WINAPI WriteConsoleA(HANDLE,CONST VOID*,DWORD,LPDWORD,LPVOID);
420 BOOL WINAPI WriteConsoleW(HANDLE,CONST VOID*,DWORD,LPDWORD,LPVOID);
421
422 BOOL
423 WINAPI
424 WriteConsoleInputA(
425 _In_ HANDLE hConsoleInput,
426 _In_reads_(nLength) CONST INPUT_RECORD *lpBuffer,
427 _In_ DWORD nLength,
428 _Out_ LPDWORD lpNumberOfEventsWritten);
429
430 BOOL
431 WINAPI
432 WriteConsoleInputW(
433 _In_ HANDLE hConsoleInput,
434 _In_reads_(nLength) CONST INPUT_RECORD *lpBuffer,
435 _In_ DWORD nLength,
436 _Out_ LPDWORD lpNumberOfEventsWritten);
437
438 BOOL
439 WINAPI
440 WriteConsoleOutputA(
441 _In_ HANDLE hConsoleOutput,
442 _In_reads_(dwBufferSize.X * dwBufferSize.Y) CONST CHAR_INFO *lpBuffer,
443 _In_ COORD dwBufferSize,
444 _In_ COORD dwBufferCoord,
445 _Inout_ PSMALL_RECT lpWriteRegion);
446
447 BOOL
448 WINAPI
449 WriteConsoleOutputW(
450 _In_ HANDLE hConsoleOutput,
451 _In_reads_(dwBufferSize.X * dwBufferSize.Y) CONST CHAR_INFO *lpBuffer,
452 _In_ COORD dwBufferSize,
453 _In_ COORD dwBufferCoord,
454 _Inout_ PSMALL_RECT lpWriteRegion);
455
456 BOOL
457 WINAPI
458 WriteConsoleOutputAttribute(
459 _In_ HANDLE hConsoleOutput,
460 _In_reads_(nLength) CONST WORD *lpAttribute,
461 _In_ DWORD nLength,
462 _In_ COORD dwWriteCoord,
463 _Out_ LPDWORD lpNumberOfAttrsWritten);
464
465 BOOL
466 WINAPI
467 WriteConsoleOutputCharacterA(
468 _In_ HANDLE hConsoleOutput,
469 _In_reads_(nLength) LPCSTR lpCharacter,
470 _In_ DWORD nLength,
471 _In_ COORD dwWriteCoord,
472 _Out_ LPDWORD lpNumberOfCharsWritten);
473
474 BOOL
475 WINAPI
476 WriteConsoleOutputCharacterW(
477 _In_ HANDLE hConsoleOutput,
478 _In_reads_(nLength) LPCWSTR lpCharacter,
479 _In_ DWORD nLength,
480 _In_ COORD dwWriteCoord,
481 _Out_ LPDWORD lpNumberOfCharsWritten);
482
483
484 #ifdef UNICODE
485 #define AddConsoleAlias AddConsoleAliasW
486 #define GetConsoleAlias GetConsoleAliasW
487 #define GetConsoleAliases GetConsoleAliasesW
488 #define GetConsoleAliasesLength GetConsoleAliasesLengthW
489 #define GetConsoleAliasExes GetConsoleAliasExesW
490 #define GetConsoleAliasExesLength GetConsoleAliasExesLengthW
491 #define GetConsoleTitle GetConsoleTitleW
492 #define PeekConsoleInput PeekConsoleInputW
493 #define ReadConsole ReadConsoleW
494 #define ReadConsoleInput ReadConsoleInputW
495 #define ReadConsoleOutput ReadConsoleOutputW
496 #define ReadConsoleOutputCharacter ReadConsoleOutputCharacterW
497 #define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferW
498 #define SetConsoleTitle SetConsoleTitleW
499 #define WriteConsole WriteConsoleW
500 #define WriteConsoleInput WriteConsoleInputW
501 #define WriteConsoleOutput WriteConsoleOutputW
502 #define FillConsoleOutputCharacter FillConsoleOutputCharacterW
503 #define WriteConsoleOutputCharacter WriteConsoleOutputCharacterW
504 #else
505 #define AddConsoleAlias AddConsoleAliasA
506 #define GetConsoleAlias GetConsoleAliasA
507 #define GetConsoleAliases GetConsoleAliasesA
508 #define GetConsoleAliasesLength GetConsoleAliasesLengthA
509 #define GetConsoleAliasExes GetConsoleAliasExesA
510 #define GetConsoleAliasExesLength GetConsoleAliasExesLengthA
511 #define GetConsoleTitle GetConsoleTitleA
512 #define PeekConsoleInput PeekConsoleInputA
513 #define ReadConsole ReadConsoleA
514 #define ReadConsoleInput ReadConsoleInputA
515 #define ReadConsoleOutput ReadConsoleOutputA
516 #define ReadConsoleOutputCharacter ReadConsoleOutputCharacterA
517 #define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferA
518 #define SetConsoleTitle SetConsoleTitleA
519 #define WriteConsole WriteConsoleA
520 #define WriteConsoleInput WriteConsoleInputA
521 #define WriteConsoleOutput WriteConsoleOutputA
522 #define FillConsoleOutputCharacter FillConsoleOutputCharacterA
523 #define WriteConsoleOutputCharacter WriteConsoleOutputCharacterA
524 #endif
525
526 #ifdef _MSC_VER
527 #pragma warning(pop)
528 #endif
529
530 #ifdef __cplusplus
531 }
532 #endif
533 #endif