/*
- * CSRSS Console management structures.
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS Client/Server Runtime SubSystem
+ * FILE: include/reactos/subsys/win/conmsg.h
+ * PURPOSE: Public definitions for communication
+ * between Console API Clients and Servers
+ * PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/
-#ifndef __CONMSG_H__
-#define __CONMSG_H__
+#ifndef _CONMSG_H
+#define _CONMSG_H
#pragma once
-// Remove it.
-#include <drivers/blue/ntddblue.h>
-
#define CONSRV_SERVERDLL_INDEX 2
#define CONSRV_FIRST_API_NUMBER 512
-/* w32 console server - move to con.h */
-CSR_SERVER_DLL_INIT(ConServerDllInitialization);
-
-// Windows NT 4 table, adapted from http://j00ru.vexillium.org/csrss_list/api_list.html#Windows_NT
-// It is for testing purposes. After that I will update it to 2k3 version and add stubs.
+// Windows 2k3 tables, adapted from http://j00ru.vexillium.org/csrss_list/api_list.html#Windows_2k3
+// plus a little bit of Windows 7. It is for testing purposes. After that I will add stubs.
+// Some names are also deduced from the subsystems/win32/csrss/csrsrv/server.c ones.
typedef enum _CONSRV_API_NUMBER
{
- BasepCreateProcess = CONSRV_FIRST_API_NUMBER,
-
-
-#define WRITE_CONSOLE (0x2)
-#define READ_CONSOLE (0x3)
-#define ALLOC_CONSOLE (0x4)
-#define FREE_CONSOLE (0x5)
-#define SCREEN_BUFFER_INFO (0x7)
-#define SET_CURSOR (0x8)
-#define FILL_OUTPUT (0x9)
-#define READ_INPUT (0xA)
-#define WRITE_CONSOLE_OUTPUT_CHAR (0xB)
-#define WRITE_CONSOLE_OUTPUT_ATTRIB (0xC)
-#define FILL_OUTPUT_ATTRIB (0xD)
-#define GET_CURSOR_INFO (0xE)
-#define SET_CURSOR_INFO (0xF)
-#define SET_ATTRIB (0x10)
-#define GET_CONSOLE_MODE (0x11)
-#define SET_CONSOLE_MODE (0x12)
-#define CREATE_SCREEN_BUFFER (0x13)
-#define SET_SCREEN_BUFFER (0x14)
-#define SET_TITLE (0x15)
-#define GET_TITLE (0x16)
-#define WRITE_CONSOLE_OUTPUT (0x17)
-#define FLUSH_INPUT_BUFFER (0x18)
-#define SCROLL_CONSOLE_SCREEN_BUFFER (0x19)
-#define READ_CONSOLE_OUTPUT_CHAR (0x1A)
-#define READ_CONSOLE_OUTPUT_ATTRIB (0x1B)
-#define GET_NUM_INPUT_EVENTS (0x1C)
-#define PEEK_CONSOLE_INPUT (0x21)
-#define READ_CONSOLE_OUTPUT (0x22)
-#define WRITE_CONSOLE_INPUT (0x23)
-#define GET_INPUT_HANDLE (0x24)
-#define GET_OUTPUT_HANDLE (0x25)
-#define SETGET_CONSOLE_HW_STATE (0x29)
-#define GET_CONSOLE_WINDOW (0x2A)
-#define SET_CONSOLE_ICON (0x2E)
-#define GET_CONSOLE_CP (0x31)
-#define SET_CONSOLE_CP (0x32)
-#define GET_CONSOLE_OUTPUT_CP (0x33)
-#define SET_CONSOLE_OUTPUT_CP (0x34)
-#define ADD_CONSOLE_ALIAS (0x38)
-#define GET_CONSOLE_ALIAS (0x39)
-#define GET_ALL_CONSOLE_ALIASES (0x3A)
-#define GET_ALL_CONSOLE_ALIASES_LENGTH (0x3B)
-#define GET_CONSOLE_ALIASES_EXES (0x3C)
-#define GET_CONSOLE_ALIASES_EXES_LENGTH (0x3D)
-#define GENERATE_CTRL_EVENT (0x3E)
-#define SET_SCREEN_BUFFER_SIZE (0x40)
-#define GET_CONSOLE_SELECTION_INFO (0x41)
-#define GET_COMMAND_HISTORY_LENGTH (0x42)
-#define GET_COMMAND_HISTORY (0x43)
-#define EXPUNGE_COMMAND_HISTORY (0x44)
-#define SET_HISTORY_NUMBER_COMMANDS (0x45)
-#define GET_HISTORY_INFO (0x46)
-#define SET_HISTORY_INFO (0x47)
-
-
- BasepMaxApiNumber
+ ConsolepOpenConsole = CONSRV_FIRST_API_NUMBER,
+ ConsolepGetConsoleInput,
+ ConsolepWriteConsoleInput,
+ ConsolepReadConsoleOutput,
+ ConsolepWriteConsoleOutput,
+ ConsolepReadConsoleOutputString,
+ // ConsolepWriteConsoleOutputString,
+ // ConsolepFillConsoleOutput,
+ ConsolepGetMode,
+ // ConsolepGetNumberOfFonts,
+ ConsolepGetNumberOfInputEvents,
+ ConsolepGetScreenBufferInfo,
+ ConsolepGetCursorInfo,
+ // ConsolepGetMouseInfo,
+ // ConsolepGetFontInfo,
+ // ConsolepGetFontSize,
+ // ConsolepGetCurrentFont,
+ ConsolepSetMode,
+ ConsolepSetActiveScreenBuffer,
+ ConsolepFlushInputBuffer,
+ // ConsolepGetLargestWindowSize,
+ ConsolepSetScreenBufferSize,
+ // ConsolepSetCursorPosition,
+ ConsolepSetCursorInfo,
+ // ConsolepSetWindowInfo,
+ ConsolepScrollScreenBuffer,
+ // ConsolepSetTextAttribute,
+ // ConsolepSetFont,
+ ConsolepSetIcon,
+ ConsolepReadConsole,
+ ConsolepWriteConsole,
+ ConsolepDuplicateHandle,
+ /**/ ConsolepGetHandleInformation /**/,
+ // ConsolepSetHandleInformation,
+ ConsolepCloseHandle,
+ ConsolepVerifyIoHandle,
+ ConsolepAlloc,
+ ConsolepFree,
+ ConsolepGetTitle,
+ ConsolepSetTitle,
+ ConsolepCreateScreenBuffer,
+ // ConsolepInvalidateBitMapRect,
+ // ConsolepVDMOperation,
+ ConsolepSetCursor,
+ // ConsolepShowCursor,
+ // ConsolepMenuControl,
+ // ConsolepSetPalette,
+ // ConsolepSetDisplayMode,
+ // ConsolepRegisterVDM,
+ ConsolepGetHardwareState,
+ ConsolepSetHardwareState,
+ // ConsolepGetDisplayMode,
+ ConsolepAddAlias,
+ ConsolepGetAlias,
+ ConsolepGetAliasesLength,
+ ConsolepGetAliasExesLength,
+ ConsolepGetAliases,
+ ConsolepGetAliasExes,
+ ConsolepExpungeCommandHistory,
+ ConsolepSetNumberOfCommands,
+ ConsolepGetCommandHistoryLength,
+ ConsolepGetCommandHistory,
+ // ConsolepSetCommandHistoryMode,
+ ConsolepGetCP,
+ ConsolepSetCP,
+ // ConsolepSetKeyShortcuts,
+ // ConsolepSetMenuClose,
+ // ConsolepNotifyLastClose,
+ ConsolepGenerateCtrlEvent,
+ // ConsolepGetKeyboardLayoutName,
+ ConsolepGetConsoleWindow,
+ // ConsolepCharType,
+ // ConsolepSetLocalEUDC,
+ // ConsolepSetCursorMode,
+ // ConsolepGetCursorMode,
+ // ConsolepRegisterOS2,
+ // ConsolepSetOS2OemFormat,
+ // ConsolepGetNlsMode,
+ // ConsolepSetNlsMode,
+ // ConsolepRegisterConsoleIME,
+ // ConsolepUnregisterConsoleIME,
+ // ConsolepGetLangId,
+ // ConsolepAttach,
+ ConsolepGetSelectionInfo,
+ ConsolepGetProcessList,
+ ConsolepGetHistory,
+ ConsolepSetHistory,
+
+ ConsolepMaxApiNumber
} CONSRV_API_NUMBER, *PCONSRV_API_NUMBER;
-
+#define CSR_API_MESSAGE_HEADER_SIZE(Type) (FIELD_OFFSET(CSR_API_MESSAGE, Data) + sizeof(Type))
#define CSRSS_MAX_WRITE_CONSOLE (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_WRITE_CONSOLE))
#define CSRSS_MAX_WRITE_CONSOLE_OUTPUT_CHAR (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_WRITE_CONSOLE_OUTPUT_CHAR))
#define CSRSS_MAX_WRITE_CONSOLE_OUTPUT_ATTRIB (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB))
#define CSRSS_MAX_READ_CONSOLE_OUTPUT_CHAR (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_READ_CONSOLE_OUTPUT_CHAR))
#define CSRSS_MAX_READ_CONSOLE_OUTPUT_ATTRIB (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_READ_CONSOLE_OUTPUT_ATTRIB))
+#define CONSOLE_INPUT_MODE_VALID (0x0f)
+#define CONSOLE_OUTPUT_MODE_VALID (0x03)
+
+
+typedef struct
+{
+ USHORT nMaxIds;
+ PDWORD ProcessId;
+ ULONG nProcessIdsTotal;
+} CSRSS_GET_PROCESS_LIST, *PCSRSS_GET_PROCESS_LIST;
+
typedef struct
{
HANDLE ConsoleHandle;
WORD NrCharactersToRead;
WORD NrCharactersRead;
HANDLE EventHandle;
+
PVOID Buffer;
+ ULONG BufferSize;
+
UNICODE_STRING ExeName;
DWORD CtrlWakeupMask;
DWORD ControlKeyState;
typedef struct
{
- PCONTROLDISPATCHER CtrlDispatcher;
- BOOLEAN ConsoleNeeded;
+ LPTHREAD_START_ROUTINE CtrlDispatcher;
+ BOOL ConsoleNeeded;
INT ShowCmd;
HANDLE Console;
HANDLE InputHandle;
WORD Length;
} CSRSS_FILL_OUTPUT_ATTRIB, *PCSRSS_FILL_OUTPUT_ATTRIB;
-typedef struct
-{
- HANDLE ConsoleHandle;
- BOOL Unicode;
- INPUT_RECORD Input;
- BOOL MoreEvents;
- HANDLE Event;
-} CSRSS_READ_INPUT, *PCSRSS_READ_INPUT;
-
typedef struct
{
HANDLE ConsoleHandle;
HANDLE ConsoleHandle;
BOOL Unicode;
SMALL_RECT ScrollRectangle;
- BOOLEAN UseClipRectangle;
+ BOOL UseClipRectangle;
SMALL_RECT ClipRectangle;
COORD DestinationOrigin;
CHAR_INFO Fill;
} CSRSS_SCROLL_CONSOLE_SCREEN_BUFFER, *PCSRSS_SCROLL_CONSOLE_SCREEN_BUFFER;
-typedef struct
+
+/*
+ * An attribute or a character are instances of the same entity, namely
+ * a "code" (what would be called an (ANSI) escape sequence). Therefore
+ * encode them inside the same structure.
+ */
+typedef enum _CODE_TYPE
{
- HANDLE ConsoleHandle;
- BOOL Unicode;
- DWORD NumCharsToRead;
- COORD ReadCoord;
- COORD EndCoord;
- DWORD CharsRead;
- CHAR String[0];
-} CSRSS_READ_CONSOLE_OUTPUT_CHAR, *PCSRSS_READ_CONSOLE_OUTPUT_CHAR;
+ CODE_ASCII = 0x01,
+ CODE_UNICODE = 0x02,
+ CODE_ATTRIBUTE = 0x03
+} CODE_TYPE;
typedef struct
{
- HANDLE ConsoleHandle;
- DWORD NumAttrsToRead;
+ HANDLE ConsoleHandle;
+ CODE_TYPE CodeType;
+
+ DWORD NumCodesToRead;
COORD ReadCoord;
COORD EndCoord;
- WORD Attribute[0];
-} CSRSS_READ_CONSOLE_OUTPUT_ATTRIB, *PCSRSS_READ_CONSOLE_OUTPUT_ATTRIB;
+
+ DWORD CodesRead;
+
+ union
+ {
+ PVOID pCode;
+ PCHAR AsciiChar;
+ PWCHAR UnicodeChar;
+ PWORD Attribute;
+ } pCode; // Either a pointer to a character or to an attribute.
+} CSRSS_READ_CONSOLE_OUTPUT_CODE, *PCSRSS_READ_CONSOLE_OUTPUT_CODE;
typedef struct
{
HANDLE ConsoleHandle;
BOOL Unicode;
+ BOOL bRead; // TRUE --> Read ; FALSE --> Peek
+
DWORD Length;
INPUT_RECORD* InputRecord;
-} CSRSS_PEEK_CONSOLE_INPUT, *PCSRSS_PEEK_CONSOLE_INPUT;
+
+ /** For Read **/
+ ULONG InputsRead;
+ // INPUT_RECORD Input;
+ BOOL MoreEvents;
+ HANDLE Event;
+} CSRSS_GET_CONSOLE_INPUT, *PCSRSS_GET_CONSOLE_INPUT;
typedef struct
{
typedef struct
{
+ HANDLE Handle;
+} CSRSS_CLOSE_HANDLE, *PCSRSS_CLOSE_HANDLE;
+
+typedef struct
+{
+ HANDLE Handle;
+} CSRSS_VERIFY_HANDLE, *PCSRSS_VERIFY_HANDLE;
+
+typedef struct
+{
+ HANDLE Handle;
DWORD Access;
BOOL Inheritable;
+ DWORD Options;
+} CSRSS_DUPLICATE_HANDLE, *PCSRSS_DUPLICATE_HANDLE;
+
+/*
+ * Type of handles.
+ */
+typedef enum _HANDLE_TYPE
+{
+ HANDLE_INPUT = 0x01,
+ HANDLE_OUTPUT = 0x02
+} HANDLE_TYPE;
+
+typedef struct
+{
HANDLE Handle;
+ HANDLE_TYPE HandleType;
+ DWORD Access;
+ BOOL Inheritable;
DWORD ShareMode;
-} CSRSS_GET_INPUT_HANDLE, *PCSRSS_GET_INPUT_HANDLE,
- CSRSS_GET_OUTPUT_HANDLE, *PCSRSS_GET_OUTPUT_HANDLE;
+} CSRSS_OPEN_CONSOLE, *PCSRSS_OPEN_CONSOLE;
+typedef struct
+{
+ HANDLE InputWaitHandle;
+} CSRSS_GET_INPUT_WAIT_HANDLE, *PCSRSS_GET_INPUT_WAIT_HANDLE;
#define CONSOLE_HARDWARE_STATE_GET 0
#define CONSOLE_HARDWARE_STATE_SET 1
HICON WindowIcon;
} CSRSS_SET_CONSOLE_ICON, *PCSRSS_SET_CONSOLE_ICON;
-typedef struct
-{
- ULONG SourceLength;
- ULONG ExeLength;
- ULONG TargetLength;
-} CSRSS_ADD_CONSOLE_ALIAS, *PCSRSS_ADD_CONSOLE_ALIAS;
+
+
+
+
+
+
+
typedef struct
{
- ULONG SourceLength;
- ULONG ExeLength;
- ULONG BytesWritten;
- ULONG TargetBufferLength;
- PVOID TargetBuffer;
-} CSRSS_GET_CONSOLE_ALIAS, *PCSRSS_GET_CONSOLE_ALIAS;
+ ULONG SourceLength;
+ ULONG TargetLength; // Also used for storing the number of bytes written.
+ ULONG ExeLength;
+ LPWSTR Source;
+ LPWSTR Target;
+ LPWSTR Exe;
+} CSRSS_CONSOLE_ALIAS, *PCSRSS_CONSOLE_ALIAS;
typedef struct
{
- LPWSTR lpExeName;
- DWORD BytesWritten;
- DWORD AliasBufferLength;
- LPWSTR AliasBuffer;
-} CSRSS_GET_ALL_CONSOLE_ALIASES, *PCSRSS_GET_ALL_CONSOLE_ALIAS;
+ DWORD ExeLength;
+ DWORD AliasesBufferLength;
+ LPWSTR ExeName;
+ LPWSTR AliasesBuffer;
+} CSRSS_GET_ALL_CONSOLE_ALIASES, *PCSRSS_GET_ALL_CONSOLE_ALIASES;
typedef struct
{
- LPWSTR lpExeName;
DWORD Length;
+ DWORD ExeLength;
+ LPWSTR ExeName;
} CSRSS_GET_ALL_CONSOLE_ALIASES_LENGTH, *PCSRSS_GET_ALL_CONSOLE_ALIASES_LENGTH;
typedef struct
{
- DWORD BytesWritten;
DWORD Length;
LPWSTR ExeNames;
} CSRSS_GET_CONSOLE_ALIASES_EXES, *PCSRSS_GET_CONSOLE_ALIASES_EXES;
DWORD Length;
} CSRSS_GET_CONSOLE_ALIASES_EXES_LENGTH, *PCSRSS_GET_CONSOLE_ALIASES_EXES_LENGTH;
-typedef struct
-{
- DWORD Event;
- DWORD ProcessGroup;
-} CSRSS_GENERATE_CTRL_EVENT, *PCSRSS_GENERATE_CTRL_EVENT;
-typedef struct
-{
- HANDLE ConsoleHandle;
- DWORD NumInputEvents;
-} CSRSS_GET_NUM_INPUT_EVENTS, *PCSRSS_GET_NUM_INPUT_EVENTS;
-typedef struct
-{
- HANDLE OutputHandle;
- COORD Size;
-} CSRSS_SET_SCREEN_BUFFER_SIZE, *PCSRSS_SET_SCREEN_BUFFER_SIZE;
-typedef struct
-{
- CONSOLE_SELECTION_INFO Info;
-} CSRSS_GET_CONSOLE_SELECTION_INFO, *PCSRSS_GET_CONSOLE_SELECTION_INFO;
+
typedef struct
{
UNICODE_STRING ExeName;
+ PWCHAR History;
DWORD Length;
-} CSRSS_GET_COMMAND_HISTORY_LENGTH, *PCSRSS_GET_COMMAND_HISTORY_LENGTH;
+} CSRSS_GET_COMMAND_HISTORY, *PCSRSS_GET_COMMAND_HISTORY;
typedef struct
{
UNICODE_STRING ExeName;
- PWCHAR History;
DWORD Length;
-} CSRSS_GET_COMMAND_HISTORY, *PCSRSS_GET_COMMAND_HISTORY;
+} CSRSS_GET_COMMAND_HISTORY_LENGTH, *PCSRSS_GET_COMMAND_HISTORY_LENGTH;
typedef struct
{
- UNICODE_STRING ExeName;
+ UNICODE_STRING ExeName;
} CSRSS_EXPUNGE_COMMAND_HISTORY, *PCSRSS_EXPUNGE_COMMAND_HISTORY;
typedef struct
typedef struct
{
- DWORD HistoryBufferSize;
- DWORD NumberOfHistoryBuffers;
+ UINT HistoryBufferSize;
+ UINT NumberOfHistoryBuffers;
DWORD dwFlags;
-} CSRSS_GET_HISTORY_INFO, *PCSRSS_GET_HISTORY_INFO,
- CSRSS_SET_HISTORY_INFO, *PCSRSS_SET_HISTORY_INFO;;
+} CSRSS_HISTORY_INFO, *PCSRSS_HISTORY_INFO;
+
+
+
+
+
+
+
+
+
+
+typedef struct
+{
+ DWORD Event;
+ DWORD ProcessGroup;
+} CSRSS_GENERATE_CTRL_EVENT, *PCSRSS_GENERATE_CTRL_EVENT;
+
+typedef struct
+{
+ HANDLE ConsoleHandle;
+ DWORD NumInputEvents;
+} CSRSS_GET_NUM_INPUT_EVENTS, *PCSRSS_GET_NUM_INPUT_EVENTS;
+
+typedef struct
+{
+ HANDLE OutputHandle;
+ COORD Size;
+} CSRSS_SET_SCREEN_BUFFER_SIZE, *PCSRSS_SET_SCREEN_BUFFER_SIZE;
+
+typedef struct
+{
+ CONSOLE_SELECTION_INFO Info;
+} CSRSS_GET_CONSOLE_SELECTION_INFO, *PCSRSS_GET_CONSOLE_SELECTION_INFO;
-
typedef struct
{
UINT CodePage;
ULONG Reserved;
union
{
- CSRSS_WRITE_CONSOLE WriteConsoleRequest;
- CSRSS_READ_CONSOLE ReadConsoleRequest;
CSRSS_ALLOC_CONSOLE AllocConsoleRequest;
CSRSS_FREE_CONSOLE FreeConsoleRequest;
- CSRSS_SCREEN_BUFFER_INFO ScreenBufferInfoRequest;
+
+ /* Handles */
+ CSRSS_OPEN_CONSOLE OpenConsoleRequest;
+ CSRSS_CLOSE_HANDLE CloseHandleRequest;
+ CSRSS_VERIFY_HANDLE VerifyHandleRequest;
+ CSRSS_DUPLICATE_HANDLE DuplicateHandleRequest;
+ CSRSS_GET_INPUT_WAIT_HANDLE GetConsoleInputWaitHandle;
+
+ /* Cursor */
CSRSS_SET_CURSOR SetCursorRequest;
- CSRSS_FILL_OUTPUT FillOutputRequest;
- CSRSS_FILL_OUTPUT_ATTRIB FillOutputAttribRequest;
- CSRSS_READ_INPUT ReadInputRequest;
- CSRSS_WRITE_CONSOLE_OUTPUT_CHAR WriteConsoleOutputCharRequest;
- CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB WriteConsoleOutputAttribRequest;
CSRSS_GET_CURSOR_INFO GetCursorInfoRequest;
CSRSS_SET_CURSOR_INFO SetCursorInfoRequest;
- CSRSS_SET_ATTRIB SetAttribRequest;
- CSRSS_SET_CONSOLE_MODE SetConsoleModeRequest;
- CSRSS_GET_CONSOLE_MODE GetConsoleModeRequest;
+
+ CSRSS_FLUSH_INPUT_BUFFER FlushInputBufferRequest;
+
+ /* Screen buffer */
CSRSS_CREATE_SCREEN_BUFFER CreateScreenBufferRequest;
CSRSS_SET_SCREEN_BUFFER SetScreenBufferRequest;
- CSRSS_SET_TITLE SetTitleRequest;
- CSRSS_GET_TITLE GetTitleRequest;
- CSRSS_WRITE_CONSOLE_OUTPUT WriteConsoleOutputRequest;
- CSRSS_FLUSH_INPUT_BUFFER FlushInputBufferRequest;
+ CSRSS_SCREEN_BUFFER_INFO ScreenBufferInfoRequest;
+ CSRSS_SET_SCREEN_BUFFER_SIZE SetScreenBufferSize;
CSRSS_SCROLL_CONSOLE_SCREEN_BUFFER ScrollConsoleScreenBufferRequest;
- CSRSS_READ_CONSOLE_OUTPUT_CHAR ReadConsoleOutputCharRequest;
- CSRSS_READ_CONSOLE_OUTPUT_ATTRIB ReadConsoleOutputAttribRequest;
- CSRSS_PEEK_CONSOLE_INPUT PeekConsoleInputRequest;
- CSRSS_READ_CONSOLE_OUTPUT ReadConsoleOutputRequest;
- CSRSS_WRITE_CONSOLE_INPUT WriteConsoleInputRequest;
- CSRSS_GET_INPUT_HANDLE GetInputHandleRequest;
- CSRSS_GET_OUTPUT_HANDLE GetOutputHandleRequest;
+
+ CSRSS_GET_CONSOLE_SELECTION_INFO GetConsoleSelectionInfo;
+
+ /* Console mode */
+ CSRSS_SET_CONSOLE_MODE SetConsoleModeRequest;
+ CSRSS_GET_CONSOLE_MODE GetConsoleModeRequest;
CSRSS_SETGET_CONSOLE_HW_STATE ConsoleHardwareStateRequest;
+
+ /* Console window */
+ CSRSS_SET_TITLE SetTitleRequest;
+ CSRSS_GET_TITLE GetTitleRequest;
CSRSS_GET_CONSOLE_WINDOW GetConsoleWindowRequest;
CSRSS_SET_CONSOLE_ICON SetConsoleIconRequest;
- CSRSS_ADD_CONSOLE_ALIAS AddConsoleAlias;
- CSRSS_GET_CONSOLE_ALIAS GetConsoleAlias;
- CSRSS_GET_ALL_CONSOLE_ALIASES GetAllConsoleAlias;
+
+ /* Read */
+ CSRSS_READ_CONSOLE ReadConsoleRequest; // SrvReadConsole / ReadConsole
+ CSRSS_GET_CONSOLE_INPUT GetConsoleInputRequest; // SrvGetConsoleInput / PeekConsoleInput & ReadConsoleInput
+ CSRSS_READ_CONSOLE_OUTPUT ReadConsoleOutputRequest; // SrvReadConsoleOutput / ReadConsoleOutput
+ CSRSS_READ_CONSOLE_OUTPUT_CODE ReadConsoleOutputCodeRequest; // SrvReadConsoleOutputString / ReadConsoleOutputAttribute & ReadConsoleOutputCharacter
+
+ /* Write */
+ CSRSS_WRITE_CONSOLE WriteConsoleRequest;
+ CSRSS_WRITE_CONSOLE_INPUT WriteConsoleInputRequest;
+ CSRSS_WRITE_CONSOLE_OUTPUT WriteConsoleOutputRequest;
+ CSRSS_WRITE_CONSOLE_OUTPUT_CHAR WriteConsoleOutputCharRequest;
+ CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB WriteConsoleOutputAttribRequest;
+
+ CSRSS_FILL_OUTPUT FillOutputRequest;
+ CSRSS_FILL_OUTPUT_ATTRIB FillOutputAttribRequest;
+ CSRSS_SET_ATTRIB SetAttribRequest;
+
+ /* Aliases */
+ CSRSS_CONSOLE_ALIAS ConsoleAlias;
+ CSRSS_GET_ALL_CONSOLE_ALIASES GetAllConsoleAliases;
CSRSS_GET_ALL_CONSOLE_ALIASES_LENGTH GetAllConsoleAliasesLength;
CSRSS_GET_CONSOLE_ALIASES_EXES GetConsoleAliasesExes;
CSRSS_GET_CONSOLE_ALIASES_EXES_LENGTH GetConsoleAliasesExesLength;
- CSRSS_GENERATE_CTRL_EVENT GenerateCtrlEvent;
- CSRSS_GET_NUM_INPUT_EVENTS GetNumInputEventsRequest;
- CSRSS_SET_SCREEN_BUFFER_SIZE SetScreenBufferSize;
- CSRSS_GET_CONSOLE_SELECTION_INFO GetConsoleSelectionInfo;
- CSRSS_GET_COMMAND_HISTORY_LENGTH GetCommandHistoryLength;
+
+ /* History */
CSRSS_GET_COMMAND_HISTORY GetCommandHistory;
+ CSRSS_GET_COMMAND_HISTORY_LENGTH GetCommandHistoryLength;
CSRSS_EXPUNGE_COMMAND_HISTORY ExpungeCommandHistory;
CSRSS_SET_HISTORY_NUMBER_COMMANDS SetHistoryNumberCommands;
- CSRSS_GET_HISTORY_INFO GetHistoryInfo;
- CSRSS_SET_HISTORY_INFO SetHistoryInfo;
+ CSRSS_HISTORY_INFO HistoryInfoRequest;
+
+ CSRSS_GENERATE_CTRL_EVENT GenerateCtrlEvent;
+ CSRSS_GET_NUM_INPUT_EVENTS GetNumInputEventsRequest;
+
+ /* CodePage */
CSRSS_GET_CONSOLE_CP GetConsoleCodePage;
CSRSS_SET_CONSOLE_CP SetConsoleCodePage;
CSRSS_GET_CONSOLE_OUTPUT_CP GetConsoleOutputCodePage;
CSRSS_SET_CONSOLE_OUTPUT_CP SetConsoleOutputCodePage;
+
+ CSRSS_GET_PROCESS_LIST GetProcessListRequest;
} Data;
} CONSOLE_API_MESSAGE, *PCONSOLE_API_MESSAGE;
-#endif // __CONMSG_H__
+#endif // _CONMSG_H
/* EOF */