update for HEAD-2003050101
[reactos.git] / include / csrss / csrss.h
index d13ece7..c1e59c7 100644 (file)
@@ -337,6 +337,37 @@ typedef struct
   DWORD Length;
 } CSRSS_WRITE_CONSOLE_INPUT_REPLY, *PCSRSS_WRITE_CONSOLE_INPUT_REPLY;
 
+typedef struct
+{
+  HANDLE InputHandle;
+} CSRSS_GET_INPUT_HANDLE_REPLY, *PCSRSS_GET_INPUT_HANDLE_REPLY;
+
+typedef struct
+{
+  HANDLE OutputHandle;
+} CSRSS_GET_OUTPUT_HANDLE_REPLY, *PCSRSS_GET_OUTPUT_HANDLE_REPLY;
+
+typedef struct
+{
+  HANDLE Handle;
+} CSRSS_CLOSE_HANDLE_REQUEST, *PCSRSS_CLOSE_HANDLE_REQUEST;
+
+typedef struct
+{
+  HANDLE Handle;
+} CSRSS_VERIFY_HANDLE_REQUEST, *PCSRSS_VERIFY_HANDLE_REQUEST;
+
+typedef struct
+{
+  HANDLE Handle;
+  DWORD ProcessId;
+} CSRSS_DUPLICATE_HANDLE_REQUEST, *PCSRSS_DUPLICATE_HANDLE_REQUEST;
+
+typedef struct
+{
+  HANDLE Handle;
+} CSRSS_DUPLICATE_HANDLE_REPLY, *PCSRSS_DUPLICATE_HANDLE_REPLY;
+
 #define CSRSS_MAX_WRITE_CONSOLE_REQUEST       \
       (MAX_MESSAGE_DATA - sizeof(ULONG) - sizeof(CSRSS_WRITE_CONSOLE_REQUEST))
 
@@ -352,8 +383,8 @@ typedef struct
 
 #define CSRSS_MAX_READ_CONSOLE_OUTPUT_ATTRIB  (MAX_MESSAGE_DATA - sizeof(ULONG) - sizeof(HANDLE) - sizeof(DWORD) - sizeof(CSRSS_READ_CONSOLE_OUTPUT_ATTRIB_REQUEST))
 
-// FIXME: it should be 80. Is this a limit due to LPC msg size?
-#define CSRSS_MAX_TITLE_LENGTH          50
+// WCHARs, not bytes!
+#define CSRSS_MAX_TITLE_LENGTH          80
 
 #define CSRSS_CREATE_PROCESS                (0x0)
 #define CSRSS_TERMINATE_PROCESS             (0x1)
@@ -391,6 +422,11 @@ typedef struct
 #define CSRSS_PEEK_CONSOLE_INPUT            (0x21)
 #define CSRSS_READ_CONSOLE_OUTPUT           (0x22)
 #define CSRSS_WRITE_CONSOLE_INPUT           (0x23)
+#define CSRSS_GET_INPUT_HANDLE              (0x24)
+#define CSRSS_GET_OUTPUT_HANDLE             (0x25)
+#define CSRSS_CLOSE_HANDLE                  (0x26)
+#define CSRSS_VERIFY_HANDLE                 (0x27)
+#define CSRSS_DUPLICATE_HANDLE             (0x28)
 
 /* Keep in sync with definition below. */
 #define CSRSS_REQUEST_HEADER_SIZE (sizeof(LPC_MESSAGE) + sizeof(ULONG))
@@ -434,6 +470,9 @@ typedef struct
     CSRSS_PEEK_CONSOLE_INPUT_REQUEST PeekConsoleInputRequest;
     CSRSS_READ_CONSOLE_OUTPUT_REQUEST ReadConsoleOutputRequest;
     CSRSS_WRITE_CONSOLE_INPUT_REQUEST WriteConsoleInputRequest;
+    CSRSS_CLOSE_HANDLE_REQUEST CloseHandleRequest;
+    CSRSS_VERIFY_HANDLE_REQUEST VerifyHandleRequest;
+    CSRSS_DUPLICATE_HANDLE_REQUEST DuplicateHandleRequest;
   } Data;
 } CSRSS_API_REQUEST, *PCSRSS_API_REQUEST;
 
@@ -464,6 +503,9 @@ typedef struct
     CSRSS_PEEK_CONSOLE_INPUT_REPLY PeekConsoleInputReply;
     CSRSS_READ_CONSOLE_OUTPUT_REPLY ReadConsoleOutputReply;
     CSRSS_WRITE_CONSOLE_INPUT_REPLY WriteConsoleInputReply;
+    CSRSS_GET_INPUT_HANDLE_REPLY GetInputHandleReply;
+    CSRSS_GET_OUTPUT_HANDLE_REPLY GetOutputHandleReply;
+    CSRSS_DUPLICATE_HANDLE_REPLY DuplicateHandleReply;
   } Data;
 } CSRSS_API_REPLY, *PCSRSS_API_REPLY;