Some guessing on the API used by server DLLs.
Modified: trunk/reactos/include/subsys/csr/protocol.h
Modified: trunk/reactos/include/subsys/csr/server.h
  _____
Modified: trunk/reactos/include/subsys/csr/protocol.h
--- trunk/reactos/include/subsys/csr/protocol.h 2005-08-11 03:23:44 UTC
(rev 17277)
+++ trunk/reactos/include/subsys/csr/protocol.h 2005-08-11 07:13:03 UTC
(rev 17278)
@@ -34,4 +34,4 @@
     //
 } CSR_PORT_MESSAGE_HEADER, * PCSR_PORT_MESSAGE_HEADER;
-#endif /* ndef __INCLUDE_CSR_LPCPROTO_H */
+#endif /* ndef __INCLUDE_CSR_PROTOCOL_H */
  _____
Modified: trunk/reactos/include/subsys/csr/server.h
--- trunk/reactos/include/subsys/csr/server.h   2005-08-11 03:23:44 UTC
(rev 17277)
+++ trunk/reactos/include/subsys/csr/server.h   2005-08-11 07:13:03 UTC
(rev 17278)
@@ -5,7 +5,9 @@
 typedef struct _CSR_SESSION
 {
-       ULONG SessionId;
+       ULONG   SessionId;
+       HANDLE  Heap;
+       PVOID   ServerData;
 } CSR_SESSION, * PCSR_SESSION;
@@ -13,7 +15,9 @@
 typedef struct _CSR_PROCESS
 {
        HANDLE        Process;
+       PCSR_SESSION  CsrSession;
        ULONG         ReferenceCount;
+       PVOID         ServerData;
 } CSR_PROCESS, * PCSR_PROCESS;
@@ -23,6 +27,7 @@
        PCSR_SESSION  CsrSession;
        PCSR_PROCESS  CsrProcess;
        ULONG         ReferenceCount;
+       PVOID         ServerData;
 } CSR_THREAD, * PCSR_THREAD;
@@ -36,39 +41,38 @@
 NTSTATUS STDCALL CsrAddStaticServerThread();
 NTSTATUS STDCALL CsrCallServerFromServer();
-NTSTATUS STDCALL CsrConnectToUser();
-NTSTATUS STDCALL CsrCreateProcess();
+NTSTATUS STDCALL CsrCreateProcess(PCSR_SESSION,PCSR_PROCESS*);
 NTSTATUS STDCALL CsrCreateRemoteThread();
-NTSTATUS STDCALL CsrCreateSession();
-NTSTATUS STDCALL CsrCreateThread();
-NTSTATUS STDCALL CsrCreateWait();
-NTSTATUS STDCALL CsrDebugProcess();
-NTSTATUS STDCALL CsrDebugProcessStop();
-NTSTATUS STDCALL CsrDereferenceProcess();
-NTSTATUS STDCALL CsrDereferenceThread();
-NTSTATUS STDCALL CsrDereferenceWait();
-NTSTATUS STDCALL CsrDestroyProcess();
-NTSTATUS STDCALL CsrDestroyThread();
+NTSTATUS STDCALL CsrCreateSession(PCSR_SESSION*);
+NTSTATUS STDCALL CsrCreateThread(PCSR_PROCESS,PCSR_THREAD*);
+NTSTATUS STDCALL CsrCreateWait(PCSR_THREAD,PCSR_WAIT*);
+NTSTATUS STDCALL CsrDebugProcess(PCSR_PROCESS);
+NTSTATUS STDCALL CsrDebugProcessStop(PCSR_PROCESS);
+NTSTATUS STDCALL CsrDereferenceProcess(PCSR_PROCESS);
+NTSTATUS STDCALL CsrDereferenceThread(PCSR_THREAD);
+NTSTATUS STDCALL CsrDereferenceWait(PCSR_WAIT);
+NTSTATUS STDCALL CsrDestroyProcess(PCSR_PROCESS);
+NTSTATUS STDCALL CsrDestroySession (PCSR_SESSION);
+NTSTATUS STDCALL CsrDestroyThread(PCSR_THREAD);
 NTSTATUS STDCALL CsrExecServerThread();
 NTSTATUS STDCALL CsrGetApiPorts(PHANDLE,PHANDLE);
-NTSTATUS STDCALL CsrGetProcessLuid();
+NTSTATUS STDCALL CsrGetProcessLuid(PCSR_PROCESS,PLUID);
 NTSTATUS STDCALL CsrImpersonateClient();
 NTSTATUS STDCALL CsrLockProcessByClientId();
 NTSTATUS STDCALL CsrLockThreadByClientId();
-NTSTATUS STDCALL CsrMoveSatisfiedWait();
-NTSTATUS STDCALL CsrNotifyWait();
-NTSTATUS STDCALL CsrPopulateDosDevices();
+NTSTATUS STDCALL CsrMoveSatisfiedWait(PCSR_WAIT);
+NTSTATUS STDCALL CsrNotifyWait(PCSR_WAIT);
 HANDLE   STDCALL CsrQueryApiPort(VOID);
-NTSTATUS STDCALL CsrReferenceThread();
+NTSTATUS STDCALL CsrReferenceThread(PCSR_THREAD);
 NTSTATUS STDCALL CsrRevertToSelf();
 NTSTATUS STDCALL CsrServerInitialization(ULONG,LPWSTR*);
 NTSTATUS STDCALL CsrSetBackgroundPriority();
 NTSTATUS STDCALL CsrSetCallingSpooler();
 NTSTATUS STDCALL CsrSetForegroundPriority();
-NTSTATUS STDCALL CsrShutdownProcesses();
+NTSTATUS STDCALL CsrShutdownProcesses(PCSR_SESSION);
 NTSTATUS STDCALL CsrUnhandledExceptionFilter();
-NTSTATUS STDCALL CsrUnlockProcess();
-NTSTATUS STDCALL CsrUnlockThread();
+NTSTATUS STDCALL CsrUnlockProcess(PCSR_PROCESS);
+NTSTATUS STDCALL CsrUnlockThread(PCSR_THREAD);
 NTSTATUS STDCALL CsrValidateMessageBuffer();
 NTSTATUS STDCALL CsrValidateMessageString();