1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef _WINCON_ 7 #define _WINCON_ 8 9 #include <_mingw_unicode.h> 10 11 #ifdef __cplusplus 12 extern "C" { 13 #endif 14 15 typedef struct _COORD { 16 SHORT X; 17 SHORT Y; 18 } COORD,*PCOORD; 19 20 typedef struct _SMALL_RECT { 21 SHORT Left; 22 SHORT Top; 23 SHORT Right; 24 SHORT Bottom; 25 } SMALL_RECT,*PSMALL_RECT; 26 27 typedef struct _KEY_EVENT_RECORD { 28 WINBOOL bKeyDown; 29 WORD wRepeatCount; 30 WORD wVirtualKeyCode; 31 WORD wVirtualScanCode; 32 union { 33 WCHAR UnicodeChar; 34 CHAR AsciiChar; 35 } uChar; 36 DWORD dwControlKeyState; 37 } KEY_EVENT_RECORD,*PKEY_EVENT_RECORD; 38 39 #define RIGHT_ALT_PRESSED 0x1 40 #define LEFT_ALT_PRESSED 0x2 41 #define RIGHT_CTRL_PRESSED 0x4 42 #define LEFT_CTRL_PRESSED 0x8 43 #define SHIFT_PRESSED 0x10 44 #define NUMLOCK_ON 0x20 45 #define SCROLLLOCK_ON 0x40 46 #define CAPSLOCK_ON 0x80 47 #define ENHANCED_KEY 0x100 48 #define NLS_DBCSCHAR 0x10000 49 #define NLS_ALPHANUMERIC 0x0 50 #define NLS_KATAKANA 0x20000 51 #define NLS_HIRAGANA 0x40000 52 #define NLS_ROMAN 0x400000 53 #define NLS_IME_CONVERSION 0x800000 54 #define NLS_IME_DISABLE 0x20000000 55 56 typedef struct _MOUSE_EVENT_RECORD { 57 COORD dwMousePosition; 58 DWORD dwButtonState; 59 DWORD dwControlKeyState; 60 DWORD dwEventFlags; 61 } MOUSE_EVENT_RECORD,*PMOUSE_EVENT_RECORD; 62 63 #define FROM_LEFT_1ST_BUTTON_PRESSED 0x1 64 #define RIGHTMOST_BUTTON_PRESSED 0x2 65 #define FROM_LEFT_2ND_BUTTON_PRESSED 0x4 66 #define FROM_LEFT_3RD_BUTTON_PRESSED 0x8 67 #define FROM_LEFT_4TH_BUTTON_PRESSED 0x10 68 69 #define MOUSE_MOVED 0x1 70 #define DOUBLE_CLICK 0x2 71 #define MOUSE_WHEELED 0x4 72 #if (_WIN32_WINNT >= 0x0600) 73 #define MOUSE_HWHEELED 0x8 74 #endif 75 76 typedef struct _WINDOW_BUFFER_SIZE_RECORD { 77 COORD dwSize; 78 } WINDOW_BUFFER_SIZE_RECORD,*PWINDOW_BUFFER_SIZE_RECORD; 79 80 typedef struct _MENU_EVENT_RECORD { 81 UINT dwCommandId; 82 } MENU_EVENT_RECORD,*PMENU_EVENT_RECORD; 83 84 typedef struct _FOCUS_EVENT_RECORD { 85 WINBOOL bSetFocus; 86 } FOCUS_EVENT_RECORD,*PFOCUS_EVENT_RECORD; 87 88 typedef struct _INPUT_RECORD { 89 WORD EventType; 90 union { 91 KEY_EVENT_RECORD KeyEvent; 92 MOUSE_EVENT_RECORD MouseEvent; 93 WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent; 94 MENU_EVENT_RECORD MenuEvent; 95 FOCUS_EVENT_RECORD FocusEvent; 96 } Event; 97 } INPUT_RECORD,*PINPUT_RECORD; 98 99 #define KEY_EVENT 0x1 100 #define MOUSE_EVENT 0x2 101 #define WINDOW_BUFFER_SIZE_EVENT 0x4 102 #define MENU_EVENT 0x8 103 #define FOCUS_EVENT 0x10 104 105 typedef struct _CHAR_INFO { 106 union { 107 WCHAR UnicodeChar; 108 CHAR AsciiChar; 109 } Char; 110 WORD Attributes; 111 } CHAR_INFO,*PCHAR_INFO; 112 113 #define FOREGROUND_BLUE 0x1 114 #define FOREGROUND_GREEN 0x2 115 #define FOREGROUND_RED 0x4 116 #define FOREGROUND_INTENSITY 0x8 117 #define BACKGROUND_BLUE 0x10 118 #define BACKGROUND_GREEN 0x20 119 #define BACKGROUND_RED 0x40 120 #define BACKGROUND_INTENSITY 0x80 121 #define COMMON_LVB_LEADING_BYTE 0x100 122 #define COMMON_LVB_TRAILING_BYTE 0x200 123 #define COMMON_LVB_GRID_HORIZONTAL 0x400 124 #define COMMON_LVB_GRID_LVERTICAL 0x800 125 #define COMMON_LVB_GRID_RVERTICAL 0x1000 126 #define COMMON_LVB_REVERSE_VIDEO 0x4000 127 #define COMMON_LVB_UNDERSCORE 0x8000 128 129 #define COMMON_LVB_SBCSDBCS 0x300 130 131 typedef struct _CONSOLE_SCREEN_BUFFER_INFO { 132 COORD dwSize; 133 COORD dwCursorPosition; 134 WORD wAttributes; 135 SMALL_RECT srWindow; 136 COORD dwMaximumWindowSize; 137 } CONSOLE_SCREEN_BUFFER_INFO,*PCONSOLE_SCREEN_BUFFER_INFO; 138 139 typedef struct _CONSOLE_CURSOR_INFO { 140 DWORD dwSize; 141 WINBOOL bVisible; 142 } CONSOLE_CURSOR_INFO,*PCONSOLE_CURSOR_INFO; 143 144 typedef struct _CONSOLE_FONT_INFO { 145 DWORD nFont; 146 COORD dwFontSize; 147 } CONSOLE_FONT_INFO,*PCONSOLE_FONT_INFO; 148 149 typedef struct _CONSOLE_SELECTION_INFO { 150 DWORD dwFlags; 151 COORD dwSelectionAnchor; 152 SMALL_RECT srSelection; 153 } CONSOLE_SELECTION_INFO,*PCONSOLE_SELECTION_INFO; 154 155 #define CONSOLE_NO_SELECTION 0x0 156 #define CONSOLE_SELECTION_IN_PROGRESS 0x1 157 #define CONSOLE_SELECTION_NOT_EMPTY 0x2 158 #define CONSOLE_MOUSE_SELECTION 0x4 159 #define CONSOLE_MOUSE_DOWN 0x8 160 161 typedef WINBOOL (WINAPI *PHANDLER_ROUTINE)(DWORD CtrlType); 162 163 #define CTRL_C_EVENT 0 164 #define CTRL_BREAK_EVENT 1 165 #define CTRL_CLOSE_EVENT 2 166 167 #define CTRL_LOGOFF_EVENT 5 168 #define CTRL_SHUTDOWN_EVENT 6 169 170 #define ENABLE_PROCESSED_INPUT 0x1 171 #define ENABLE_LINE_INPUT 0x2 172 #define ENABLE_ECHO_INPUT 0x4 173 #define ENABLE_WINDOW_INPUT 0x8 174 #define ENABLE_MOUSE_INPUT 0x10 175 #define ENABLE_INSERT_MODE 0x20 176 #define ENABLE_QUICK_EDIT_MODE 0x40 177 #define ENABLE_EXTENDED_FLAGS 0x80 178 #define ENABLE_AUTO_POSITION 0x100 179 180 #define ENABLE_PROCESSED_OUTPUT 0x1 181 #define ENABLE_WRAP_AT_EOL_OUTPUT 0x2 182 183 #define PeekConsoleInput __MINGW_NAME_AW(PeekConsoleInput) 184 #define ReadConsoleInput __MINGW_NAME_AW(ReadConsoleInput) 185 #define WriteConsoleInput __MINGW_NAME_AW(WriteConsoleInput) 186 #define ReadConsoleOutput __MINGW_NAME_AW(ReadConsoleOutput) 187 #define WriteConsoleOutput __MINGW_NAME_AW(WriteConsoleOutput) 188 #define ReadConsoleOutputCharacter __MINGW_NAME_AW(ReadConsoleOutputCharacter) 189 #define WriteConsoleOutputCharacter __MINGW_NAME_AW(WriteConsoleOutputCharacter) 190 #define FillConsoleOutputCharacter __MINGW_NAME_AW(FillConsoleOutputCharacter) 191 #define ScrollConsoleScreenBuffer __MINGW_NAME_AW(ScrollConsoleScreenBuffer) 192 #define GetConsoleTitle __MINGW_NAME_AW(GetConsoleTitle) 193 #define SetConsoleTitle __MINGW_NAME_AW(SetConsoleTitle) 194 #define ReadConsole __MINGW_NAME_AW(ReadConsole) 195 #define WriteConsole __MINGW_NAME_AW(WriteConsole) 196 #define AddConsoleAlias __MINGW_NAME_AW(AddConsoleAlias) 197 #define GetConsoleAlias __MINGW_NAME_AW(GetConsoleAlias) 198 #define GetConsoleAliasesLength __MINGW_NAME_AW(GetConsoleAliasesLength) 199 #define GetConsoleAliasExesLength __MINGW_NAME_AW(GetConsoleAliasExesLength) 200 #define GetConsoleAliases __MINGW_NAME_AW(GetConsoleAliases) 201 #define GetConsoleAliasExes __MINGW_NAME_AW(GetConsoleAliasExes) 202 203 WINBASEAPI WINBOOL WINAPI PeekConsoleInputA(HANDLE hConsoleInput,PINPUT_RECORD lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsRead); 204 WINBASEAPI WINBOOL WINAPI PeekConsoleInputW(HANDLE hConsoleInput,PINPUT_RECORD lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsRead); 205 WINBASEAPI WINBOOL WINAPI ReadConsoleInputA(HANDLE hConsoleInput,PINPUT_RECORD lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsRead); 206 WINBASEAPI WINBOOL WINAPI ReadConsoleInputW(HANDLE hConsoleInput,PINPUT_RECORD lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsRead); 207 WINBASEAPI WINBOOL WINAPI WriteConsoleInputA(HANDLE hConsoleInput,CONST INPUT_RECORD *lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsWritten); 208 WINBASEAPI WINBOOL WINAPI WriteConsoleInputW(HANDLE hConsoleInput,CONST INPUT_RECORD *lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsWritten); 209 WINBASEAPI WINBOOL WINAPI ReadConsoleOutputA(HANDLE hConsoleOutput,PCHAR_INFO lpBuffer,COORD dwBufferSize,COORD dwBufferCoord,PSMALL_RECT lpReadRegion); 210 WINBASEAPI WINBOOL WINAPI ReadConsoleOutputW(HANDLE hConsoleOutput,PCHAR_INFO lpBuffer,COORD dwBufferSize,COORD dwBufferCoord,PSMALL_RECT lpReadRegion); 211 WINBASEAPI WINBOOL WINAPI WriteConsoleOutputA(HANDLE hConsoleOutput,CONST CHAR_INFO *lpBuffer,COORD dwBufferSize,COORD dwBufferCoord,PSMALL_RECT lpWriteRegion); 212 WINBASEAPI WINBOOL WINAPI WriteConsoleOutputW(HANDLE hConsoleOutput,CONST CHAR_INFO *lpBuffer,COORD dwBufferSize,COORD dwBufferCoord,PSMALL_RECT lpWriteRegion); 213 WINBASEAPI WINBOOL WINAPI ReadConsoleOutputCharacterA(HANDLE hConsoleOutput,LPSTR lpCharacter,DWORD nLength,COORD dwReadCoord,LPDWORD lpNumberOfCharsRead); 214 WINBASEAPI WINBOOL WINAPI ReadConsoleOutputCharacterW(HANDLE hConsoleOutput,LPWSTR lpCharacter,DWORD nLength,COORD dwReadCoord,LPDWORD lpNumberOfCharsRead); 215 WINBASEAPI WINBOOL WINAPI ReadConsoleOutputAttribute(HANDLE hConsoleOutput,LPWORD lpAttribute,DWORD nLength,COORD dwReadCoord,LPDWORD lpNumberOfAttrsRead); 216 WINBASEAPI WINBOOL WINAPI WriteConsoleOutputCharacterA(HANDLE hConsoleOutput,LPCSTR lpCharacter,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfCharsWritten); 217 WINBASEAPI WINBOOL WINAPI WriteConsoleOutputCharacterW(HANDLE hConsoleOutput,LPCWSTR lpCharacter,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfCharsWritten); 218 WINBASEAPI WINBOOL WINAPI WriteConsoleOutputAttribute(HANDLE hConsoleOutput,CONST WORD *lpAttribute,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfAttrsWritten); 219 WINBASEAPI WINBOOL WINAPI FillConsoleOutputCharacterA(HANDLE hConsoleOutput,CHAR cCharacter,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfCharsWritten); 220 WINBASEAPI WINBOOL WINAPI FillConsoleOutputCharacterW(HANDLE hConsoleOutput,WCHAR cCharacter,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfCharsWritten); 221 WINBASEAPI WINBOOL WINAPI FillConsoleOutputAttribute(HANDLE hConsoleOutput,WORD wAttribute,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfAttrsWritten); 222 WINBASEAPI WINBOOL WINAPI GetConsoleMode(HANDLE hConsoleHandle,LPDWORD lpMode); 223 WINBASEAPI WINBOOL WINAPI GetNumberOfConsoleInputEvents(HANDLE hConsoleInput,LPDWORD lpNumberOfEvents); 224 WINBASEAPI WINBOOL WINAPI GetConsoleScreenBufferInfo(HANDLE hConsoleOutput,PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo); 225 WINBASEAPI COORD WINAPI GetLargestConsoleWindowSize(HANDLE hConsoleOutput); 226 WINBASEAPI WINBOOL WINAPI GetConsoleCursorInfo(HANDLE hConsoleOutput,PCONSOLE_CURSOR_INFO lpConsoleCursorInfo); 227 WINBASEAPI WINBOOL WINAPI GetCurrentConsoleFont(HANDLE hConsoleOutput,WINBOOL bMaximumWindow,PCONSOLE_FONT_INFO lpConsoleCurrentFont); 228 WINBASEAPI COORD WINAPI GetConsoleFontSize(HANDLE hConsoleOutput,DWORD nFont); 229 WINBASEAPI WINBOOL WINAPI GetConsoleSelectionInfo(PCONSOLE_SELECTION_INFO lpConsoleSelectionInfo); 230 WINBASEAPI WINBOOL WINAPI GetNumberOfConsoleMouseButtons(LPDWORD lpNumberOfMouseButtons); 231 WINBASEAPI WINBOOL WINAPI SetConsoleMode(HANDLE hConsoleHandle,DWORD dwMode); 232 WINBASEAPI WINBOOL WINAPI SetConsoleActiveScreenBuffer(HANDLE hConsoleOutput); 233 WINBASEAPI WINBOOL WINAPI FlushConsoleInputBuffer(HANDLE hConsoleInput); 234 WINBASEAPI WINBOOL WINAPI SetConsoleScreenBufferSize(HANDLE hConsoleOutput,COORD dwSize); 235 WINBASEAPI WINBOOL WINAPI SetConsoleCursorPosition(HANDLE hConsoleOutput,COORD dwCursorPosition); 236 WINBASEAPI WINBOOL WINAPI SetConsoleCursorInfo(HANDLE hConsoleOutput,CONST CONSOLE_CURSOR_INFO *lpConsoleCursorInfo); 237 WINBASEAPI WINBOOL WINAPI ScrollConsoleScreenBufferA(HANDLE hConsoleOutput,CONST SMALL_RECT *lpScrollRectangle,CONST SMALL_RECT *lpClipRectangle,COORD dwDestinationOrigin,CONST CHAR_INFO *lpFill); 238 WINBASEAPI WINBOOL WINAPI ScrollConsoleScreenBufferW(HANDLE hConsoleOutput,CONST SMALL_RECT *lpScrollRectangle,CONST SMALL_RECT *lpClipRectangle,COORD dwDestinationOrigin,CONST CHAR_INFO *lpFill); 239 WINBASEAPI WINBOOL WINAPI SetConsoleWindowInfo(HANDLE hConsoleOutput,WINBOOL bAbsolute,CONST SMALL_RECT *lpConsoleWindow); 240 WINBASEAPI WINBOOL WINAPI SetConsoleTextAttribute(HANDLE hConsoleOutput,WORD wAttributes); 241 WINBASEAPI WINBOOL WINAPI SetConsoleCtrlHandler(PHANDLER_ROUTINE HandlerRoutine,WINBOOL Add); 242 WINBASEAPI WINBOOL WINAPI GenerateConsoleCtrlEvent(DWORD dwCtrlEvent,DWORD dwProcessGroupId); 243 WINBASEAPI WINBOOL WINAPI AllocConsole(VOID); 244 WINBASEAPI WINBOOL WINAPI FreeConsole(VOID); 245 WINBASEAPI WINBOOL WINAPI AttachConsole(DWORD dwProcessId); 246 247 #define ATTACH_PARENT_PROCESS ((DWORD)-1) 248 249 WINBASEAPI DWORD WINAPI GetConsoleTitleA(LPSTR lpConsoleTitle,DWORD nSize); 250 WINBASEAPI DWORD WINAPI GetConsoleTitleW(LPWSTR lpConsoleTitle,DWORD nSize); 251 WINBASEAPI WINBOOL WINAPI SetConsoleTitleA(LPCSTR lpConsoleTitle); 252 WINBASEAPI WINBOOL WINAPI SetConsoleTitleW(LPCWSTR lpConsoleTitle); 253 WINBASEAPI WINBOOL WINAPI ReadConsoleA(HANDLE hConsoleInput,LPVOID lpBuffer,DWORD nNumberOfCharsToRead,LPDWORD lpNumberOfCharsRead,LPVOID lpReserved); 254 WINBASEAPI WINBOOL WINAPI ReadConsoleW(HANDLE hConsoleInput,LPVOID lpBuffer,DWORD nNumberOfCharsToRead,LPDWORD lpNumberOfCharsRead,LPVOID lpReserved); 255 WINBASEAPI WINBOOL WINAPI WriteConsoleA(HANDLE hConsoleOutput,CONST VOID *lpBuffer,DWORD nNumberOfCharsToWrite,LPDWORD lpNumberOfCharsWritten,LPVOID lpReserved); 256 WINBASEAPI WINBOOL WINAPI WriteConsoleW(HANDLE hConsoleOutput,CONST VOID *lpBuffer,DWORD nNumberOfCharsToWrite,LPDWORD lpNumberOfCharsWritten,LPVOID lpReserved); 257 258 #define CONSOLE_TEXTMODE_BUFFER 1 259 260 WINBASEAPI HANDLE WINAPI CreateConsoleScreenBuffer(DWORD dwDesiredAccess,DWORD dwShareMode,CONST SECURITY_ATTRIBUTES *lpSecurityAttributes,DWORD dwFlags,LPVOID lpScreenBufferData); 261 WINBASEAPI UINT WINAPI GetConsoleCP(VOID); 262 WINBASEAPI WINBOOL WINAPI SetConsoleCP(UINT wCodePageID); 263 WINBASEAPI UINT WINAPI GetConsoleOutputCP(VOID); 264 WINBASEAPI WINBOOL WINAPI SetConsoleOutputCP(UINT wCodePageID); 265 266 #define CONSOLE_FULLSCREEN 1 267 #define CONSOLE_FULLSCREEN_HARDWARE 2 268 WINBASEAPI WINBOOL WINAPI GetConsoleDisplayMode(LPDWORD lpModeFlags); 269 270 #define CONSOLE_FULLSCREEN_MODE 1 271 #define CONSOLE_WINDOWED_MODE 2 272 WINBASEAPI WINBOOL WINAPI SetConsoleDisplayMode(HANDLE hConsoleOutput, DWORD dwFlags, PCOORD lpNewScreenBufferDimensions); 273 274 WINBASEAPI HWND WINAPI GetConsoleWindow(VOID); 275 WINBASEAPI DWORD WINAPI GetConsoleProcessList(LPDWORD lpdwProcessList,DWORD dwProcessCount); 276 WINBASEAPI WINBOOL WINAPI AddConsoleAliasA(LPSTR Source,LPSTR Target,LPSTR ExeName); 277 WINBASEAPI WINBOOL WINAPI AddConsoleAliasW(LPWSTR Source,LPWSTR Target,LPWSTR ExeName); 278 WINBASEAPI DWORD WINAPI GetConsoleAliasA(LPSTR Source,LPSTR TargetBuffer,DWORD TargetBufferLength,LPSTR ExeName); 279 WINBASEAPI DWORD WINAPI GetConsoleAliasW(LPWSTR Source,LPWSTR TargetBuffer,DWORD TargetBufferLength,LPWSTR ExeName); 280 WINBASEAPI DWORD WINAPI GetConsoleAliasesLengthA(LPSTR ExeName); 281 WINBASEAPI DWORD WINAPI GetConsoleAliasesLengthW(LPWSTR ExeName); 282 WINBASEAPI DWORD WINAPI GetConsoleAliasExesLengthA(VOID); 283 WINBASEAPI DWORD WINAPI GetConsoleAliasExesLengthW(VOID); 284 WINBASEAPI DWORD WINAPI GetConsoleAliasesA(LPSTR AliasBuffer,DWORD AliasBufferLength,LPSTR ExeName); 285 WINBASEAPI DWORD WINAPI GetConsoleAliasesW(LPWSTR AliasBuffer,DWORD AliasBufferLength,LPWSTR ExeName); 286 WINBASEAPI DWORD WINAPI GetConsoleAliasExesA(LPSTR ExeNameBuffer,DWORD ExeNameBufferLength); 287 WINBASEAPI DWORD WINAPI GetConsoleAliasExesW(LPWSTR ExeNameBuffer,DWORD ExeNameBufferLength); 288 289 #ifndef LF_FACESIZE 290 #define LF_FACESIZE 32 291 #endif 292 293 typedef struct _CONSOLE_FONT_INFOEX { 294 ULONG cbSize; 295 DWORD nFont; 296 COORD dwFontSize; 297 UINT FontFamily; 298 UINT FontWeight; 299 WCHAR FaceName[LF_FACESIZE]; 300 } CONSOLE_FONT_INFOEX, *PCONSOLE_FONT_INFOEX; 301 302 typedef struct _CONSOLE_HISTORY_INFO { 303 UINT cbSize; 304 UINT HistoryBufferSize; 305 UINT NumberOfHistoryBuffers; 306 DWORD dwFlags; 307 } CONSOLE_HISTORY_INFO, *PCONSOLE_HISTORY_INFO; 308 309 typedef struct _CONSOLE_READCONSOLE_CONTROL { 310 ULONG nLength; 311 ULONG nInitialChars; 312 ULONG dwCtrlWakeupMask; 313 ULONG dwControlKeyState; 314 } CONSOLE_READCONSOLE_CONTROL, *PCONSOLE_READCONSOLE_CONTROL; 315 316 typedef struct _CONSOLE_SCREEN_BUFFER_INFOEX { 317 ULONG cbSize; 318 COORD dwSize; 319 COORD dwCursorPosition; 320 WORD wAttributes; 321 SMALL_RECT srWindow; 322 COORD dwMaximumWindowSize; 323 WORD wPopupAttributes; 324 BOOL bFullscreenSupported; 325 COLORREF ColorTable[16]; 326 } CONSOLE_SCREEN_BUFFER_INFOEX, *PCONSOLE_SCREEN_BUFFER_INFOEX; 327 328 WINBOOL WINAPI GetConsoleHistoryInfo( 329 PCONSOLE_HISTORY_INFO lpConsoleHistoryInfo 330 ); 331 332 #if (_WIN32_WINNT >= 0x0600) 333 #define GetConsoleOriginalTitle __MINGW_NAME_AW(GetConsoleOriginalTitle) 334 335 WINBASEAPI DWORD WINAPI GetConsoleOriginalTitleA( 336 LPSTR lpConsoleTitle, 337 DWORD nSize 338 ); 339 340 WINBASEAPI DWORD WINAPI GetConsoleOriginalTitleW( 341 LPWSTR lpConsoleTitle, 342 DWORD nSize 343 ); 344 #endif /* (_WIN32_WINNT >= 0x0600) */ 345 346 WINBASEAPI WINBOOL WINAPI GetConsoleScreenBufferInfoEx( 347 HANDLE hConsoleOutput, 348 PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx 349 ); 350 351 WINBASEAPI WINBOOL WINAPI GetCurrentConsoleFontEx( 352 HANDLE hConsoleOutput, 353 WINBOOL bMaximumWindow, 354 PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx 355 ); 356 357 WINBASEAPI WINBOOL WINAPI SetConsoleHistoryInfo( 358 PCONSOLE_HISTORY_INFO lpConsoleHistoryInfo 359 ); 360 361 WINBASEAPI WINBOOL WINAPI SetConsoleScreenBufferInfoEx( 362 HANDLE hConsoleOutput, 363 PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx 364 ); 365 366 WINBASEAPI WINBOOL WINAPI SetCurrentConsoleFontEx( 367 HANDLE hConsoleOutput, 368 WINBOOL bMaximumWindow, 369 PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx 370 ); 371 372 #ifdef __cplusplus 373 } 374 #endif 375 #endif 376