consoleapi2.h (7535B) - Raw
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 7 #ifndef _APISETCONSOLEL2_ 8 #define _APISETCONSOLEL2_ 9 10 #include <_mingw_unicode.h> 11 12 #include <apiset.h> 13 #include <apisetcconv.h> 14 #include <minwinbase.h> 15 #include <minwindef.h> 16 17 #include <wincontypes.h> 18 #include <windef.h> 19 20 #ifdef __cplusplus 21 extern "C" { 22 #endif 23 24 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) 25 26 #define FOREGROUND_BLUE 0x0001 27 #define FOREGROUND_GREEN 0x0002 28 #define FOREGROUND_RED 0x0004 29 #define FOREGROUND_INTENSITY 0x0008 30 #define BACKGROUND_BLUE 0x0010 31 #define BACKGROUND_GREEN 0x0020 32 #define BACKGROUND_RED 0x0040 33 #define BACKGROUND_INTENSITY 0x0080 34 #define COMMON_LVB_LEADING_BYTE 0x0100 35 #define COMMON_LVB_TRAILING_BYTE 0x0200 36 #define COMMON_LVB_GRID_HORIZONTAL 0x0400 37 #define COMMON_LVB_GRID_LVERTICAL 0x0800 38 #define COMMON_LVB_GRID_RVERTICAL 0x1000 39 #define COMMON_LVB_REVERSE_VIDEO 0x4000 40 #define COMMON_LVB_UNDERSCORE 0x8000 41 42 #define COMMON_LVB_SBCSDBCS 0x0300 43 44 WINBASEAPI WINBOOL WINAPI FillConsoleOutputCharacterA(HANDLE console_output, CHAR character, DWORD length, COORD write_coord, LPDWORD number_of_chars_written); 45 WINBASEAPI WINBOOL WINAPI FillConsoleOutputCharacterW(HANDLE console_output, WCHAR character, DWORD length, COORD write_coord, LPDWORD number_of_chars_written); 46 #define FillConsoleOutputCharacter __MINGW_NAME_AW(FillConsoleOutputCharacter) 47 48 WINBASEAPI WINBOOL WINAPI FillConsoleOutputAttribute(HANDLE console_output, WORD attribute, DWORD length, COORD write_coord, LPDWORD number_of_attrs_written); 49 WINBASEAPI WINBOOL WINAPI GenerateConsoleCtrlEvent(DWORD ctrl_event, DWORD process_group_id); 50 WINBASEAPI HANDLE WINAPI CreateConsoleScreenBuffer(DWORD desired_access, DWORD share_mode, const SECURITY_ATTRIBUTES *security_attributes, DWORD flags, LPVOID screen_buffer_data); 51 WINBASEAPI WINBOOL WINAPI SetConsoleActiveScreenBuffer(HANDLE console_output); 52 WINBASEAPI WINBOOL WINAPI FlushConsoleInputBuffer(HANDLE console_input); 53 WINBASEAPI WINBOOL WINAPI SetConsoleCP(UINT code_page_id); 54 WINBASEAPI WINBOOL WINAPI SetConsoleOutputCP(UINT code_page_id); 55 56 typedef struct _CONSOLE_CURSOR_INFO { 57 DWORD dwSize; 58 WINBOOL bVisible; 59 } CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO; 60 61 WINBASEAPI WINBOOL WINAPI GetConsoleCursorInfo(HANDLE console_output, PCONSOLE_CURSOR_INFO console_cursor_info); 62 WINBASEAPI WINBOOL WINAPI SetConsoleCursorInfo(HANDLE console_output, const CONSOLE_CURSOR_INFO *console_cursor_info); 63 64 typedef struct _CONSOLE_SCREEN_BUFFER_INFO { 65 COORD dwSize; 66 COORD dwCursorPosition; 67 WORD wAttributes; 68 SMALL_RECT srWindow; 69 COORD dwMaximumWindowSize; 70 } CONSOLE_SCREEN_BUFFER_INFO, *PCONSOLE_SCREEN_BUFFER_INFO; 71 72 WINBASEAPI WINBOOL WINAPI GetConsoleScreenBufferInfo(HANDLE console_output, PCONSOLE_SCREEN_BUFFER_INFO console_screen_buffer_info); 73 74 typedef struct _CONSOLE_SCREEN_BUFFER_INFOEX { 75 ULONG cbSize; 76 COORD dwSize; 77 COORD dwCursorPosition; 78 WORD wAttributes; 79 SMALL_RECT srWindow; 80 COORD dwMaximumWindowSize; 81 WORD wPopupAttributes; 82 WINBOOL bFullscreenSupported; 83 COLORREF ColorTable[16]; 84 } CONSOLE_SCREEN_BUFFER_INFOEX, *PCONSOLE_SCREEN_BUFFER_INFOEX; 85 86 WINBASEAPI WINBOOL WINAPI GetConsoleScreenBufferInfoEx(HANDLE console_output, PCONSOLE_SCREEN_BUFFER_INFOEX console_screen_buffer_info_ex); 87 WINBASEAPI WINBOOL WINAPI SetConsoleScreenBufferInfoEx(HANDLE console_output, PCONSOLE_SCREEN_BUFFER_INFOEX console_screen_buffer_info_ex); 88 WINBASEAPI WINBOOL WINAPI SetConsoleScreenBufferSize(HANDLE console_output, COORD size); 89 WINBASEAPI WINBOOL WINAPI SetConsoleCursorPosition(HANDLE console_output, COORD cursor_position); 90 WINBASEAPI COORD WINAPI GetLargestConsoleWindowSize(HANDLE console_output); 91 WINBASEAPI WINBOOL WINAPI SetConsoleTextAttribute(HANDLE console_output, WORD attributes); 92 WINBASEAPI WINBOOL WINAPI SetConsoleWindowInfo(HANDLE console_output, WINBOOL absolute, const SMALL_RECT *console_window); 93 94 WINBASEAPI WINBOOL WINAPI WriteConsoleOutputCharacterA(HANDLE console_output, LPCSTR character, DWORD length, COORD write_coord, LPDWORD number_of_chars_written); 95 WINBASEAPI WINBOOL WINAPI WriteConsoleOutputCharacterW(HANDLE console_output, LPCWSTR character, DWORD length, COORD write_coord, LPDWORD number_of_chars_written); 96 #define WriteConsoleOutputCharacter __MINGW_NAME_AW(WriteConsoleOutputCharacter) 97 98 WINBASEAPI WINBOOL WINAPI WriteConsoleOutputAttribute(HANDLE console_output, const WORD *attribute, DWORD length, COORD write_coord, LPDWORD number_of_attrs_written); 99 100 WINBASEAPI WINBOOL WINAPI ReadConsoleOutputCharacterA(HANDLE console_output, LPSTR character, DWORD length, COORD read_coord, LPDWORD number_of_chars_read); 101 WINBASEAPI WINBOOL WINAPI ReadConsoleOutputCharacterW(HANDLE console_output, LPWSTR character, DWORD length, COORD read_coord, LPDWORD number_of_chars_read); 102 #define ReadConsoleOutputCharacter __MINGW_NAME_AW(ReadConsoleOutputCharacter) 103 104 WINBASEAPI WINBOOL WINAPI ReadConsoleOutputAttribute(HANDLE console_output, LPWORD attribute, DWORD length, COORD read_coord, LPDWORD number_of_attrs_read); 105 106 WINBASEAPI WINBOOL WINAPI WriteConsoleInputA(HANDLE console_input, const INPUT_RECORD *buffer, DWORD length, LPDWORD number_of_events_written); 107 WINBASEAPI WINBOOL WINAPI WriteConsoleInputW(HANDLE console_input, const INPUT_RECORD *buffer, DWORD length, LPDWORD number_of_events_written); 108 #define WriteConsoleInput __MINGW_NAME_AW(WriteConsoleInput) 109 110 WINBASEAPI WINBOOL WINAPI ScrollConsoleScreenBufferA(HANDLE console_output, const SMALL_RECT *scroll_rectangle, const SMALL_RECT *clip_rectangle, COORD destination_origin, const CHAR_INFO *fill); 111 WINBASEAPI WINBOOL WINAPI ScrollConsoleScreenBufferW(HANDLE console_output, const SMALL_RECT *scroll_rectangle, const SMALL_RECT *clip_rectangle, COORD destination_origin, const CHAR_INFO *fill); 112 #define ScrollConsoleScreenBuffer __MINGW_NAME_AW(ScrollConsoleScreenBuffer) 113 114 WINBASEAPI WINBOOL WINAPI WriteConsoleOutputA(HANDLE console_output, const CHAR_INFO *buffer, COORD buffer_size, COORD buffer_coord, PSMALL_RECT write_region); 115 WINBASEAPI WINBOOL WINAPI WriteConsoleOutputW(HANDLE console_output, const CHAR_INFO *buffer, COORD buffer_size, COORD buffer_coord, PSMALL_RECT write_region); 116 #define WriteConsoleOutput __MINGW_NAME_AW(WriteConsoleOutput) 117 118 WINBASEAPI WINBOOL WINAPI ReadConsoleOutputA(HANDLE console_output, PCHAR_INFO buffer, COORD buffer_size, COORD buffer_coord, PSMALL_RECT read_region); 119 WINBASEAPI WINBOOL WINAPI ReadConsoleOutputW(HANDLE console_output, PCHAR_INFO buffer, COORD buffer_size, COORD buffer_coord, PSMALL_RECT read_region); 120 #define ReadConsoleOutput __MINGW_NAME_AW(ReadConsoleOutput) 121 122 WINBASEAPI DWORD WINAPI GetConsoleTitleA(LPSTR console_title, DWORD size); 123 WINBASEAPI DWORD WINAPI GetConsoleTitleW(LPWSTR console_title, DWORD size); 124 #define GetConsoleTitle __MINGW_NAME_AW(GetConsoleTitle) 125 126 #if (_WIN32_WINNT >= 0x0600) 127 128 WINBASEAPI DWORD WINAPI GetConsoleOriginalTitleA(LPSTR console_title, DWORD size); 129 WINBASEAPI DWORD WINAPI GetConsoleOriginalTitleW(LPWSTR console_title, DWORD size); 130 #define GetConsoleOriginalTitle __MINGW_NAME_AW(GetConsoleOriginalTitle) 131 132 #endif /* _WIN32_WINNT >= 0x0600 */ 133 134 WINBASEAPI WINBOOL WINAPI SetConsoleTitleA(LPCSTR console_title); 135 WINBASEAPI WINBOOL WINAPI SetConsoleTitleW(LPCWSTR console_title); 136 #define SetConsoleTitle __MINGW_NAME_AW(SetConsoleTitle) 137 138 #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ 139 140 #ifdef __cplusplus 141 } 142 #endif 143 144 #endif /* _APISETCONSOLEL2_ */