master
  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 _APISETCONSOLEL3_
  8#define _APISETCONSOLEL3_
  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#ifndef NOGDI
 21#include <wingdi.h>
 22#endif
 23
 24#ifdef __cplusplus
 25extern "C" {
 26#endif
 27
 28#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
 29
 30WINBASEAPI WINBOOL WINAPI GetNumberOfConsoleMouseButtons(LPDWORD number_of_mouse_buttons);
 31
 32#if (_WIN32_WINNT >= 0x0500)
 33
 34WINBASEAPI COORD WINAPI GetConsoleFontSize(HANDLE console_output, DWORD font);
 35WINBASEAPI WINBOOL WINAPI GetCurrentConsoleFont(HANDLE console_output, WINBOOL maximum_window, PCONSOLE_FONT_INFO console_current_font);
 36
 37#ifndef NOGDI
 38
 39typedef struct _CONSOLE_FONT_INFOEX {
 40  ULONG cbSize;
 41  DWORD nFont;
 42  COORD dwFontSize;
 43  UINT FontFamily;
 44  UINT FontWeight;
 45  WCHAR FaceName[LF_FACESIZE];
 46} CONSOLE_FONT_INFOEX, *PCONSOLE_FONT_INFOEX;
 47
 48WINBASEAPI WINBOOL WINAPI GetCurrentConsoleFontEx(HANDLE console_output, WINBOOL maximum_window, PCONSOLE_FONT_INFOEX console_current_font_ex);
 49WINBASEAPI WINBOOL WINAPI SetCurrentConsoleFontEx(HANDLE console_output, WINBOOL maximum_window, PCONSOLE_FONT_INFOEX console_current_font_ex);
 50
 51#endif /* !NOGDI */
 52
 53#define CONSOLE_NO_SELECTION 0x0000
 54#define CONSOLE_SELECTION_IN_PROGRESS 0x0001
 55#define CONSOLE_SELECTION_NOT_EMPTY 0x0002
 56#define CONSOLE_MOUSE_SELECTION 0x0004
 57#define CONSOLE_MOUSE_DOWN 0x0008
 58
 59typedef struct _CONSOLE_SELECTION_INFO {
 60  DWORD dwFlags;
 61  COORD dwSelectionAnchor;
 62  SMALL_RECT srSelection;
 63} CONSOLE_SELECTION_INFO, *PCONSOLE_SELECTION_INFO;
 64
 65WINBASEAPI WINBOOL WINAPI GetConsoleSelectionInfo(PCONSOLE_SELECTION_INFO console_selection_info);
 66
 67#define HISTORY_NO_DUP_FLAG 0x1
 68
 69typedef struct _CONSOLE_HISTORY_INFO {
 70  UINT cbSize;
 71  UINT HistoryBufferSize;
 72  UINT NumberOfHistoryBuffers;
 73  DWORD dwFlags;
 74} CONSOLE_HISTORY_INFO, *PCONSOLE_HISTORY_INFO;
 75
 76WINBASEAPI WINBOOL WINAPI GetConsoleHistoryInfo(PCONSOLE_HISTORY_INFO console_history_info);
 77WINBASEAPI WINBOOL WINAPI SetConsoleHistoryInfo(PCONSOLE_HISTORY_INFO console_history_info);
 78
 79#define CONSOLE_FULLSCREEN 1
 80#define CONSOLE_FULLSCREEN_HARDWARE 2
 81
 82WINBASEAPI WINBOOL APIENTRY GetConsoleDisplayMode(LPDWORD mode_flags);
 83
 84#define CONSOLE_FULLSCREEN_MODE 1
 85#define CONSOLE_WINDOWED_MODE 2
 86
 87WINBASEAPI WINBOOL APIENTRY SetConsoleDisplayMode(HANDLE console_output, DWORD flags, PCOORD new_screen_buffer_dimensions);
 88WINBASEAPI HWND APIENTRY GetConsoleWindow(void);
 89
 90#endif /* _WIN32_WINNT >= 0x0500 */
 91
 92#if (_WIN32_WINNT >= 0x0501)
 93
 94WINBASEAPI WINBOOL APIENTRY AddConsoleAliasA(LPSTR source, LPSTR target, LPSTR exe_name);
 95WINBASEAPI WINBOOL APIENTRY AddConsoleAliasW(LPWSTR source, LPWSTR target, LPWSTR exe_name);
 96#define AddConsoleAlias __MINGW_NAME_AW(AddConsoleAlias)
 97
 98WINBASEAPI DWORD APIENTRY GetConsoleAliasA(LPSTR source, LPSTR target_buffer, DWORD target_buffer_length, LPSTR exe_name);
 99WINBASEAPI DWORD APIENTRY GetConsoleAliasW(LPWSTR source, LPWSTR target_buffer, DWORD target_buffer_length, LPWSTR exe_name);
100#define GetConsoleAlias __MINGW_NAME_AW(GetConsoleAlias)
101
102WINBASEAPI DWORD APIENTRY GetConsoleAliasesLengthA(LPSTR exe_name);
103WINBASEAPI DWORD APIENTRY GetConsoleAliasesLengthW(LPWSTR exe_name);
104#define GetConsoleAliasesLength __MINGW_NAME_AW(GetConsoleAliasesLength)
105
106WINBASEAPI DWORD APIENTRY GetConsoleAliasExesLengthA(void);
107WINBASEAPI DWORD APIENTRY GetConsoleAliasExesLengthW(void);
108#define GetConsoleAliasExesLength __MINGW_NAME_AW(GetConsoleAliasExesLength)
109
110WINBASEAPI DWORD APIENTRY GetConsoleAliasesA(LPSTR alias_buffer, DWORD alias_buffer_length, LPSTR exe_name);
111WINBASEAPI DWORD APIENTRY GetConsoleAliasesW(LPWSTR alias_buffer, DWORD alias_buffer_length, LPWSTR exe_name);
112#define GetConsoleAliases __MINGW_NAME_AW(GetConsoleAliases)
113
114WINBASEAPI DWORD APIENTRY GetConsoleAliasExesA(LPSTR exe_name_buffer, DWORD exe_name_buffer_length);
115WINBASEAPI DWORD APIENTRY GetConsoleAliasExesW(LPWSTR exe_name_buffer, DWORD exe_name_buffer_length);
116#define GetConsoleAliasExes __MINGW_NAME_AW(GetConsoleAliasExes)
117
118#endif /* _WIN32_WINNT >= 0x0501 */
119
120WINBASEAPI void APIENTRY ExpungeConsoleCommandHistoryA(LPSTR exe_name);
121WINBASEAPI void APIENTRY ExpungeConsoleCommandHistoryW(LPWSTR exe_name);
122#define ExpungeConsoleCommandHistory __MINGW_NAME_AW(ExpungeConsoleCommandHistory)
123
124WINBASEAPI WINBOOL APIENTRY SetConsoleNumberOfCommandsA(DWORD number, LPSTR exe_name);
125WINBASEAPI WINBOOL APIENTRY SetConsoleNumberOfCommandsW(DWORD number, LPWSTR exe_name);
126#define SetConsoleNumberOfCommands __MINGW_NAME_AW(SetConsoleNumberOfCommands)
127
128WINBASEAPI DWORD APIENTRY GetConsoleCommandHistoryLengthA(LPSTR exe_name);
129WINBASEAPI DWORD APIENTRY GetConsoleCommandHistoryLengthW(LPWSTR exe_name);
130#define GetConsoleCommandHistoryLength __MINGW_NAME_AW(GetConsoleCommandHistoryLength)
131
132WINBASEAPI DWORD APIENTRY GetConsoleCommandHistoryA(LPSTR commands, DWORD command_buffer_length, LPSTR exe_name);
133WINBASEAPI DWORD APIENTRY GetConsoleCommandHistoryW(LPWSTR commands, DWORD command_buffer_length, LPWSTR exe_name);
134#define GetConsoleCommandHistory __MINGW_NAME_AW(GetConsoleCommandHistory)
135
136#if (_WIN32_WINNT >= 0x0501)
137WINBASEAPI DWORD APIENTRY GetConsoleProcessList(LPDWORD process_list, DWORD process_count);
138#endif /* _WIN32_WINNT >= 0x0501 */
139
140#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
141
142#ifdef __cplusplus
143}
144#endif
145
146#endif /* _APISETCONSOLEL3_ */