windows-terminal/dep/Console/conmsgl3.h

394 lines
13 KiB
C

/*++
Copyright (c) 1985 - 1999, Microsoft Corporation.
Licensed under the MIT license.
Module Name:
conmsgl3.h
Abstract:
This include file defines the message formats used to communicate
between the client and server portions of the CONSOLE portion of the
Windows subsystem.
Author:
Therese Stowell (thereses) 10-Nov-1990
Revision History:
Wedson Almeida Filho (wedsonaf) 23-May-2010
Modified the messages for use with the console driver.
--*/
#pragma once
#include <winconp.h> // need FONT_SELECT
typedef struct _CONSOLE_GETNUMBEROFFONTS_MSG {
OUT ULONG NumberOfFonts;
} CONSOLE_GETNUMBEROFFONTS_MSG, *PCONSOLE_GETNUMBEROFFONTS_MSG;
typedef struct _CONSOLE_GETSELECTIONINFO_MSG {
OUT CONSOLE_SELECTION_INFO SelectionInfo;
} CONSOLE_GETSELECTIONINFO_MSG, *PCONSOLE_GETSELECTIONINFO_MSG;
typedef struct _CONSOLE_GETMOUSEINFO_MSG {
OUT ULONG NumButtons;
} CONSOLE_GETMOUSEINFO_MSG, *PCONSOLE_GETMOUSEINFO_MSG;
typedef struct _CONSOLE_GETFONTINFO_MSG {
IN BOOLEAN MaximumWindow;
OUT ULONG NumFonts; // this value is valid even for error cases
} CONSOLE_GETFONTINFO_MSG, *PCONSOLE_GETFONTINFO_MSG;
typedef struct _CONSOLE_GETFONTSIZE_MSG {
IN ULONG FontIndex;
OUT COORD FontSize;
} CONSOLE_GETFONTSIZE_MSG, *PCONSOLE_GETFONTSIZE_MSG;
typedef struct _CONSOLE_CURRENTFONT_MSG {
IN BOOLEAN MaximumWindow;
IN OUT ULONG FontIndex;
IN OUT COORD FontSize;
IN OUT ULONG FontFamily;
IN OUT ULONG FontWeight;
IN OUT WCHAR FaceName[LF_FACESIZE];
} CONSOLE_CURRENTFONT_MSG, *PCONSOLE_CURRENTFONT_MSG;
typedef struct _CONSOLE_SETFONT_MSG {
IN ULONG FontIndex;
} CONSOLE_SETFONT_MSG, *PCONSOLE_SETFONT_MSG;
typedef struct _CONSOLE_SETICON_MSG {
IN HICON hIcon;
} CONSOLE_SETICON_MSG, *PCONSOLE_SETICON_MSG;
typedef struct _CONSOLE_SETICON_MSG64 {
IN PVOID64 hIcon;
} CONSOLE_SETICON_MSG64, *PCONSOLE_SETICON_MSG64;
typedef struct _CONSOLE_ADDALIAS_MSG {
IN USHORT SourceLength;
IN USHORT TargetLength;
IN USHORT ExeLength;
IN BOOLEAN Unicode;
} CONSOLE_ADDALIAS_MSG, *PCONSOLE_ADDALIAS_MSG;
typedef struct _CONSOLE_GETALIAS_MSG {
IN USHORT SourceLength;
OUT USHORT TargetLength;
IN USHORT ExeLength;
IN BOOLEAN Unicode;
} CONSOLE_GETALIAS_MSG, *PCONSOLE_GETALIAS_MSG;
typedef struct _CONSOLE_GETALIASESLENGTH_MSG {
OUT ULONG AliasesLength;
IN BOOLEAN Unicode;
} CONSOLE_GETALIASESLENGTH_MSG, *PCONSOLE_GETALIASESLENGTH_MSG;
typedef struct _CONSOLE_GETALIASEXESLENGTH_MSG {
OUT ULONG AliasExesLength;
IN BOOLEAN Unicode;
} CONSOLE_GETALIASEXESLENGTH_MSG, *PCONSOLE_GETALIASEXESLENGTH_MSG;
typedef struct _CONSOLE_GETALIASES_MSG {
IN BOOLEAN Unicode;
OUT ULONG AliasesBufferLength;
} CONSOLE_GETALIASES_MSG, *PCONSOLE_GETALIASES_MSG;
typedef struct _CONSOLE_GETALIASEXES_MSG {
OUT ULONG AliasExesBufferLength;
IN BOOLEAN Unicode;
} CONSOLE_GETALIASEXES_MSG, *PCONSOLE_GETALIASEXES_MSG;
typedef struct _CONSOLE_EXPUNGECOMMANDHISTORY_MSG {
IN BOOLEAN Unicode;
} CONSOLE_EXPUNGECOMMANDHISTORY_MSG, *PCONSOLE_EXPUNGECOMMANDHISTORY_MSG;
typedef struct _CONSOLE_SETNUMBEROFCOMMANDS_MSG {
IN ULONG NumCommands;
IN BOOLEAN Unicode;
} CONSOLE_SETNUMBEROFCOMMANDS_MSG, *PCONSOLE_SETNUMBEROFCOMMANDS_MSG;
typedef struct _CONSOLE_GETCOMMANDHISTORYLENGTH_MSG {
OUT ULONG CommandHistoryLength;
IN BOOLEAN Unicode;
} CONSOLE_GETCOMMANDHISTORYLENGTH_MSG, *PCONSOLE_GETCOMMANDHISTORYLENGTH_MSG;
typedef struct _CONSOLE_GETCOMMANDHISTORY_MSG {
OUT ULONG CommandBufferLength;
IN BOOLEAN Unicode;
} CONSOLE_GETCOMMANDHISTORY_MSG, *PCONSOLE_GETCOMMANDHISTORY_MSG;
typedef struct _CONSOLE_INVALIDATERECT_MSG {
IN SMALL_RECT Rect;
} CONSOLE_INVALIDATERECT_MSG, *PCONSOLE_INVALIDATERECT_MSG;
typedef struct _CONSOLE_VDM_MSG {
IN ULONG iFunction;
OUT BOOLEAN Bool;
IN OUT POINT Point;
OUT RECT Rect;
} CONSOLE_VDM_MSG, *PCONSOLE_VDM_MSG;
typedef struct _CONSOLE_SETCURSOR_MSG {
IN HCURSOR CursorHandle;
} CONSOLE_SETCURSOR_MSG, *PCONSOLE_SETCURSOR_MSG;
typedef struct _CONSOLE_SETCURSOR_MSG64 {
IN PVOID64 CursorHandle;
} CONSOLE_SETCURSOR_MSG64, *PCONSOLE_SETCURSOR_MSG64;
typedef struct _CONSOLE_SHOWCURSOR_MSG {
IN BOOLEAN bShow;
OUT ULONG DisplayCount;
} CONSOLE_SHOWCURSOR_MSG, *PCONSOLE_SHOWCURSOR_MSG;
typedef struct _CONSOLE_MENUCONTROL_MSG {
IN ULONG CommandIdLow;
IN ULONG CommandIdHigh;
OUT HMENU hMenu;
} CONSOLE_MENUCONTROL_MSG, *PCONSOLE_MENUCONTROL_MSG;
typedef struct _CONSOLE_MENUCONTROL_MSG64 {
IN ULONG CommandIdLow;
IN ULONG CommandIdHigh;
OUT PVOID64 hMenu;
} CONSOLE_MENUCONTROL_MSG64, *PCONSOLE_MENUCONTROL_MSG64;
typedef struct _CONSOLE_SETPALETTE_MSG {
IN HPALETTE hPalette;
IN ULONG dwUsage;
} CONSOLE_SETPALETTE_MSG, *PCONSOLE_SETPALETTE_MSG;
typedef struct _CONSOLE_SETPALETTE_MSG64 {
IN PVOID64 hPalette;
IN ULONG dwUsage;
} CONSOLE_SETPALETTE_MSG64, *PCONSOLE_SETPALETTE_MSG64;
typedef struct _CONSOLE_SETDISPLAYMODE_MSG {
IN ULONG dwFlags;
OUT COORD ScreenBufferDimensions;
} CONSOLE_SETDISPLAYMODE_MSG, *PCONSOLE_SETDISPLAYMODE_MSG;
typedef struct _CONSOLE_REGISTERVDM_MSG {
IN ULONG RegisterFlags;
IN HANDLE StartEvent;
IN HANDLE EndEvent;
IN HANDLE ErrorEvent;
OUT ULONG StateLength;
OUT PVOID StateBuffer;
OUT PVOID VDMBuffer;
} CONSOLE_REGISTERVDM_MSG, *PCONSOLE_REGISTERVDM_MSG;
typedef struct _CONSOLE_REGISTERVDM_MSG64 {
IN ULONG RegisterFlags;
IN PVOID64 StartEvent;
IN PVOID64 EndEvent;
IN PVOID64 ErrorEvent;
OUT ULONG StateLength;
OUT PVOID64 StateBuffer;
OUT PVOID64 VDMBuffer;
} CONSOLE_REGISTERVDM_MSG64, *PCONSOLE_REGISTERVDM_MSG64;
typedef struct _CONSOLE_GETHARDWARESTATE_MSG {
OUT COORD Resolution;
OUT COORD FontSize;
} CONSOLE_GETHARDWARESTATE_MSG, *PCONSOLE_GETHARDWARESTATE_MSG;
typedef struct _CONSOLE_SETHARDWARESTATE_MSG {
IN COORD Resolution;
IN COORD FontSize;
} CONSOLE_SETHARDWARESTATE_MSG, *PCONSOLE_SETHARDWARESTATE_MSG;
typedef struct _CONSOLE_GETDISPLAYMODE_MSG {
OUT ULONG ModeFlags;
} CONSOLE_GETDISPLAYMODE_MSG, *PCONSOLE_GETDISPLAYMODE_MSG;
typedef struct _CONSOLE_GETKEYBOARDLAYOUTNAME_MSG {
union {
WCHAR awchLayout[9];
char achLayout[9];
};
BOOLEAN bAnsi;
} CONSOLE_GETKEYBOARDLAYOUTNAME_MSG, *PCONSOLE_GETKEYBOARDLAYOUTNAME_MSG;
typedef struct _CONSOLE_SETKEYSHORTCUTS_MSG {
IN BOOLEAN Set;
IN BYTE ReserveKeys;
} CONSOLE_SETKEYSHORTCUTS_MSG, *PCONSOLE_SETKEYSHORTCUTS_MSG;
typedef struct _CONSOLE_SETMENUCLOSE_MSG {
IN BOOLEAN Enable;
} CONSOLE_SETMENUCLOSE_MSG, *PCONSOLE_SETMENUCLOSE_MSG;
typedef struct _CONSOLE_CHAR_TYPE_MSG {
IN COORD coordCheck;
OUT ULONG dwType;
} CONSOLE_CHAR_TYPE_MSG, *PCONSOLE_CHAR_TYPE_MSG;
typedef struct _CONSOLE_LOCAL_EUDC_MSG {
IN USHORT CodePoint;
IN COORD FontSize;
} CONSOLE_LOCAL_EUDC_MSG, *PCONSOLE_LOCAL_EUDC_MSG;
typedef struct _CONSOLE_CURSOR_MODE_MSG {
IN OUT BOOLEAN Blink;
IN OUT BOOLEAN DBEnable;
} CONSOLE_CURSOR_MODE_MSG, *PCONSOLE_CURSOR_MODE_MSG;
typedef struct _CONSOLE_REGISTEROS2_MSG {
IN BOOLEAN fOs2Register;
} CONSOLE_REGISTEROS2_MSG, *PCONSOLE_REGISTEROS2_MSG;
typedef struct _CONSOLE_SETOS2OEMFORMAT_MSG {
IN BOOLEAN fOs2OemFormat;
} CONSOLE_SETOS2OEMFORMAT_MSG, *PCONSOLE_SETOS2OEMFORMAT_MSG;
typedef struct _CONSOLE_NLS_MODE_MSG {
IN OUT BOOLEAN Ready;
IN ULONG NlsMode;
} CONSOLE_NLS_MODE_MSG, *PCONSOLE_NLS_MODE_MSG;
typedef struct _CONSOLE_GETCONSOLEWINDOW_MSG {
OUT HWND hwnd;
} CONSOLE_GETCONSOLEWINDOW_MSG, *PCONSOLE_GETCONSOLEWINDOW_MSG;
typedef struct _CONSOLE_GETCONSOLEWINDOW_MSG64 {
OUT PVOID64 hwnd;
} CONSOLE_GETCONSOLEWINDOW_MSG64, *PCONSOLE_GETCONSOLEWINDOW_MSG64;
typedef struct _CONSOLE_GETPROCESSLIST_MSG {
OUT ULONG dwProcessCount;
} CONSOLE_GETCONSOLEPROCESSLIST_MSG, *PCONSOLE_GETCONSOLEPROCESSLIST_MSG;
typedef struct _CONSOLE_GETHISTORY_MSG {
OUT ULONG HistoryBufferSize;
OUT ULONG NumberOfHistoryBuffers;
OUT ULONG dwFlags;
} CONSOLE_HISTORY_MSG, *PCONSOLE_HISTORY_MSG;
typedef enum _CONSOLE_API_NUMBER_L3 {
ConsolepGetNumberOfFonts = CONSOLE_FIRST_API_NUMBER(3),
ConsolepGetMouseInfo,
ConsolepGetFontInfo,
ConsolepGetFontSize,
ConsolepGetCurrentFont,
ConsolepSetFont,
ConsolepSetIcon,
ConsolepInvalidateBitmapRect,
ConsolepVDMOperation,
ConsolepSetCursor,
ConsolepShowCursor,
ConsolepMenuControl,
ConsolepSetPalette,
ConsolepSetDisplayMode,
ConsolepRegisterVDM,
ConsolepGetHardwareState,
ConsolepSetHardwareState,
ConsolepGetDisplayMode,
ConsolepAddAlias,
ConsolepGetAlias,
ConsolepGetAliasesLength,
ConsolepGetAliasExesLength,
ConsolepGetAliases,
ConsolepGetAliasExes,
ConsolepExpungeCommandHistory,
ConsolepSetNumberOfCommands,
ConsolepGetCommandHistoryLength,
ConsolepGetCommandHistory,
ConsolepSetKeyShortcuts,
ConsolepSetMenuClose,
ConsolepGetKeyboardLayoutName,
ConsolepGetConsoleWindow,
ConsolepCharType,
ConsolepSetLocalEUDC,
ConsolepSetCursorMode,
ConsolepGetCursorMode,
ConsolepRegisterOS2,
ConsolepSetOS2OemFormat,
ConsolepGetNlsMode,
ConsolepSetNlsMode,
ConsolepGetSelectionInfo,
ConsolepGetConsoleProcessList,
ConsolepGetHistory,
ConsolepSetHistory,
ConsolepSetCurrentFont,
} CONSOLE_API_NUMBER_L3, *PCONSOLE_API_NUMBER_L3;
typedef union _CONSOLE_MSG_BODY_L3 {
CONSOLE_GETNUMBEROFFONTS_MSG GetNumberOfConsoleFonts;
CONSOLE_GETMOUSEINFO_MSG GetConsoleMouseInfo;
CONSOLE_GETFONTINFO_MSG GetConsoleFontInfo;
CONSOLE_GETFONTSIZE_MSG GetConsoleFontSize;
CONSOLE_CURRENTFONT_MSG GetCurrentConsoleFont;
CONSOLE_SETFONT_MSG SetConsoleFont;
CONSOLE_INVALIDATERECT_MSG InvalidateConsoleBitmapRect;
CONSOLE_VDM_MSG VDMConsoleOperation;
CONSOLE_SHOWCURSOR_MSG ShowConsoleCursor;
CONSOLE_SETDISPLAYMODE_MSG SetConsoleDisplayMode;
#ifdef BUILD_WOW6432
CONSOLE_REGISTERVDM_MSG64 RegisterConsoleVDM;
CONSOLE_SETCURSOR_MSG64 SetConsoleCursor;
CONSOLE_SETICON_MSG64 SetConsoleIcon;
CONSOLE_MENUCONTROL_MSG64 ConsoleMenuControl;
CONSOLE_SETPALETTE_MSG64 SetConsolePalette;
CONSOLE_GETCONSOLEWINDOW_MSG64 GetConsoleWindow;
#else
CONSOLE_REGISTERVDM_MSG RegisterConsoleVDM;
CONSOLE_SETCURSOR_MSG SetConsoleCursor;
CONSOLE_SETICON_MSG SetConsoleIcon;
CONSOLE_MENUCONTROL_MSG ConsoleMenuControl;
CONSOLE_SETPALETTE_MSG SetConsolePalette;
CONSOLE_GETCONSOLEWINDOW_MSG GetConsoleWindow;
#endif
CONSOLE_GETHARDWARESTATE_MSG GetConsoleHardwareState;
CONSOLE_SETHARDWARESTATE_MSG SetConsoleHardwareState;
CONSOLE_GETDISPLAYMODE_MSG GetConsoleDisplayMode;
CONSOLE_ADDALIAS_MSG AddConsoleAliasW;
CONSOLE_GETALIAS_MSG GetConsoleAliasW;
CONSOLE_GETALIASESLENGTH_MSG GetConsoleAliasesLengthW;
CONSOLE_GETALIASEXESLENGTH_MSG GetConsoleAliasExesLengthW;
CONSOLE_GETALIASES_MSG GetConsoleAliasesW;
CONSOLE_GETALIASEXES_MSG GetConsoleAliasExesW;
CONSOLE_EXPUNGECOMMANDHISTORY_MSG ExpungeConsoleCommandHistoryW;
CONSOLE_SETNUMBEROFCOMMANDS_MSG SetConsoleNumberOfCommandsW;
CONSOLE_GETCOMMANDHISTORYLENGTH_MSG GetConsoleCommandHistoryLengthW;
CONSOLE_GETCOMMANDHISTORY_MSG GetConsoleCommandHistoryW;
CONSOLE_SETKEYSHORTCUTS_MSG SetConsoleKeyShortcuts;
CONSOLE_SETMENUCLOSE_MSG SetConsoleMenuClose;
CONSOLE_GETKEYBOARDLAYOUTNAME_MSG GetKeyboardLayoutName;
CONSOLE_CHAR_TYPE_MSG GetConsoleCharType;
CONSOLE_LOCAL_EUDC_MSG SetConsoleLocalEUDC;
CONSOLE_CURSOR_MODE_MSG SetConsoleCursorMode;
CONSOLE_CURSOR_MODE_MSG GetConsoleCursorMode;
CONSOLE_REGISTEROS2_MSG RegisterConsoleOS2;
CONSOLE_SETOS2OEMFORMAT_MSG SetConsoleOS2OemFormat;
CONSOLE_NLS_MODE_MSG GetConsoleNlsMode;
CONSOLE_NLS_MODE_MSG SetConsoleNlsMode;
CONSOLE_GETSELECTIONINFO_MSG GetConsoleSelectionInfo;
CONSOLE_GETCONSOLEPROCESSLIST_MSG GetConsoleProcessList;
CONSOLE_CURRENTFONT_MSG SetCurrentConsoleFont;
CONSOLE_HISTORY_MSG SetConsoleHistory;
CONSOLE_HISTORY_MSG GetConsoleHistory;
} CONSOLE_MSG_BODY_L3, *PCONSOLE_MSG_BODY_L3;
#ifndef __cplusplus
typedef struct _CONSOLE_MSG_L3 {
CONSOLE_MSG_HEADER Header;
union {
CONSOLE_MSG_BODY_L3;
} u;
} CONSOLE_MSG_L3, *PCONSOLE_MSG_L3;
#else
typedef struct _CONSOLE_MSG_L3 :
public CONSOLE_MSG_HEADER
{
CONSOLE_MSG_BODY_L3 u;
} CONSOLE_MSG_L3, *PCONSOLE_MSG_L3;
#endif // __cplusplus