6b0ee8e42fad0d8e5443af3285635e2fe05fb906
[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 = CONSRV_FIRST_API_NUMBER,
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 ProcessId;
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 PVOID Buffer;
151 UNICODE_STRING ExeName;
152 DWORD CtrlWakeupMask;
153 DWORD ControlKeyState;
154 } CSRSS_READ_CONSOLE, *PCSRSS_READ_CONSOLE;
155
156 typedef VOID (CALLBACK *PCONTROLDISPATCHER)(DWORD);
157
158 typedef struct
159 {
160 PCONTROLDISPATCHER CtrlDispatcher;
161 BOOLEAN ConsoleNeeded;
162 INT ShowCmd;
163 HANDLE Console;
164 HANDLE InputHandle;
165 HANDLE OutputHandle;
166 } CSRSS_ALLOC_CONSOLE, *PCSRSS_ALLOC_CONSOLE;
167
168 typedef struct
169 {
170 ULONG Dummy;
171 } CSRSS_FREE_CONSOLE, *PCSRSS_FREE_CONSOLE;
172
173 typedef struct
174 {
175 HANDLE ConsoleHandle;
176 CONSOLE_SCREEN_BUFFER_INFO Info;
177 } CSRSS_SCREEN_BUFFER_INFO, *PCSRSS_SCREEN_BUFFER_INFO;
178
179 typedef struct
180 {
181 HANDLE ConsoleHandle;
182 COORD Position;
183 } CSRSS_SET_CURSOR, *PCSRSS_SET_CURSOR;
184
185 typedef struct
186 {
187 HANDLE ConsoleHandle;
188 BOOL Unicode;
189 union
190 {
191 CHAR AsciiChar;
192 WCHAR UnicodeChar;
193 } Char;
194 COORD Position;
195 WORD Length;
196 ULONG NrCharactersWritten;
197 } CSRSS_FILL_OUTPUT, *PCSRSS_FILL_OUTPUT;
198
199 typedef struct
200 {
201 HANDLE ConsoleHandle;
202 CHAR Attribute;
203 COORD Coord;
204 WORD Length;
205 } CSRSS_FILL_OUTPUT_ATTRIB, *PCSRSS_FILL_OUTPUT_ATTRIB;
206
207 typedef struct
208 {
209 HANDLE ConsoleHandle;
210 BOOL Unicode;
211 INPUT_RECORD Input;
212 BOOL MoreEvents;
213 HANDLE Event;
214 } CSRSS_READ_INPUT, *PCSRSS_READ_INPUT;
215
216 typedef struct
217 {
218 HANDLE ConsoleHandle;
219 BOOL Unicode;
220 WORD Length;
221 COORD Coord;
222 COORD EndCoord;
223 ULONG NrCharactersWritten;
224 CHAR String[0];
225 } CSRSS_WRITE_CONSOLE_OUTPUT_CHAR, *PCSRSS_WRITE_CONSOLE_OUTPUT_CHAR;
226
227 typedef struct
228 {
229 HANDLE ConsoleHandle;
230 WORD Length;
231 COORD Coord;
232 COORD EndCoord;
233 WORD Attribute[0];
234 } CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB, *PCSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB;
235
236 typedef struct
237 {
238 HANDLE ConsoleHandle;
239 CONSOLE_CURSOR_INFO Info;
240 } CSRSS_GET_CURSOR_INFO, *PCSRSS_GET_CURSOR_INFO;
241
242 typedef struct
243 {
244 HANDLE ConsoleHandle;
245 CONSOLE_CURSOR_INFO Info;
246 } CSRSS_SET_CURSOR_INFO, *PCSRSS_SET_CURSOR_INFO;
247
248 typedef struct
249 {
250 HANDLE ConsoleHandle;
251 WORD Attrib;
252 } CSRSS_SET_ATTRIB, *PCSRSS_SET_ATTRIB;
253
254 typedef struct
255 {
256 HANDLE ConsoleHandle;
257 DWORD Mode;
258 } CSRSS_SET_CONSOLE_MODE, *PCSRSS_SET_CONSOLE_MODE;
259
260 typedef struct
261 {
262 HANDLE ConsoleHandle;
263 DWORD ConsoleMode;
264 } CSRSS_GET_CONSOLE_MODE, *PCSRSS_GET_CONSOLE_MODE;
265
266 typedef struct
267 {
268 DWORD Access;
269 DWORD ShareMode;
270 BOOL Inheritable;
271 HANDLE OutputHandle; /* handle to newly created screen buffer */
272 } CSRSS_CREATE_SCREEN_BUFFER, *PCSRSS_CREATE_SCREEN_BUFFER;
273
274 typedef struct
275 {
276 HANDLE OutputHandle; /* handle to screen buffer to switch to */
277 } CSRSS_SET_SCREEN_BUFFER, *PCSRSS_SET_SCREEN_BUFFER;
278
279 typedef struct
280 {
281 DWORD Length;
282 PWCHAR Title;
283 } CSRSS_SET_TITLE, *PCSRSS_SET_TITLE;
284
285 typedef struct
286 {
287 DWORD Length;
288 PWCHAR Title;
289 } CSRSS_GET_TITLE, *PCSRSS_GET_TITLE;
290
291 typedef struct
292 {
293 HANDLE ConsoleHandle;
294 BOOL Unicode;
295 COORD BufferSize;
296 COORD BufferCoord;
297 SMALL_RECT WriteRegion;
298 CHAR_INFO* CharInfo;
299 } CSRSS_WRITE_CONSOLE_OUTPUT, *PCSRSS_WRITE_CONSOLE_OUTPUT;
300
301 typedef struct
302 {
303 HANDLE ConsoleInput;
304 } CSRSS_FLUSH_INPUT_BUFFER, *PCSRSS_FLUSH_INPUT_BUFFER;
305
306 typedef struct
307 {
308 HANDLE ConsoleHandle;
309 BOOL Unicode;
310 SMALL_RECT ScrollRectangle;
311 BOOLEAN UseClipRectangle;
312 SMALL_RECT ClipRectangle;
313 COORD DestinationOrigin;
314 CHAR_INFO Fill;
315 } CSRSS_SCROLL_CONSOLE_SCREEN_BUFFER, *PCSRSS_SCROLL_CONSOLE_SCREEN_BUFFER;
316
317 typedef struct
318 {
319 HANDLE ConsoleHandle;
320 BOOL Unicode;
321 DWORD NumCharsToRead;
322 COORD ReadCoord;
323 COORD EndCoord;
324 DWORD CharsRead;
325 CHAR String[0];
326 } CSRSS_READ_CONSOLE_OUTPUT_CHAR, *PCSRSS_READ_CONSOLE_OUTPUT_CHAR;
327
328 typedef struct
329 {
330 HANDLE ConsoleHandle;
331 DWORD NumAttrsToRead;
332 COORD ReadCoord;
333 COORD EndCoord;
334 WORD Attribute[0];
335 } CSRSS_READ_CONSOLE_OUTPUT_ATTRIB, *PCSRSS_READ_CONSOLE_OUTPUT_ATTRIB;
336
337
338 typedef struct
339 {
340 HANDLE ConsoleHandle;
341 BOOL Unicode;
342 DWORD Length;
343 INPUT_RECORD* InputRecord;
344 } CSRSS_PEEK_CONSOLE_INPUT, *PCSRSS_PEEK_CONSOLE_INPUT;
345
346 typedef struct
347 {
348 HANDLE ConsoleHandle;
349 BOOL Unicode;
350 COORD BufferSize;
351 COORD BufferCoord;
352 SMALL_RECT ReadRegion;
353 CHAR_INFO* CharInfo;
354 } CSRSS_READ_CONSOLE_OUTPUT, *PCSRSS_READ_CONSOLE_OUTPUT;
355
356 typedef struct
357 {
358 HANDLE ConsoleHandle;
359 BOOL Unicode;
360 DWORD Length;
361 INPUT_RECORD* InputRecord;
362 } CSRSS_WRITE_CONSOLE_INPUT, *PCSRSS_WRITE_CONSOLE_INPUT;
363
364 typedef struct
365 {
366 HANDLE Handle;
367 } CSRSS_CLOSE_HANDLE, *PCSRSS_CLOSE_HANDLE;
368
369 typedef struct
370 {
371 HANDLE Handle;
372 } CSRSS_VERIFY_HANDLE, *PCSRSS_VERIFY_HANDLE;
373
374 typedef struct
375 {
376 HANDLE Handle;
377 DWORD Access;
378 BOOL Inheritable;
379 DWORD Options;
380 } CSRSS_DUPLICATE_HANDLE, *PCSRSS_DUPLICATE_HANDLE;
381
382 typedef struct
383 {
384 DWORD Access;
385 BOOL Inheritable;
386 HANDLE Handle;
387 DWORD ShareMode;
388 } CSRSS_GET_INPUT_HANDLE, *PCSRSS_GET_INPUT_HANDLE,
389 CSRSS_GET_OUTPUT_HANDLE, *PCSRSS_GET_OUTPUT_HANDLE;
390
391 typedef struct
392 {
393 HANDLE InputWaitHandle;
394 } CSRSS_GET_INPUT_WAIT_HANDLE, *PCSRSS_GET_INPUT_WAIT_HANDLE;
395
396 #define CONSOLE_HARDWARE_STATE_GET 0
397 #define CONSOLE_HARDWARE_STATE_SET 1
398
399 #define CONSOLE_HARDWARE_STATE_GDI_MANAGED 0
400 #define CONSOLE_HARDWARE_STATE_DIRECT 1
401
402 typedef struct
403 {
404 HANDLE ConsoleHandle;
405 DWORD SetGet; /* 0=get; 1=set */
406 DWORD State;
407 } CSRSS_SETGET_CONSOLE_HW_STATE, *PCSRSS_SETGET_CONSOLE_HW_STATE;
408
409 typedef struct
410 {
411 HWND WindowHandle;
412 } CSRSS_GET_CONSOLE_WINDOW, *PCSRSS_GET_CONSOLE_WINDOW;
413
414 typedef struct
415 {
416 HICON WindowIcon;
417 } CSRSS_SET_CONSOLE_ICON, *PCSRSS_SET_CONSOLE_ICON;
418
419 typedef struct
420 {
421 ULONG SourceLength;
422 ULONG ExeLength;
423 ULONG TargetLength;
424 } CSRSS_ADD_CONSOLE_ALIAS, *PCSRSS_ADD_CONSOLE_ALIAS;
425
426 typedef struct
427 {
428 ULONG SourceLength;
429 ULONG ExeLength;
430 ULONG BytesWritten;
431 ULONG TargetBufferLength;
432 PVOID TargetBuffer;
433 } CSRSS_GET_CONSOLE_ALIAS, *PCSRSS_GET_CONSOLE_ALIAS;
434
435 typedef struct
436 {
437 LPWSTR lpExeName;
438 DWORD BytesWritten;
439 DWORD AliasBufferLength;
440 LPWSTR AliasBuffer;
441 } CSRSS_GET_ALL_CONSOLE_ALIASES, *PCSRSS_GET_ALL_CONSOLE_ALIASES;
442
443 typedef struct
444 {
445 LPWSTR lpExeName;
446 DWORD Length;
447 } CSRSS_GET_ALL_CONSOLE_ALIASES_LENGTH, *PCSRSS_GET_ALL_CONSOLE_ALIASES_LENGTH;
448
449 typedef struct
450 {
451 DWORD BytesWritten;
452 DWORD Length;
453 LPWSTR ExeNames;
454 } CSRSS_GET_CONSOLE_ALIASES_EXES, *PCSRSS_GET_CONSOLE_ALIASES_EXES;
455
456 typedef struct
457 {
458 DWORD Length;
459 } CSRSS_GET_CONSOLE_ALIASES_EXES_LENGTH, *PCSRSS_GET_CONSOLE_ALIASES_EXES_LENGTH;
460
461 typedef struct
462 {
463 DWORD Event;
464 DWORD ProcessGroup;
465 } CSRSS_GENERATE_CTRL_EVENT, *PCSRSS_GENERATE_CTRL_EVENT;
466
467 typedef struct
468 {
469 HANDLE ConsoleHandle;
470 DWORD NumInputEvents;
471 } CSRSS_GET_NUM_INPUT_EVENTS, *PCSRSS_GET_NUM_INPUT_EVENTS;
472
473 typedef struct
474 {
475 HANDLE OutputHandle;
476 COORD Size;
477 } CSRSS_SET_SCREEN_BUFFER_SIZE, *PCSRSS_SET_SCREEN_BUFFER_SIZE;
478
479 typedef struct
480 {
481 CONSOLE_SELECTION_INFO Info;
482 } CSRSS_GET_CONSOLE_SELECTION_INFO, *PCSRSS_GET_CONSOLE_SELECTION_INFO;
483
484 typedef struct
485 {
486 UNICODE_STRING ExeName;
487 DWORD Length;
488 } CSRSS_GET_COMMAND_HISTORY_LENGTH, *PCSRSS_GET_COMMAND_HISTORY_LENGTH;
489
490 typedef struct
491 {
492 UNICODE_STRING ExeName;
493 PWCHAR History;
494 DWORD Length;
495 } CSRSS_GET_COMMAND_HISTORY, *PCSRSS_GET_COMMAND_HISTORY;
496
497 typedef struct
498 {
499 UNICODE_STRING ExeName;
500 } CSRSS_EXPUNGE_COMMAND_HISTORY, *PCSRSS_EXPUNGE_COMMAND_HISTORY;
501
502 typedef struct
503 {
504 UNICODE_STRING ExeName;
505 DWORD NumCommands;
506 } CSRSS_SET_HISTORY_NUMBER_COMMANDS, *PCSRSS_SET_HISTORY_NUMBER_COMMANDS;
507
508 typedef struct
509 {
510 DWORD HistoryBufferSize;
511 DWORD NumberOfHistoryBuffers;
512 DWORD dwFlags;
513 } CSRSS_GET_HISTORY_INFO, *PCSRSS_GET_HISTORY_INFO,
514 CSRSS_SET_HISTORY_INFO, *PCSRSS_SET_HISTORY_INFO;;
515
516 typedef struct
517 {
518 UINT CodePage;
519 } CSRSS_GET_CONSOLE_CP, *PCSRSS_GET_CONSOLE_CP;
520
521 typedef struct
522 {
523 UINT CodePage;
524 } CSRSS_SET_CONSOLE_CP, *PCSRSS_SET_CONSOLE_CP;
525
526 typedef struct
527 {
528 UINT CodePage;
529 } CSRSS_GET_CONSOLE_OUTPUT_CP, *PCSRSS_GET_CONSOLE_OUTPUT_CP;
530
531 typedef struct
532 {
533 UINT CodePage;
534 } CSRSS_SET_CONSOLE_OUTPUT_CP, *PCSRSS_SET_CONSOLE_OUTPUT_CP;
535
536 typedef struct _CONSOLE_API_MESSAGE
537 {
538 PORT_MESSAGE Header;
539
540 PCSR_CAPTURE_BUFFER CsrCaptureData;
541 CSR_API_NUMBER ApiNumber;
542 ULONG Status; // ReturnValue; // NTSTATUS Status
543 ULONG Reserved;
544 union
545 {
546 CSRSS_WRITE_CONSOLE WriteConsoleRequest;
547 CSRSS_READ_CONSOLE ReadConsoleRequest;
548 CSRSS_ALLOC_CONSOLE AllocConsoleRequest;
549 CSRSS_FREE_CONSOLE FreeConsoleRequest;
550 CSRSS_SCREEN_BUFFER_INFO ScreenBufferInfoRequest;
551 CSRSS_SET_CURSOR SetCursorRequest;
552 CSRSS_FILL_OUTPUT FillOutputRequest;
553 CSRSS_FILL_OUTPUT_ATTRIB FillOutputAttribRequest;
554 CSRSS_READ_INPUT ReadInputRequest;
555 CSRSS_WRITE_CONSOLE_OUTPUT_CHAR WriteConsoleOutputCharRequest;
556 CSRSS_WRITE_CONSOLE_OUTPUT_ATTRIB WriteConsoleOutputAttribRequest;
557 CSRSS_GET_CURSOR_INFO GetCursorInfoRequest;
558 CSRSS_SET_CURSOR_INFO SetCursorInfoRequest;
559 CSRSS_SET_ATTRIB SetAttribRequest;
560 CSRSS_SET_CONSOLE_MODE SetConsoleModeRequest;
561 CSRSS_GET_CONSOLE_MODE GetConsoleModeRequest;
562 CSRSS_CREATE_SCREEN_BUFFER CreateScreenBufferRequest;
563 CSRSS_SET_SCREEN_BUFFER SetScreenBufferRequest;
564 CSRSS_SET_TITLE SetTitleRequest;
565 CSRSS_GET_TITLE GetTitleRequest;
566 CSRSS_WRITE_CONSOLE_OUTPUT WriteConsoleOutputRequest;
567 CSRSS_FLUSH_INPUT_BUFFER FlushInputBufferRequest;
568 CSRSS_SCROLL_CONSOLE_SCREEN_BUFFER ScrollConsoleScreenBufferRequest;
569 CSRSS_READ_CONSOLE_OUTPUT_CHAR ReadConsoleOutputCharRequest;
570 CSRSS_READ_CONSOLE_OUTPUT_ATTRIB ReadConsoleOutputAttribRequest;
571 CSRSS_PEEK_CONSOLE_INPUT PeekConsoleInputRequest;
572 CSRSS_READ_CONSOLE_OUTPUT ReadConsoleOutputRequest;
573 CSRSS_WRITE_CONSOLE_INPUT WriteConsoleInputRequest;
574 CSRSS_GET_INPUT_HANDLE GetInputHandleRequest;
575 CSRSS_GET_OUTPUT_HANDLE GetOutputHandleRequest;
576 CSRSS_CLOSE_HANDLE CloseHandleRequest;
577 CSRSS_VERIFY_HANDLE VerifyHandleRequest;
578 CSRSS_DUPLICATE_HANDLE DuplicateHandleRequest;
579 CSRSS_GET_INPUT_WAIT_HANDLE GetConsoleInputWaitHandle;
580 CSRSS_SETGET_CONSOLE_HW_STATE ConsoleHardwareStateRequest;
581 CSRSS_GET_CONSOLE_WINDOW GetConsoleWindowRequest;
582 CSRSS_SET_CONSOLE_ICON SetConsoleIconRequest;
583 CSRSS_ADD_CONSOLE_ALIAS AddConsoleAlias;
584 CSRSS_GET_CONSOLE_ALIAS GetConsoleAlias;
585 CSRSS_GET_ALL_CONSOLE_ALIASES GetAllConsoleAlias;
586 CSRSS_GET_ALL_CONSOLE_ALIASES_LENGTH GetAllConsoleAliasesLength;
587 CSRSS_GET_CONSOLE_ALIASES_EXES GetConsoleAliasesExes;
588 CSRSS_GET_CONSOLE_ALIASES_EXES_LENGTH GetConsoleAliasesExesLength;
589 CSRSS_GENERATE_CTRL_EVENT GenerateCtrlEvent;
590 CSRSS_GET_NUM_INPUT_EVENTS GetNumInputEventsRequest;
591 CSRSS_SET_SCREEN_BUFFER_SIZE SetScreenBufferSize;
592 CSRSS_GET_CONSOLE_SELECTION_INFO GetConsoleSelectionInfo;
593 CSRSS_GET_COMMAND_HISTORY_LENGTH GetCommandHistoryLength;
594 CSRSS_GET_COMMAND_HISTORY GetCommandHistory;
595 CSRSS_EXPUNGE_COMMAND_HISTORY ExpungeCommandHistory;
596 CSRSS_SET_HISTORY_NUMBER_COMMANDS SetHistoryNumberCommands;
597 CSRSS_GET_HISTORY_INFO GetHistoryInfo;
598 CSRSS_SET_HISTORY_INFO SetHistoryInfo;
599 CSRSS_GET_CONSOLE_CP GetConsoleCodePage;
600 CSRSS_SET_CONSOLE_CP SetConsoleCodePage;
601 CSRSS_GET_CONSOLE_OUTPUT_CP GetConsoleOutputCodePage;
602 CSRSS_SET_CONSOLE_OUTPUT_CP SetConsoleOutputCodePage;
603 CSRSS_GET_PROCESS_LIST GetProcessListRequest;
604 } Data;
605 } CONSOLE_API_MESSAGE, *PCONSOLE_API_MESSAGE;
606
607 #endif // _CONMSG_H
608
609 /* EOF */