|
| 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_ */ |
0 commit comments