mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 06:13:07 +00:00
145 lines
7.4 KiB
C
Vendored
145 lines
7.4 KiB
C
Vendored
/**
|
|
* 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 _APISETCONSOLEL2_
|
|
#define _APISETCONSOLEL2_
|
|
|
|
#include <_mingw_unicode.h>
|
|
|
|
#include <apiset.h>
|
|
#include <apisetcconv.h>
|
|
#include <minwinbase.h>
|
|
#include <minwindef.h>
|
|
|
|
#include <wincontypes.h>
|
|
#include <windef.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
|
|
|
|
#define FOREGROUND_BLUE 0x0001
|
|
#define FOREGROUND_GREEN 0x0002
|
|
#define FOREGROUND_RED 0x0004
|
|
#define FOREGROUND_INTENSITY 0x0008
|
|
#define BACKGROUND_BLUE 0x0010
|
|
#define BACKGROUND_GREEN 0x0020
|
|
#define BACKGROUND_RED 0x0040
|
|
#define BACKGROUND_INTENSITY 0x0080
|
|
#define COMMON_LVB_LEADING_BYTE 0x0100
|
|
#define COMMON_LVB_TRAILING_BYTE 0x0200
|
|
#define COMMON_LVB_GRID_HORIZONTAL 0x0400
|
|
#define COMMON_LVB_GRID_LVERTICAL 0x0800
|
|
#define COMMON_LVB_GRID_RVERTICAL 0x1000
|
|
#define COMMON_LVB_REVERSE_VIDEO 0x4000
|
|
#define COMMON_LVB_UNDERSCORE 0x8000
|
|
|
|
#define COMMON_LVB_SBCSDBCS 0x0300
|
|
|
|
WINBASEAPI WINBOOL WINAPI FillConsoleOutputCharacterA(HANDLE console_output, CHAR character, DWORD length, COORD write_coord, LPDWORD number_of_chars_written);
|
|
WINBASEAPI WINBOOL WINAPI FillConsoleOutputCharacterW(HANDLE console_output, WCHAR character, DWORD length, COORD write_coord, LPDWORD number_of_chars_written);
|
|
#define FillConsoleOutputCharacter __MINGW_NAME_AW(FillConsoleOutputCharacter)
|
|
|
|
WINBASEAPI WINBOOL WINAPI FillConsoleOutputAttribute(HANDLE console_output, WORD attribute, DWORD length, COORD write_coord, LPDWORD number_of_attrs_written);
|
|
WINBASEAPI WINBOOL WINAPI GenerateConsoleCtrlEvent(DWORD ctrl_event, DWORD process_group_id);
|
|
WINBASEAPI HANDLE WINAPI CreateConsoleScreenBuffer(DWORD desired_access, DWORD share_mode, const SECURITY_ATTRIBUTES *security_attributes, DWORD flags, LPVOID screen_buffer_data);
|
|
WINBASEAPI WINBOOL WINAPI SetConsoleActiveScreenBuffer(HANDLE console_output);
|
|
WINBASEAPI WINBOOL WINAPI FlushConsoleInputBuffer(HANDLE console_input);
|
|
WINBASEAPI WINBOOL WINAPI SetConsoleCP(UINT code_page_id);
|
|
WINBASEAPI WINBOOL WINAPI SetConsoleOutputCP(UINT code_page_id);
|
|
|
|
typedef struct _CONSOLE_CURSOR_INFO {
|
|
DWORD dwSize;
|
|
WINBOOL bVisible;
|
|
} CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO;
|
|
|
|
WINBASEAPI WINBOOL WINAPI GetConsoleCursorInfo(HANDLE console_output, PCONSOLE_CURSOR_INFO console_cursor_info);
|
|
WINBASEAPI WINBOOL WINAPI SetConsoleCursorInfo(HANDLE console_output, const CONSOLE_CURSOR_INFO *console_cursor_info);
|
|
|
|
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;
|
|
|
|
WINBASEAPI WINBOOL WINAPI GetConsoleScreenBufferInfo(HANDLE console_output, PCONSOLE_SCREEN_BUFFER_INFO console_screen_buffer_info);
|
|
|
|
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;
|
|
|
|
WINBASEAPI WINBOOL WINAPI GetConsoleScreenBufferInfoEx(HANDLE console_output, PCONSOLE_SCREEN_BUFFER_INFOEX console_screen_buffer_info_ex);
|
|
WINBASEAPI WINBOOL WINAPI SetConsoleScreenBufferInfoEx(HANDLE console_output, PCONSOLE_SCREEN_BUFFER_INFOEX console_screen_buffer_info_ex);
|
|
WINBASEAPI WINBOOL WINAPI SetConsoleScreenBufferSize(HANDLE console_output, COORD size);
|
|
WINBASEAPI WINBOOL WINAPI SetConsoleCursorPosition(HANDLE console_output, COORD cursor_position);
|
|
WINBASEAPI COORD WINAPI GetLargestConsoleWindowSize(HANDLE console_output);
|
|
WINBASEAPI WINBOOL WINAPI SetConsoleTextAttribute(HANDLE console_output, WORD attributes);
|
|
WINBASEAPI WINBOOL WINAPI SetConsoleWindowInfo(HANDLE console_output, WINBOOL absolute, const SMALL_RECT *console_window);
|
|
|
|
WINBASEAPI WINBOOL WINAPI WriteConsoleOutputCharacterA(HANDLE console_output, LPCSTR character, DWORD length, COORD write_coord, LPDWORD number_of_chars_written);
|
|
WINBASEAPI WINBOOL WINAPI WriteConsoleOutputCharacterW(HANDLE console_output, LPCWSTR character, DWORD length, COORD write_coord, LPDWORD number_of_chars_written);
|
|
#define WriteConsoleOutputCharacter __MINGW_NAME_AW(WriteConsoleOutputCharacter)
|
|
|
|
WINBASEAPI WINBOOL WINAPI WriteConsoleOutputAttribute(HANDLE console_output, const WORD *attribute, DWORD length, COORD write_coord, LPDWORD number_of_attrs_written);
|
|
|
|
WINBASEAPI WINBOOL WINAPI ReadConsoleOutputCharacterA(HANDLE console_output, LPSTR character, DWORD length, COORD read_coord, LPDWORD number_of_chars_read);
|
|
WINBASEAPI WINBOOL WINAPI ReadConsoleOutputCharacterW(HANDLE console_output, LPWSTR character, DWORD length, COORD read_coord, LPDWORD number_of_chars_read);
|
|
#define ReadConsoleOutputCharacter __MINGW_NAME_AW(ReadConsoleOutputCharacter)
|
|
|
|
WINBASEAPI WINBOOL WINAPI ReadConsoleOutputAttribute(HANDLE console_output, LPWORD attribute, DWORD length, COORD read_coord, LPDWORD number_of_attrs_read);
|
|
|
|
WINBASEAPI WINBOOL WINAPI WriteConsoleInputA(HANDLE console_input, const INPUT_RECORD *buffer, DWORD length, LPDWORD number_of_events_written);
|
|
WINBASEAPI WINBOOL WINAPI WriteConsoleInputW(HANDLE console_input, const INPUT_RECORD *buffer, DWORD length, LPDWORD number_of_events_written);
|
|
#define WriteConsoleInput __MINGW_NAME_AW(WriteConsoleInput)
|
|
|
|
WINBASEAPI WINBOOL WINAPI ScrollConsoleScreenBufferA(HANDLE console_output, const SMALL_RECT *scroll_rectangle, const SMALL_RECT *clip_rectangle, COORD destination_origin, const CHAR_INFO *fill);
|
|
WINBASEAPI WINBOOL WINAPI ScrollConsoleScreenBufferW(HANDLE console_output, const SMALL_RECT *scroll_rectangle, const SMALL_RECT *clip_rectangle, COORD destination_origin, const CHAR_INFO *fill);
|
|
#define ScrollConsoleScreenBuffer __MINGW_NAME_AW(ScrollConsoleScreenBuffer)
|
|
|
|
WINBASEAPI WINBOOL WINAPI WriteConsoleOutputA(HANDLE console_output, const CHAR_INFO *buffer, COORD buffer_size, COORD buffer_coord, PSMALL_RECT write_region);
|
|
WINBASEAPI WINBOOL WINAPI WriteConsoleOutputW(HANDLE console_output, const CHAR_INFO *buffer, COORD buffer_size, COORD buffer_coord, PSMALL_RECT write_region);
|
|
#define WriteConsoleOutput __MINGW_NAME_AW(WriteConsoleOutput)
|
|
|
|
WINBASEAPI WINBOOL WINAPI ReadConsoleOutputA(HANDLE console_output, PCHAR_INFO buffer, COORD buffer_size, COORD buffer_coord, PSMALL_RECT read_region);
|
|
WINBASEAPI WINBOOL WINAPI ReadConsoleOutputW(HANDLE console_output, PCHAR_INFO buffer, COORD buffer_size, COORD buffer_coord, PSMALL_RECT read_region);
|
|
#define ReadConsoleOutput __MINGW_NAME_AW(ReadConsoleOutput)
|
|
|
|
WINBASEAPI DWORD WINAPI GetConsoleTitleA(LPSTR console_title, DWORD size);
|
|
WINBASEAPI DWORD WINAPI GetConsoleTitleW(LPWSTR console_title, DWORD size);
|
|
#define GetConsoleTitle __MINGW_NAME_AW(GetConsoleTitle)
|
|
|
|
#if (_WIN32_WINNT >= 0x0600)
|
|
|
|
WINBASEAPI DWORD WINAPI GetConsoleOriginalTitleA(LPSTR console_title, DWORD size);
|
|
WINBASEAPI DWORD WINAPI GetConsoleOriginalTitleW(LPWSTR console_title, DWORD size);
|
|
#define GetConsoleOriginalTitle __MINGW_NAME_AW(GetConsoleOriginalTitle)
|
|
|
|
#endif /* _WIN32_WINNT >= 0x0600 */
|
|
|
|
WINBASEAPI WINBOOL WINAPI SetConsoleTitleA(LPCSTR console_title);
|
|
WINBASEAPI WINBOOL WINAPI SetConsoleTitleW(LPCWSTR console_title);
|
|
#define SetConsoleTitle __MINGW_NAME_AW(SetConsoleTitle)
|
|
|
|
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _APISETCONSOLEL2_ */
|