Alex Ionescu: more details about the CSR core protocol.
Modified: trunk/reactos/include/subsys/csr/protocol.h

Modified: trunk/reactos/include/subsys/csr/protocol.h
--- trunk/reactos/include/subsys/csr/protocol.h	2005-08-10 08:36:37 UTC (rev 17255)
+++ trunk/reactos/include/subsys/csr/protocol.h	2005-08-10 09:09:28 UTC (rev 17256)
@@ -5,14 +5,33 @@
 
 #define MAKE_CSR_OPCODE(s,m) ((s) << 16) + (m)
 
-// Gary Nebbett
+//
+// Shared CSR Message Header for all CSR Servers
+// Gary Nebbett - Alex Ionescu
+//
 typedef struct _CSR_PORT_MESSAGE_HEADER
 {
-	DWORD Unused1;
-	ULONG Opcode;
-	ULONG Status;
-	ULONG Unused2;
+    //
+    // LPC Header
+    //
+    PORT_MESSAGE PortHeader;
 
+    //
+    // Buffer allocated with CsrAllocateCaptureBuffer.
+    // Sent as 2nd parameter to CsrClientCallServer.
+    //
+    PVOID CsrCaptureData;
+
+    //
+    // CSR API Message ID and Return Value
+    //
+    CSR_API_NUMBER Opcode;
+    ULONG Status; 
+    ULONG Reserved;
+
+    //
+    // Server-defined union of supported structures
+    // 
 } CSR_PORT_MESSAGE_HEADER, * PCSR_PORT_MESSAGE_HEADER;
 
 #endif /* ndef __INCLUDE_CSR_LPCPROTO_H */