539e9634be5ba4c1c57ea72fabc82e071ecc4c07
[reactos.git] / include / reactos / subsys / win / conmsg.h
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Client/Server Runtime SubSystem
4 * FILE: include/reactos/subsys/win/conmsg.h
5 * PURPOSE: Public definitions for communication
6 * between Console API Clients and Servers
7 * PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
8 */
9
10 #ifndef _CONMSG_H
11 #define _CONMSG_H
12
13 #pragma once
14
15 #define CONSRV_SERVERDLL_INDEX 2
16 #define CONSRV_FIRST_API_NUMBER 512
17
18 // Windows 2k3 tables, adapted from http://j00ru.vexillium.org/csrss_list/api_list.html#Windows_2k3
19 // plus a little bit of Windows 7. It is for testing purposes. After that I will add stubs.
20 // Some names are also deduced from the subsystems/win32/csrss/csrsrv/server.c ones.
21 typedef enum _CONSRV_API_NUMBER
22 {
23 ConsolepOpenConsole = CONSRV_FIRST_API_NUMBER,
24 ConsolepGetConsoleInput,
25 ConsolepWriteConsoleInput,
26 ConsolepReadConsoleOutput,
27 ConsolepWriteConsoleOutput,
28 ConsolepReadConsoleOutputString,
29 // ConsolepWriteConsoleOutputString,
30 // ConsolepFillConsoleOutput,
31 ConsolepGetMode,
32 // ConsolepGetNumberOfFonts,
33 ConsolepGetNumberOfInputEvents,
34 ConsolepGetScreenBufferInfo,
35 ConsolepGetCursorInfo,
36 // ConsolepGetMouseInfo,
37 // ConsolepGetFontInfo,
38 // ConsolepGetFontSize,
39 // ConsolepGetCurrentFont,
40 ConsolepSetMode,
41 ConsolepSetActiveScreenBuffer,
42 ConsolepFlushInputBuffer,
43 // ConsolepGetLargestWindowSize,
44 ConsolepSetScreenBufferSize,
45 ConsolepSetCursorPosition,
46 ConsolepSetCursorInfo,
47 // ConsolepSetWindowInfo,
48 ConsolepScrollScreenBuffer,
49 ConsolepSetTextAttribute,
50 // ConsolepSetFont,
51 ConsolepSetIcon,
52 ConsolepReadConsole,
53 ConsolepWriteConsole,
54 ConsolepDuplicateHandle,
55 // ConsolepGetHandleInformation,
56 // ConsolepSetHandleInformation,
57 ConsolepCloseHandle,
58 ConsolepVerifyIoHandle,
59 ConsolepAlloc,
60 ConsolepFree,
61 ConsolepGetTitle,
62 ConsolepSetTitle,
63 ConsolepCreateScreenBuffer,
64 // ConsolepInvalidateBitMapRect,
65 // ConsolepVDMOperation,
66 // ConsolepSetCursor,
67 // ConsolepShowCursor,
68 // ConsolepMenuControl,
69 // ConsolepSetPalette,
70 // ConsolepSetDisplayMode,
71 // ConsolepRegisterVDM,
72 ConsolepGetHardwareState,
73 ConsolepSetHardwareState,
74 // ConsolepGetDisplayMode,
75 ConsolepAddAlias,
76 ConsolepGetAlias,
77 ConsolepGetAliasesLength,
78 ConsolepGetAliasExesLength,
79 ConsolepGetAliases,
80 ConsolepGetAliasExes,
81 ConsolepExpungeCommandHistory,
82 ConsolepSetNumberOfCommands,
83 ConsolepGetCommandHistoryLength,
84 ConsolepGetCommandHistory,
85 // ConsolepSetCommandHistoryMode,
86 ConsolepGetCP,
87 ConsolepSetCP,
88 // ConsolepSetKeyShortcuts,
89 // ConsolepSetMenuClose,
90 // ConsolepNotifyLastClose,
91 ConsolepGenerateCtrlEvent,
92 // ConsolepGetKeyboardLayoutName,
93 ConsolepGetConsoleWindow,
94 // ConsolepCharType,
95 // ConsolepSetLocalEUDC,
96 // ConsolepSetCursorMode,
97 // ConsolepGetCursorMode,
98 // ConsolepRegisterOS2,
99 // ConsolepSetOS2OemFormat,
100 // ConsolepGetNlsMode,
101 // ConsolepSetNlsMode,
102 // ConsolepRegisterConsoleIME,
103 // ConsolepUnregisterConsoleIME,
104 // ConsolepGetLangId,
105 // ConsolepAttach,
106 ConsolepGetSelectionInfo,
107 ConsolepGetProcessList,
108 ConsolepGetHistory,
109 ConsolepSetHistory,
110
111 ConsolepMaxApiNumber
112 } CONSRV_API_NUMBER, *PCONSRV_API_NUMBER;
113
114
115 #define CSR_API_MESSAGE_HEADER_SIZE(Type) (FIELD_OFFSET(CSR_API_MESSAGE, Data) + sizeof(Type))
116 #define CSRSS_MAX_WRITE_CONSOLE (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_WRITE_CONSOLE))
117 #define CSRSS_MAX_WRITE_CONSOLE_OUTPUT_CHAR (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_WRITE_CONSOLE_OUTPUT_CHAR))
118 #define CSRSS_MAX_WRITE_CONSOLE_OUTPUT_ATTRIB (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB))
119 #define CSRSS_MAX_READ_CONSOLE_OUTPUT_CHAR (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_READ_CONSOLE_OUTPUT_CHAR))
120 #define CSRSS_MAX_READ_CONSOLE_OUTPUT_ATTRIB (LPC_MAX_DATA_LENGTH - CSR_API_MESSAGE_HEADER_SIZE(CSRSS_READ_CONSOLE_OUTPUT_ATTRIB))
121
122 #define CONSOLE_INPUT_MODE_VALID (0x0f)
123 #define CONSOLE_OUTPUT_MODE_VALID (0x03)
124
125
126 typedef struct
127 {
128 USHORT nMaxIds;
129 PDWORD pProcessIds;
130 ULONG nProcessIdsTotal;
131 } CSRSS_GET_PROCESS_LIST, *PCSRSS_GET_PROCESS_LIST;
132
133 typedef struct
134 {
135 HANDLE ConsoleHandle;
136 BOOL Unicode;
137 ULONG NrCharactersToWrite;
138 ULONG NrCharactersWritten;
139 HANDLE UnpauseEvent;
140 BYTE Buffer[0];
141 } CSRSS_WRITE_CONSOLE, *PCSRSS_WRITE_CONSOLE;
142
143 typedef struct
144 {
145 HANDLE ConsoleHandle;
146 BOOL Unicode;
147 WORD NrCharactersToRead;
148 WORD NrCharactersRead;
149 HANDLE EventHandle;
150
151 PVOID Buffer;
152 ULONG BufferSize;
153
154 UNICODE_STRING ExeName;
155 DWORD CtrlWakeupMask;
156 DWORD ControlKeyState;
157 } CSRSS_READ_CONSOLE, *PCSRSS_READ_CONSOLE;
158
159 typedef struct
160 {
161 LPTHREAD_START_ROUTINE CtrlDispatcher;
162 BOOL ConsoleNeeded;
163 INT ShowCmd;
164 HANDLE Console;
165 HANDLE InputHandle;
166 HANDLE OutputHandle;
167 } CSRSS_ALLOC_CONSOLE, *PCSRSS_ALLOC_CONSOLE;
168
169 typedef struct
170 {
171 ULONG Dummy;
172 } CSRSS_FREE_CONSOLE, *PCSRSS_FREE_CONSOLE;
173
174 typedef struct
175 {
176 HANDLE ConsoleHandle;
177 CONSOLE_SCREEN_BUFFER_INFO Info;
178 } CSRSS_SCREEN_BUFFER_INFO, *PCSRSS_SCREEN_BUFFER_INFO;
179
180 typedef struct
181 {
182 HANDLE ConsoleHandle;
183 COORD Position;
184 } CSRSS_SET_CURSOR_POSITION, *PCSRSS_SET_CURSOR_POSITION;
185
186 typedef struct
187 {
188 HANDLE ConsoleHandle;
189 BOOL Unicode;
190 union
191 {
192 CHAR AsciiChar;
193 WCHAR UnicodeChar;
194 } Char;
195 COORD Position;
196 WORD Length;
197 ULONG NrCharactersWritten;
198 } CSRSS_FILL_OUTPUT, *PCSRSS_FILL_OUTPUT;
199
200 typedef struct
201 {
202 HANDLE ConsoleHandle;
203 CHAR Attribute;
204 COORD Coord;
205 WORD Length;
206 } CSRSS_FILL_OUTPUT_ATTRIB, *PCSRSS_FILL_OUTPUT_ATTRIB;
207
208 typedef struct
209 {
210 HANDLE ConsoleHandle;
211 BOOL Unicode;
212 WORD Length;
213 COORD Coord;
214 COORD EndCoord;
215 ULONG NrCharactersWritten;
216 CHAR String[0];
217 } CSRSS_WRITE_CONSOLE_OUTPUT_CHAR, *PCSRSS_WRITE_CONSOLE_OUTPUT_CHAR;
218
219 typedef struct
220 {
221 HANDLE ConsoleHandle;
222 WORD Length;
223 COORD Coord;
224 COORD EndCoord;
225 WORD Attribute[0];
226 } CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB, *PCSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB;
227
228 typedef struct
229 {
230 HANDLE ConsoleHandle;
231 CONSOLE_CURSOR_INFO Info;
232 } CSRSS_CURSOR_INFO, *PCSRSS_CURSOR_INFO;
233
234 typedef struct
235 {
236 HANDLE ConsoleHandle;
237 WORD Attrib;
238 } CSRSS_SET_ATTRIB, *PCSRSS_SET_ATTRIB;
239
240 typedef struct
241 {
242 HANDLE ConsoleHandle;
243 DWORD ConsoleMode;
244 } CSRSS_CONSOLE_MODE, *PCSRSS_CONSOLE_MODE;
245
246 typedef struct
247 {
248 DWORD Access;
249 DWORD ShareMode;
250 BOOL Inheritable;
251 HANDLE OutputHandle; /* handle to newly created screen buffer */
252 } CSRSS_CREATE_SCREEN_BUFFER, *PCSRSS_CREATE_SCREEN_BUFFER;
253
254 typedef struct
255 {
256 HANDLE OutputHandle; /* handle to screen buffer to switch to */
257 } CSRSS_SET_SCREEN_BUFFER, *PCSRSS_SET_SCREEN_BUFFER;
258
259 typedef struct
260 {
261 DWORD Length;
262 PWCHAR Title;
263 } CSRSS_CONSOLE_TITLE, *PCSRSS_CONSOLE_TITLE;
264
265 typedef struct
266 {
267 HANDLE ConsoleHandle;
268 BOOL Unicode;
269 COORD BufferSize;
270 COORD BufferCoord;
271 SMALL_RECT WriteRegion;
272 CHAR_INFO* CharInfo;
273 } CSRSS_WRITE_CONSOLE_OUTPUT, *PCSRSS_WRITE_CONSOLE_OUTPUT;
274
275 typedef struct
276 {
277 HANDLE ConsoleInput;
278 } CSRSS_FLUSH_INPUT_BUFFER, *PCSRSS_FLUSH_INPUT_BUFFER;
279
280 typedef struct
281 {
282 HANDLE ConsoleHandle;
283 BOOL Unicode;
284 SMALL_RECT ScrollRectangle;
285 BOOL UseClipRectangle;
286 SMALL_RECT ClipRectangle;
287 COORD DestinationOrigin;
288 CHAR_INFO Fill;
289 } CSRSS_SCROLL_CONSOLE_SCREEN_BUFFER, *PCSRSS_SCROLL_CONSOLE_SCREEN_BUFFER;
290
291
292 /*
293 * An attribute or a character are instances of the same entity, namely
294 * a "code" (what would be called an (ANSI) escape sequence). Therefore
295 * encode them inside the same structure.
296 */
297 typedef enum _CODE_TYPE
298 {
299 CODE_ASCII = 0x01,
300 CODE_UNICODE = 0x02,
301 CODE_ATTRIBUTE = 0x03
302 } CODE_TYPE;
303
304 typedef struct
305 {
306 HANDLE ConsoleHandle;
307 CODE_TYPE CodeType;
308
309 DWORD NumCodesToRead;
310 COORD ReadCoord;
311 COORD EndCoord;
312
313 DWORD CodesRead;
314
315 union
316 {
317 PVOID pCode;
318 PCHAR AsciiChar;
319 PWCHAR UnicodeChar;
320 PWORD Attribute;
321 } pCode; // Either a pointer to a character or to an attribute.
322 } CSRSS_READ_CONSOLE_OUTPUT_CODE, *PCSRSS_READ_CONSOLE_OUTPUT_CODE;
323
324
325 typedef struct
326 {
327 HANDLE ConsoleHandle;
328 BOOL Unicode;
329 BOOL bRead; // TRUE --> Read ; FALSE --> Peek
330
331 DWORD Length;
332 INPUT_RECORD* InputRecord;
333
334 /** For Read **/
335 ULONG InputsRead;
336 // INPUT_RECORD Input;
337 BOOL MoreEvents;
338 HANDLE Event;
339 } CSRSS_GET_CONSOLE_INPUT, *PCSRSS_GET_CONSOLE_INPUT;
340
341 typedef struct
342 {
343 HANDLE ConsoleHandle;
344 BOOL Unicode;
345 COORD BufferSize;
346 COORD BufferCoord;
347 SMALL_RECT ReadRegion;
348 CHAR_INFO* CharInfo;
349 } CSRSS_READ_CONSOLE_OUTPUT, *PCSRSS_READ_CONSOLE_OUTPUT;
350
351 typedef struct
352 {
353 HANDLE ConsoleHandle;
354 BOOL Unicode;
355 DWORD Length;
356 INPUT_RECORD* InputRecord;
357 } CSRSS_WRITE_CONSOLE_INPUT, *PCSRSS_WRITE_CONSOLE_INPUT;
358
359 typedef struct
360 {
361 HANDLE Handle;
362 } CSRSS_CLOSE_HANDLE, *PCSRSS_CLOSE_HANDLE;
363
364 typedef struct
365 {
366 HANDLE Handle;
367 } CSRSS_VERIFY_HANDLE, *PCSRSS_VERIFY_HANDLE;
368
369 typedef struct
370 {
371 HANDLE Handle;
372 DWORD Access;
373 BOOL Inheritable;
374 DWORD Options;
375 } CSRSS_DUPLICATE_HANDLE, *PCSRSS_DUPLICATE_HANDLE;
376
377 /*
378 * Type of handles.
379 */
380 typedef enum _HANDLE_TYPE
381 {
382 HANDLE_INPUT = 0x01,
383 HANDLE_OUTPUT = 0x02
384 } HANDLE_TYPE;
385
386 typedef struct
387 {
388 HANDLE Handle;
389 HANDLE_TYPE HandleType;
390 DWORD Access;
391 BOOL Inheritable;
392 DWORD ShareMode;
393 } CSRSS_OPEN_CONSOLE, *PCSRSS_OPEN_CONSOLE;
394
395 typedef struct
396 {
397 HANDLE InputWaitHandle;
398 } CSRSS_GET_INPUT_WAIT_HANDLE, *PCSRSS_GET_INPUT_WAIT_HANDLE;
399
400
401 /*
402 * Console hardware states.
403 */
404 #define CONSOLE_HARDWARE_STATE_GDI_MANAGED 0
405 #define CONSOLE_HARDWARE_STATE_DIRECT 1
406
407 typedef struct
408 {
409 HANDLE ConsoleHandle;
410 DWORD State;
411 } CSRSS_CONSOLE_HW_STATE, *PCSRSS_CONSOLE_HW_STATE;
412
413 typedef struct
414 {
415 HWND WindowHandle;
416 } CSRSS_GET_CONSOLE_WINDOW, *PCSRSS_GET_CONSOLE_WINDOW;
417
418 typedef struct
419 {
420 HICON WindowIcon;
421 } CSRSS_SET_CONSOLE_ICON, *PCSRSS_SET_CONSOLE_ICON;
422
423
424
425
426
427
428
429
430
431 typedef struct
432 {
433 ULONG SourceLength;
434 ULONG TargetLength; // Also used for storing the number of bytes written.
435 ULONG ExeLength;
436 LPWSTR Source;
437 LPWSTR Target;
438 LPWSTR Exe;
439 } CSRSS_CONSOLE_ALIAS, *PCSRSS_CONSOLE_ALIAS;
440
441 typedef struct
442 {
443 DWORD ExeLength;
444 DWORD AliasesBufferLength;
445 LPWSTR ExeName;
446 LPWSTR AliasesBuffer;
447 } CSRSS_GET_ALL_CONSOLE_ALIASES, *PCSRSS_GET_ALL_CONSOLE_ALIASES;
448
449 typedef struct
450 {
451 DWORD Length;
452 DWORD ExeLength;
453 LPWSTR ExeName;
454 } CSRSS_GET_ALL_CONSOLE_ALIASES_LENGTH, *PCSRSS_GET_ALL_CONSOLE_ALIASES_LENGTH;
455
456 typedef struct
457 {
458 DWORD Length;
459 LPWSTR ExeNames;
460 } CSRSS_GET_CONSOLE_ALIASES_EXES, *PCSRSS_GET_CONSOLE_ALIASES_EXES;
461
462 typedef struct
463 {
464 DWORD Length;
465 } CSRSS_GET_CONSOLE_ALIASES_EXES_LENGTH, *PCSRSS_GET_CONSOLE_ALIASES_EXES_LENGTH;
466
467
468
469
470
471
472 typedef struct
473 {
474 UNICODE_STRING ExeName;
475 PWCHAR History;
476 DWORD Length;
477 } CSRSS_GET_COMMAND_HISTORY, *PCSRSS_GET_COMMAND_HISTORY;
478
479 typedef struct
480 {
481 UNICODE_STRING ExeName;
482 DWORD Length;
483 } CSRSS_GET_COMMAND_HISTORY_LENGTH, *PCSRSS_GET_COMMAND_HISTORY_LENGTH;
484
485 typedef struct
486 {
487 UNICODE_STRING ExeName;
488 } CSRSS_EXPUNGE_COMMAND_HISTORY, *PCSRSS_EXPUNGE_COMMAND_HISTORY;
489
490 typedef struct
491 {
492 UNICODE_STRING ExeName;
493 DWORD NumCommands;
494 } CSRSS_SET_HISTORY_NUMBER_COMMANDS, *PCSRSS_SET_HISTORY_NUMBER_COMMANDS;
495
496 typedef struct
497 {
498 UINT HistoryBufferSize;
499 UINT NumberOfHistoryBuffers;
500 DWORD dwFlags;
501 } CSRSS_HISTORY_INFO, *PCSRSS_HISTORY_INFO;
502
503
504
505
506
507
508
509
510
511
512 typedef struct
513 {
514 DWORD Event;
515 DWORD ProcessGroup;
516 } CSRSS_GENERATE_CTRL_EVENT, *PCSRSS_GENERATE_CTRL_EVENT;
517
518 typedef struct
519 {
520 HANDLE ConsoleHandle;
521 DWORD NumInputEvents;
522 } CSRSS_GET_NUM_INPUT_EVENTS, *PCSRSS_GET_NUM_INPUT_EVENTS;
523
524 typedef struct
525 {
526 HANDLE OutputHandle;
527 COORD Size;
528 } CSRSS_SET_SCREEN_BUFFER_SIZE, *PCSRSS_SET_SCREEN_BUFFER_SIZE;
529
530 typedef struct
531 {
532 CONSOLE_SELECTION_INFO Info;
533 } CSRSS_GET_CONSOLE_SELECTION_INFO, *PCSRSS_GET_CONSOLE_SELECTION_INFO;
534
535 typedef struct
536 {
537 BOOL InputCP; // TRUE : Input Code Page ; FALSE : Output Code Page
538 UINT CodePage;
539 } CSRSS_CONSOLE_CP, *PCSRSS_CONSOLE_CP;
540
541 typedef struct _CONSOLE_API_MESSAGE
542 {
543 PORT_MESSAGE Header;
544
545 PCSR_CAPTURE_BUFFER CsrCaptureData;
546 CSR_API_NUMBER ApiNumber;
547 ULONG Status; // ReturnValue; // NTSTATUS Status
548 ULONG Reserved;
549 union
550 {
551 CSRSS_ALLOC_CONSOLE AllocConsoleRequest;
552 CSRSS_FREE_CONSOLE FreeConsoleRequest;
553
554 /* Handles */
555 CSRSS_OPEN_CONSOLE OpenConsoleRequest;
556 CSRSS_CLOSE_HANDLE CloseHandleRequest;
557 CSRSS_VERIFY_HANDLE VerifyHandleRequest;
558 CSRSS_DUPLICATE_HANDLE DuplicateHandleRequest;
559 CSRSS_GET_INPUT_WAIT_HANDLE GetConsoleInputWaitHandle;
560
561 /* Cursor */
562 CSRSS_CURSOR_INFO CursorInfoRequest;
563 CSRSS_SET_CURSOR_POSITION SetCursorPositionRequest;
564
565 /* Screen buffer */
566 CSRSS_CREATE_SCREEN_BUFFER CreateScreenBufferRequest;
567 CSRSS_SET_SCREEN_BUFFER SetScreenBufferRequest;
568 CSRSS_SCREEN_BUFFER_INFO ScreenBufferInfoRequest;
569 CSRSS_SET_SCREEN_BUFFER_SIZE SetScreenBufferSize;
570 CSRSS_SCROLL_CONSOLE_SCREEN_BUFFER ScrollConsoleScreenBufferRequest;
571
572 CSRSS_GET_CONSOLE_SELECTION_INFO GetConsoleSelectionInfo;
573 CSRSS_FLUSH_INPUT_BUFFER FlushInputBufferRequest;
574
575 /* Console mode */
576 CSRSS_CONSOLE_MODE ConsoleModeRequest;
577 CSRSS_CONSOLE_HW_STATE ConsoleHardwareStateRequest;
578
579 /* Console window */
580 CSRSS_CONSOLE_TITLE TitleRequest;
581 CSRSS_GET_CONSOLE_WINDOW GetConsoleWindowRequest;
582 CSRSS_SET_CONSOLE_ICON SetConsoleIconRequest;
583
584 /* Read */
585 CSRSS_READ_CONSOLE ReadConsoleRequest; // SrvReadConsole / ReadConsole
586 CSRSS_GET_CONSOLE_INPUT GetConsoleInputRequest; // SrvGetConsoleInput / PeekConsoleInput & ReadConsoleInput
587 CSRSS_READ_CONSOLE_OUTPUT ReadConsoleOutputRequest; // SrvReadConsoleOutput / ReadConsoleOutput
588 CSRSS_READ_CONSOLE_OUTPUT_CODE ReadConsoleOutputCodeRequest; // SrvReadConsoleOutputString / ReadConsoleOutputAttribute & ReadConsoleOutputCharacter
589
590 /* Write */
591 CSRSS_WRITE_CONSOLE WriteConsoleRequest;
592 CSRSS_WRITE_CONSOLE_INPUT WriteConsoleInputRequest;
593 CSRSS_WRITE_CONSOLE_OUTPUT WriteConsoleOutputRequest;
594 CSRSS_WRITE_CONSOLE_OUTPUT_CHAR WriteConsoleOutputCharRequest;
595 CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB WriteConsoleOutputAttribRequest;
596
597 CSRSS_FILL_OUTPUT FillOutputRequest;
598 CSRSS_FILL_OUTPUT_ATTRIB FillOutputAttribRequest;
599 CSRSS_SET_ATTRIB SetAttribRequest;
600
601 /* Aliases */
602 CSRSS_CONSOLE_ALIAS ConsoleAlias;
603 CSRSS_GET_ALL_CONSOLE_ALIASES GetAllConsoleAliases;
604 CSRSS_GET_ALL_CONSOLE_ALIASES_LENGTH GetAllConsoleAliasesLength;
605 CSRSS_GET_CONSOLE_ALIASES_EXES GetConsoleAliasesExes;
606 CSRSS_GET_CONSOLE_ALIASES_EXES_LENGTH GetConsoleAliasesExesLength;
607
608 /* History */
609 CSRSS_GET_COMMAND_HISTORY GetCommandHistory;
610 CSRSS_GET_COMMAND_HISTORY_LENGTH GetCommandHistoryLength;
611 CSRSS_EXPUNGE_COMMAND_HISTORY ExpungeCommandHistory;
612 CSRSS_SET_HISTORY_NUMBER_COMMANDS SetHistoryNumberCommands;
613 CSRSS_HISTORY_INFO HistoryInfoRequest;
614
615 CSRSS_GENERATE_CTRL_EVENT GenerateCtrlEvent;
616 CSRSS_GET_NUM_INPUT_EVENTS GetNumInputEventsRequest;
617
618 /* Input and Output Code Pages */
619 CSRSS_CONSOLE_CP ConsoleCPRequest;
620
621 CSRSS_GET_PROCESS_LIST GetProcessListRequest;
622 } Data;
623 } CONSOLE_API_MESSAGE, *PCONSOLE_API_MESSAGE;
624
625 #endif // _CONMSG_H
626
627 /* EOF */