[CSR/CONSRV/WINSRV]
[reactos.git] / include / reactos / subsys / win / conmsg.h
index 5f1f10c..6b0ee8e 100644 (file)
@@ -112,12 +112,24 @@ typedef enum _CONSRV_API_NUMBER
 } 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;
@@ -141,6 +153,8 @@ typedef struct
     DWORD ControlKeyState;
 } CSRSS_READ_CONSOLE, *PCSRSS_READ_CONSOLE;
 
+typedef VOID (CALLBACK *PCONTROLDISPATCHER)(DWORD);
+
 typedef struct
 {
     PCONTROLDISPATCHER CtrlDispatcher;
@@ -347,6 +361,24 @@ typedef struct
     INPUT_RECORD* InputRecord;
 } CSRSS_WRITE_CONSOLE_INPUT, *PCSRSS_WRITE_CONSOLE_INPUT;
 
+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;
+
 typedef struct
 {
     DWORD Access;
@@ -356,6 +388,10 @@ typedef struct
 } CSRSS_GET_INPUT_HANDLE, *PCSRSS_GET_INPUT_HANDLE,
   CSRSS_GET_OUTPUT_HANDLE, *PCSRSS_GET_OUTPUT_HANDLE;
 
+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
@@ -564,6 +600,7 @@ typedef struct _CONSOLE_API_MESSAGE
         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;