| /** | |
| * This file has no copyright assigned and is placed in the Public Domain. | |
| * This file is part of the mingw-w64 runtime package. | |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. | |
| */ | |
| #ifndef _WINCON_ | |
| #define _WINCON_ | |
| #include <_mingw_unicode.h> | |
| #include <winapifamily.h> | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| #define CONSOLE_REAL_OUTPUT_HANDLE (LongToHandle(-2)) | |
| #define CONSOLE_REAL_INPUT_HANDLE (LongToHandle(-3)) | |
| typedef struct _COORD { | |
| SHORT X; | |
| SHORT Y; | |
| } COORD,*PCOORD; | |
| typedef struct _SMALL_RECT { | |
| SHORT Left; | |
| SHORT Top; | |
| SHORT Right; | |
| SHORT Bottom; | |
| } SMALL_RECT,*PSMALL_RECT; | |
| typedef struct _KEY_EVENT_RECORD { | |
| WINBOOL bKeyDown; | |
| WORD wRepeatCount; | |
| WORD wVirtualKeyCode; | |
| WORD wVirtualScanCode; | |
| union { | |
| WCHAR UnicodeChar; | |
| CHAR AsciiChar; | |
| } uChar; | |
| DWORD dwControlKeyState; | |
| } KEY_EVENT_RECORD,*PKEY_EVENT_RECORD; | |
| #define RIGHT_ALT_PRESSED 0x1 | |
| #define LEFT_ALT_PRESSED 0x2 | |
| #define RIGHT_CTRL_PRESSED 0x4 | |
| #define LEFT_CTRL_PRESSED 0x8 | |
| #define SHIFT_PRESSED 0x10 | |
| #define NUMLOCK_ON 0x20 | |
| #define SCROLLLOCK_ON 0x40 | |
| #define CAPSLOCK_ON 0x80 | |
| #define ENHANCED_KEY 0x100 | |
| #define NLS_DBCSCHAR 0x10000 | |
| #define NLS_ALPHANUMERIC 0x0 | |
| #define NLS_KATAKANA 0x20000 | |
| #define NLS_HIRAGANA 0x40000 | |
| #define NLS_ROMAN 0x400000 | |
| #define NLS_IME_CONVERSION 0x800000 | |
| #define ALTNUMPAD_BIT 0x4000000 | |
| #define NLS_IME_DISABLE 0x20000000 | |
| typedef struct _MOUSE_EVENT_RECORD { | |
| COORD dwMousePosition; | |
| DWORD dwButtonState; | |
| DWORD dwControlKeyState; | |
| DWORD dwEventFlags; | |
| } MOUSE_EVENT_RECORD,*PMOUSE_EVENT_RECORD; | |
| #define FROM_LEFT_1ST_BUTTON_PRESSED 0x1 | |
| #define RIGHTMOST_BUTTON_PRESSED 0x2 | |
| #define FROM_LEFT_2ND_BUTTON_PRESSED 0x4 | |
| #define FROM_LEFT_3RD_BUTTON_PRESSED 0x8 | |
| #define FROM_LEFT_4TH_BUTTON_PRESSED 0x10 | |
| #define MOUSE_MOVED 0x1 | |
| #define DOUBLE_CLICK 0x2 | |
| #define MOUSE_WHEELED 0x4 | |
| #if (_WIN32_WINNT >= 0x0600) | |
| #define MOUSE_HWHEELED 0x8 | |
| #endif | |
| typedef struct _WINDOW_BUFFER_SIZE_RECORD { | |
| COORD dwSize; | |
| } WINDOW_BUFFER_SIZE_RECORD,*PWINDOW_BUFFER_SIZE_RECORD; | |
| typedef struct _MENU_EVENT_RECORD { | |
| UINT dwCommandId; | |
| } MENU_EVENT_RECORD,*PMENU_EVENT_RECORD; | |
| typedef struct _FOCUS_EVENT_RECORD { | |
| WINBOOL bSetFocus; | |
| } FOCUS_EVENT_RECORD,*PFOCUS_EVENT_RECORD; | |
| typedef struct _INPUT_RECORD { | |
| WORD EventType; | |
| union { | |
| KEY_EVENT_RECORD KeyEvent; | |
| MOUSE_EVENT_RECORD MouseEvent; | |
| WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent; | |
| MENU_EVENT_RECORD MenuEvent; | |
| FOCUS_EVENT_RECORD FocusEvent; | |
| } Event; | |
| } INPUT_RECORD,*PINPUT_RECORD; | |
| #define KEY_EVENT 0x1 | |
| #define MOUSE_EVENT 0x2 | |
| #define WINDOW_BUFFER_SIZE_EVENT 0x4 | |
| #define MENU_EVENT 0x8 | |
| #define FOCUS_EVENT 0x10 | |
| typedef struct _CHAR_INFO { | |
| union { | |
| WCHAR UnicodeChar; | |
| CHAR AsciiChar; | |
| } Char; | |
| WORD Attributes; | |
| } CHAR_INFO,*PCHAR_INFO; | |
| #define FOREGROUND_BLUE 0x1 | |
| #define FOREGROUND_GREEN 0x2 | |
| #define FOREGROUND_RED 0x4 | |
| #define FOREGROUND_INTENSITY 0x8 | |
| #define BACKGROUND_BLUE 0x10 | |
| #define BACKGROUND_GREEN 0x20 | |
| #define BACKGROUND_RED 0x40 | |
| #define BACKGROUND_INTENSITY 0x80 | |
| #define COMMON_LVB_LEADING_BYTE 0x100 | |
| #define COMMON_LVB_TRAILING_BYTE 0x200 | |
| #define COMMON_LVB_GRID_HORIZONTAL 0x400 | |
| #define COMMON_LVB_GRID_LVERTICAL 0x800 | |
| #define COMMON_LVB_GRID_RVERTICAL 0x1000 | |
| #define COMMON_LVB_REVERSE_VIDEO 0x4000 | |
| #define COMMON_LVB_UNDERSCORE 0x8000 | |
| #define COMMON_LVB_SBCSDBCS 0x300 | |
| typedef struct _CONSOLE_SCREEN_BUFFER_INFO { | |
| COORD dwSize; | |
| COORD dwCursorPosition; | |
| WORD wAttributes; | |
| SMALL_RECT srWindow; | |
| COORD dwMaximumWindowSize; | |
| } CONSOLE_SCREEN_BUFFER_INFO,*PCONSOLE_SCREEN_BUFFER_INFO; | |
| typedef struct _CONSOLE_CURSOR_INFO { | |
| DWORD dwSize; | |
| WINBOOL bVisible; | |
| } CONSOLE_CURSOR_INFO,*PCONSOLE_CURSOR_INFO; | |
| typedef struct _CONSOLE_FONT_INFO { | |
| DWORD nFont; | |
| COORD dwFontSize; | |
| } CONSOLE_FONT_INFO,*PCONSOLE_FONT_INFO; | |
| typedef struct _CONSOLE_SELECTION_INFO { | |
| DWORD dwFlags; | |
| COORD dwSelectionAnchor; | |
| SMALL_RECT srSelection; | |
| } CONSOLE_SELECTION_INFO,*PCONSOLE_SELECTION_INFO; | |
| #define CONSOLE_NO_SELECTION 0x0 | |
| #define CONSOLE_SELECTION_IN_PROGRESS 0x1 | |
| #define CONSOLE_SELECTION_NOT_EMPTY 0x2 | |
| #define CONSOLE_MOUSE_SELECTION 0x4 | |
| #define CONSOLE_MOUSE_DOWN 0x8 | |
| typedef WINBOOL (WINAPI *PHANDLER_ROUTINE)(DWORD CtrlType); | |
| #define CTRL_C_EVENT 0 | |
| #define CTRL_BREAK_EVENT 1 | |
| #define CTRL_CLOSE_EVENT 2 | |
| #define CTRL_LOGOFF_EVENT 5 | |
| #define CTRL_SHUTDOWN_EVENT 6 | |
| #define ENABLE_PROCESSED_INPUT 0x1 | |
| #define ENABLE_LINE_INPUT 0x2 | |
| #define ENABLE_ECHO_INPUT 0x4 | |
| #define ENABLE_WINDOW_INPUT 0x8 | |
| #define ENABLE_MOUSE_INPUT 0x10 | |
| #define ENABLE_INSERT_MODE 0x20 | |
| #define ENABLE_QUICK_EDIT_MODE 0x40 | |
| #define ENABLE_EXTENDED_FLAGS 0x80 | |
| #define ENABLE_AUTO_POSITION 0x100 | |
| #define ENABLE_VIRTUAL_TERMINAL_INPUT 0x200 | |
| #define ENABLE_PROCESSED_OUTPUT 0x1 | |
| #define ENABLE_WRAP_AT_EOL_OUTPUT 0x2 | |
| #define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x4 | |
| #define DISABLE_NEWLINE_AUTO_RETURN 0x8 | |
| #define ENABLE_LVB_GRID_WORLDWIDE 0x10 | |
| #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) | |
| #define PeekConsoleInput __MINGW_NAME_AW(PeekConsoleInput) | |
| #define ReadConsoleInput __MINGW_NAME_AW(ReadConsoleInput) | |
| #define WriteConsoleInput __MINGW_NAME_AW(WriteConsoleInput) | |
| #define ReadConsoleOutput __MINGW_NAME_AW(ReadConsoleOutput) | |
| #define WriteConsoleOutput __MINGW_NAME_AW(WriteConsoleOutput) | |
| #define ReadConsoleOutputCharacter __MINGW_NAME_AW(ReadConsoleOutputCharacter) | |
| #define WriteConsoleOutputCharacter __MINGW_NAME_AW(WriteConsoleOutputCharacter) | |
| #define FillConsoleOutputCharacter __MINGW_NAME_AW(FillConsoleOutputCharacter) | |
| #define ScrollConsoleScreenBuffer __MINGW_NAME_AW(ScrollConsoleScreenBuffer) | |
| #define GetConsoleTitle __MINGW_NAME_AW(GetConsoleTitle) | |
| #define SetConsoleTitle __MINGW_NAME_AW(SetConsoleTitle) | |
| #define ReadConsole __MINGW_NAME_AW(ReadConsole) | |
| #define WriteConsole __MINGW_NAME_AW(WriteConsole) | |
| #define AddConsoleAlias __MINGW_NAME_AW(AddConsoleAlias) | |
| #define GetConsoleAlias __MINGW_NAME_AW(GetConsoleAlias) | |
| #define GetConsoleAliasesLength __MINGW_NAME_AW(GetConsoleAliasesLength) | |
| #define GetConsoleAliasExesLength __MINGW_NAME_AW(GetConsoleAliasExesLength) | |
| #define GetConsoleAliases __MINGW_NAME_AW(GetConsoleAliases) | |
| #define GetConsoleAliasExes __MINGW_NAME_AW(GetConsoleAliasExes) | |
| WINBASEAPI WINBOOL WINAPI PeekConsoleInputA(HANDLE hConsoleInput,PINPUT_RECORD lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsRead); | |
| WINBASEAPI WINBOOL WINAPI PeekConsoleInputW(HANDLE hConsoleInput,PINPUT_RECORD lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsRead); | |
| WINBASEAPI WINBOOL WINAPI ReadConsoleInputA(HANDLE hConsoleInput,PINPUT_RECORD lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsRead); | |
| WINBASEAPI WINBOOL WINAPI ReadConsoleInputW(HANDLE hConsoleInput,PINPUT_RECORD lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsRead); | |
| WINBASEAPI WINBOOL WINAPI WriteConsoleInputA(HANDLE hConsoleInput,CONST INPUT_RECORD *lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsWritten); | |
| WINBASEAPI WINBOOL WINAPI WriteConsoleInputW(HANDLE hConsoleInput,CONST INPUT_RECORD *lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsWritten); | |
| WINBASEAPI WINBOOL WINAPI ReadConsoleOutputA(HANDLE hConsoleOutput,PCHAR_INFO lpBuffer,COORD dwBufferSize,COORD dwBufferCoord,PSMALL_RECT lpReadRegion); | |
| WINBASEAPI WINBOOL WINAPI ReadConsoleOutputW(HANDLE hConsoleOutput,PCHAR_INFO lpBuffer,COORD dwBufferSize,COORD dwBufferCoord,PSMALL_RECT lpReadRegion); | |
| WINBASEAPI WINBOOL WINAPI WriteConsoleOutputA(HANDLE hConsoleOutput,CONST CHAR_INFO *lpBuffer,COORD dwBufferSize,COORD dwBufferCoord,PSMALL_RECT lpWriteRegion); | |
| WINBASEAPI WINBOOL WINAPI WriteConsoleOutputW(HANDLE hConsoleOutput,CONST CHAR_INFO *lpBuffer,COORD dwBufferSize,COORD dwBufferCoord,PSMALL_RECT lpWriteRegion); | |
| WINBASEAPI WINBOOL WINAPI ReadConsoleOutputCharacterA(HANDLE hConsoleOutput,LPSTR lpCharacter,DWORD nLength,COORD dwReadCoord,LPDWORD lpNumberOfCharsRead); | |
| WINBASEAPI WINBOOL WINAPI ReadConsoleOutputCharacterW(HANDLE hConsoleOutput,LPWSTR lpCharacter,DWORD nLength,COORD dwReadCoord,LPDWORD lpNumberOfCharsRead); | |
| WINBASEAPI WINBOOL WINAPI ReadConsoleOutputAttribute(HANDLE hConsoleOutput,LPWORD lpAttribute,DWORD nLength,COORD dwReadCoord,LPDWORD lpNumberOfAttrsRead); | |
| WINBASEAPI WINBOOL WINAPI WriteConsoleOutputCharacterA(HANDLE hConsoleOutput,LPCSTR lpCharacter,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfCharsWritten); | |
| WINBASEAPI WINBOOL WINAPI WriteConsoleOutputCharacterW(HANDLE hConsoleOutput,LPCWSTR lpCharacter,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfCharsWritten); | |
| WINBASEAPI WINBOOL WINAPI WriteConsoleOutputAttribute(HANDLE hConsoleOutput,CONST WORD *lpAttribute,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfAttrsWritten); | |
| WINBASEAPI WINBOOL WINAPI FillConsoleOutputCharacterA(HANDLE hConsoleOutput,CHAR cCharacter,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfCharsWritten); | |
| WINBASEAPI WINBOOL WINAPI FillConsoleOutputCharacterW(HANDLE hConsoleOutput,WCHAR cCharacter,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfCharsWritten); | |
| WINBASEAPI WINBOOL WINAPI FillConsoleOutputAttribute(HANDLE hConsoleOutput,WORD wAttribute,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfAttrsWritten); | |
| WINBASEAPI WINBOOL WINAPI GetConsoleMode(HANDLE hConsoleHandle,LPDWORD lpMode); | |
| WINBASEAPI WINBOOL WINAPI GetNumberOfConsoleInputEvents(HANDLE hConsoleInput,LPDWORD lpNumberOfEvents); | |
| WINBASEAPI WINBOOL WINAPI GetConsoleScreenBufferInfo(HANDLE hConsoleOutput,PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo); | |
| WINBASEAPI COORD WINAPI GetLargestConsoleWindowSize(HANDLE hConsoleOutput); | |
| WINBASEAPI WINBOOL WINAPI GetConsoleCursorInfo(HANDLE hConsoleOutput,PCONSOLE_CURSOR_INFO lpConsoleCursorInfo); | |
| WINBASEAPI WINBOOL WINAPI GetCurrentConsoleFont(HANDLE hConsoleOutput,WINBOOL bMaximumWindow,PCONSOLE_FONT_INFO lpConsoleCurrentFont); | |
| WINBASEAPI COORD WINAPI GetConsoleFontSize(HANDLE hConsoleOutput,DWORD nFont); | |
| WINBASEAPI WINBOOL WINAPI GetConsoleSelectionInfo(PCONSOLE_SELECTION_INFO lpConsoleSelectionInfo); | |
| WINBASEAPI WINBOOL WINAPI GetNumberOfConsoleMouseButtons(LPDWORD lpNumberOfMouseButtons); | |
| WINBASEAPI WINBOOL WINAPI SetConsoleMode(HANDLE hConsoleHandle,DWORD dwMode); | |
| WINBASEAPI WINBOOL WINAPI SetConsoleActiveScreenBuffer(HANDLE hConsoleOutput); | |
| WINBASEAPI WINBOOL WINAPI FlushConsoleInputBuffer(HANDLE hConsoleInput); | |
| WINBASEAPI WINBOOL WINAPI SetConsoleScreenBufferSize(HANDLE hConsoleOutput,COORD dwSize); | |
| WINBASEAPI WINBOOL WINAPI SetConsoleCursorPosition(HANDLE hConsoleOutput,COORD dwCursorPosition); | |
| WINBASEAPI WINBOOL WINAPI SetConsoleCursorInfo(HANDLE hConsoleOutput,CONST CONSOLE_CURSOR_INFO *lpConsoleCursorInfo); | |
| WINBASEAPI WINBOOL WINAPI ScrollConsoleScreenBufferA(HANDLE hConsoleOutput,CONST SMALL_RECT *lpScrollRectangle,CONST SMALL_RECT *lpClipRectangle,COORD dwDestinationOrigin,CONST CHAR_INFO *lpFill); | |
| WINBASEAPI WINBOOL WINAPI ScrollConsoleScreenBufferW(HANDLE hConsoleOutput,CONST SMALL_RECT *lpScrollRectangle,CONST SMALL_RECT *lpClipRectangle,COORD dwDestinationOrigin,CONST CHAR_INFO *lpFill); | |
| WINBASEAPI WINBOOL WINAPI SetConsoleWindowInfo(HANDLE hConsoleOutput,WINBOOL bAbsolute,CONST SMALL_RECT *lpConsoleWindow); | |
| WINBASEAPI WINBOOL WINAPI SetConsoleTextAttribute(HANDLE hConsoleOutput,WORD wAttributes); | |
| WINBASEAPI WINBOOL WINAPI SetConsoleCtrlHandler(PHANDLER_ROUTINE HandlerRoutine,WINBOOL Add); | |
| WINBASEAPI WINBOOL WINAPI GenerateConsoleCtrlEvent(DWORD dwCtrlEvent,DWORD dwProcessGroupId); | |
| WINBASEAPI WINBOOL WINAPI AllocConsole(VOID); | |
| WINBASEAPI WINBOOL WINAPI FreeConsole(VOID); | |
| WINBASEAPI WINBOOL WINAPI AttachConsole(DWORD dwProcessId); | |
| #define ATTACH_PARENT_PROCESS ((DWORD)-1) | |
| WINBASEAPI DWORD WINAPI GetConsoleTitleA(LPSTR lpConsoleTitle,DWORD nSize); | |
| WINBASEAPI DWORD WINAPI GetConsoleTitleW(LPWSTR lpConsoleTitle,DWORD nSize); | |
| WINBASEAPI WINBOOL WINAPI SetConsoleTitleA(LPCSTR lpConsoleTitle); | |
| WINBASEAPI WINBOOL WINAPI SetConsoleTitleW(LPCWSTR lpConsoleTitle); | |
| WINBASEAPI WINBOOL WINAPI ReadConsoleA(HANDLE hConsoleInput,LPVOID lpBuffer,DWORD nNumberOfCharsToRead,LPDWORD lpNumberOfCharsRead,LPVOID lpReserved); | |
| WINBASEAPI WINBOOL WINAPI ReadConsoleW(HANDLE hConsoleInput,LPVOID lpBuffer,DWORD nNumberOfCharsToRead,LPDWORD lpNumberOfCharsRead,LPVOID lpReserved); | |
| WINBASEAPI WINBOOL WINAPI WriteConsoleA(HANDLE hConsoleOutput,CONST VOID *lpBuffer,DWORD nNumberOfCharsToWrite,LPDWORD lpNumberOfCharsWritten,LPVOID lpReserved); | |
| WINBASEAPI WINBOOL WINAPI WriteConsoleW(HANDLE hConsoleOutput,CONST VOID *lpBuffer,DWORD nNumberOfCharsToWrite,LPDWORD lpNumberOfCharsWritten,LPVOID lpReserved); | |
| #define CONSOLE_TEXTMODE_BUFFER 1 | |
| WINBASEAPI HANDLE WINAPI CreateConsoleScreenBuffer(DWORD dwDesiredAccess,DWORD dwShareMode,CONST SECURITY_ATTRIBUTES *lpSecurityAttributes,DWORD dwFlags,LPVOID lpScreenBufferData); | |
| WINBASEAPI UINT WINAPI GetConsoleCP(VOID); | |
| WINBASEAPI WINBOOL WINAPI SetConsoleCP(UINT wCodePageID); | |
| WINBASEAPI UINT WINAPI GetConsoleOutputCP(VOID); | |
| WINBASEAPI WINBOOL WINAPI SetConsoleOutputCP(UINT wCodePageID); | |
| #define CONSOLE_FULLSCREEN 1 | |
| #define CONSOLE_FULLSCREEN_HARDWARE 2 | |
| WINBASEAPI WINBOOL WINAPI GetConsoleDisplayMode(LPDWORD lpModeFlags); | |
| #define CONSOLE_FULLSCREEN_MODE 1 | |
| #define CONSOLE_WINDOWED_MODE 2 | |
| WINBASEAPI WINBOOL WINAPI SetConsoleDisplayMode(HANDLE hConsoleOutput, DWORD dwFlags, PCOORD lpNewScreenBufferDimensions); | |
| WINBASEAPI HWND WINAPI GetConsoleWindow(VOID); | |
| WINBASEAPI DWORD WINAPI GetConsoleProcessList(LPDWORD lpdwProcessList,DWORD dwProcessCount); | |
| WINBASEAPI WINBOOL WINAPI AddConsoleAliasA(LPSTR Source,LPSTR Target,LPSTR ExeName); | |
| WINBASEAPI WINBOOL WINAPI AddConsoleAliasW(LPWSTR Source,LPWSTR Target,LPWSTR ExeName); | |
| WINBASEAPI DWORD WINAPI GetConsoleAliasA(LPSTR Source,LPSTR TargetBuffer,DWORD TargetBufferLength,LPSTR ExeName); | |
| WINBASEAPI DWORD WINAPI GetConsoleAliasW(LPWSTR Source,LPWSTR TargetBuffer,DWORD TargetBufferLength,LPWSTR ExeName); | |
| WINBASEAPI DWORD WINAPI GetConsoleAliasesLengthA(LPSTR ExeName); | |
| WINBASEAPI DWORD WINAPI GetConsoleAliasesLengthW(LPWSTR ExeName); | |
| WINBASEAPI DWORD WINAPI GetConsoleAliasExesLengthA(VOID); | |
| WINBASEAPI DWORD WINAPI GetConsoleAliasExesLengthW(VOID); | |
| WINBASEAPI DWORD WINAPI GetConsoleAliasesA(LPSTR AliasBuffer,DWORD AliasBufferLength,LPSTR ExeName); | |
| WINBASEAPI DWORD WINAPI GetConsoleAliasesW(LPWSTR AliasBuffer,DWORD AliasBufferLength,LPWSTR ExeName); | |
| WINBASEAPI DWORD WINAPI GetConsoleAliasExesA(LPSTR ExeNameBuffer,DWORD ExeNameBufferLength); | |
| WINBASEAPI DWORD WINAPI GetConsoleAliasExesW(LPWSTR ExeNameBuffer,DWORD ExeNameBufferLength); | |
| WINBASEAPI VOID WINAPI ExpungeConsoleCommandHistoryA(LPSTR ExeName); | |
| WINBASEAPI VOID WINAPI ExpungeConsoleCommandHistoryW(LPWSTR ExeName); | |
| #define ExpungeConsoleCommandHistory __MINGW_NAME_AW(ExpungeConsoleCommandHistory) | |
| WINBASEAPI WINBOOL WINAPI SetConsoleNumberOfCommandsA(DWORD Number, LPSTR ExeName); | |
| WINBASEAPI WINBOOL WINAPI SetConsoleNumberOfCommandsW(DWORD Number, LPWSTR ExeName); | |
| #define SetConsoleNumberOfCommands __MINGW_NAME_AW(SetConsoleNumberOfCommands) | |
| WINBASEAPI DWORD WINAPI GetConsoleCommandHistoryLengthA(LPSTR ExeName); | |
| WINBASEAPI DWORD WINAPI GetConsoleCommandHistoryLengthW(LPWSTR ExeName); | |
| #define GetConsoleCommandHistoryLength __MINGW_NAME_AW(GetConsoleCommandHistoryLength) | |
| WINBASEAPI DWORD WINAPI GetConsoleCommandHistoryA(LPSTR Commands, DWORD CommandBufferLength, LPSTR ExeName); | |
| WINBASEAPI DWORD WINAPI GetConsoleCommandHistoryW(LPWSTR Commands, DWORD CommandBufferLength, LPWSTR ExeName); | |
| #define GetConsoleCommandHistory __MINGW_NAME_AW(GetConsoleCommandHistory) | |
| #ifndef NOGDI | |
| typedef struct _CONSOLE_FONT_INFOEX { | |
| ULONG cbSize; | |
| DWORD nFont; | |
| COORD dwFontSize; | |
| UINT FontFamily; | |
| UINT FontWeight; | |
| WCHAR FaceName[LF_FACESIZE]; | |
| } CONSOLE_FONT_INFOEX, *PCONSOLE_FONT_INFOEX; | |
| WINBASEAPI WINBOOL WINAPI GetCurrentConsoleFontEx( | |
| HANDLE hConsoleOutput, | |
| WINBOOL bMaximumWindow, | |
| PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx | |
| ); | |
| WINBASEAPI WINBOOL WINAPI SetCurrentConsoleFontEx( | |
| HANDLE hConsoleOutput, | |
| WINBOOL bMaximumWindow, | |
| PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx | |
| ); | |
| #endif /* NOGDI */ | |
| #define HISTORY_NO_DUP_FLAG 0x1 | |
| typedef struct _CONSOLE_HISTORY_INFO { | |
| UINT cbSize; | |
| UINT HistoryBufferSize; | |
| UINT NumberOfHistoryBuffers; | |
| DWORD dwFlags; | |
| } CONSOLE_HISTORY_INFO, *PCONSOLE_HISTORY_INFO; | |
| typedef struct _CONSOLE_READCONSOLE_CONTROL { | |
| ULONG nLength; | |
| ULONG nInitialChars; | |
| ULONG dwCtrlWakeupMask; | |
| ULONG dwControlKeyState; | |
| } CONSOLE_READCONSOLE_CONTROL, *PCONSOLE_READCONSOLE_CONTROL; | |
| typedef struct _CONSOLE_SCREEN_BUFFER_INFOEX { | |
| ULONG cbSize; | |
| COORD dwSize; | |
| COORD dwCursorPosition; | |
| WORD wAttributes; | |
| SMALL_RECT srWindow; | |
| COORD dwMaximumWindowSize; | |
| WORD wPopupAttributes; | |
| WINBOOL bFullscreenSupported; | |
| COLORREF ColorTable[16]; | |
| } CONSOLE_SCREEN_BUFFER_INFOEX, *PCONSOLE_SCREEN_BUFFER_INFOEX; | |
| WINBOOL WINAPI GetConsoleHistoryInfo( | |
| PCONSOLE_HISTORY_INFO lpConsoleHistoryInfo | |
| ); | |
| #if (_WIN32_WINNT >= 0x0600) | |
| #define GetConsoleOriginalTitle __MINGW_NAME_AW(GetConsoleOriginalTitle) | |
| WINBASEAPI DWORD WINAPI GetConsoleOriginalTitleA( | |
| LPSTR lpConsoleTitle, | |
| DWORD nSize | |
| ); | |
| WINBASEAPI DWORD WINAPI GetConsoleOriginalTitleW( | |
| LPWSTR lpConsoleTitle, | |
| DWORD nSize | |
| ); | |
| #endif /* (_WIN32_WINNT >= 0x0600) */ | |
| WINBASEAPI WINBOOL WINAPI GetConsoleScreenBufferInfoEx( | |
| HANDLE hConsoleOutput, | |
| PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx | |
| ); | |
| WINBASEAPI WINBOOL WINAPI SetConsoleHistoryInfo( | |
| PCONSOLE_HISTORY_INFO lpConsoleHistoryInfo | |
| ); | |
| WINBASEAPI WINBOOL WINAPI SetConsoleScreenBufferInfoEx( | |
| HANDLE hConsoleOutput, | |
| PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx | |
| ); | |
| #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ | |
| #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) | |
| #if (NTDDI_VERSION >= 0x0A000006) | |
| /* CreatePseudoConsole Flags */ | |
| #define PSEUDOCONSOLE_INHERIT_CURSOR 1 | |
| typedef VOID* HPCON; | |
| WINBASEAPI HRESULT WINAPI CreatePseudoConsole(COORD size, HANDLE hInput, HANDLE hOutput, DWORD dwFlags, HPCON* phPC); | |
| WINBASEAPI HRESULT WINAPI ResizePseudoConsole(HPCON hPC, COORD size); | |
| WINBASEAPI VOID WINAPI ClosePseudoConsole(HPCON hPC); | |
| #endif /* NTDDI_WIN10_RS5 */ | |
| #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif |