#pragma once
-#define NTOS_MODE_USER
-#include <ndk/psfuncs.h>
-#include <ndk/rtlfuncs.h>
-
-#include <csr/csrsrv.h>
-
-
extern RTL_CRITICAL_SECTION CsrProcessLock, CsrWaitListsLock;
#define CsrAcquireProcessLock() \
#define CSR_SERVER_DLL_MAX 4
+// Debug Flag
+extern ULONG CsrDebug;
+
extern HANDLE hBootstrapOk;
extern HANDLE CsrApiPort;
extern HANDLE CsrSmApiPort;
extern HANDLE CsrSbApiPort;
-extern LIST_ENTRY CsrThreadHashTable[256];
+#define NUMBER_THREAD_HASH_BUCKETS 257
+extern LIST_ENTRY CsrThreadHashTable[NUMBER_THREAD_HASH_BUCKETS];
extern PCSR_PROCESS CsrRootProcess;
extern UNICODE_STRING CsrDirectoryName;
-extern ULONG CsrDebug;
extern ULONG CsrTotalPerProcessDataLength;
extern SYSTEM_BASIC_INFORMATION CsrNtSysInfo;
extern HANDLE CsrHeap;
NTAPI
UnProtectHandle(IN HANDLE ObjectHandle);
-VOID
+NTSTATUS
NTAPI
CsrInsertThread(IN PCSR_PROCESS Process,
IN PCSR_THREAD Thread);
+VOID
+NTAPI
+CsrDeallocateThread(IN PCSR_THREAD CsrThread);
+
VOID
NTAPI
CsrLockedReferenceProcess(IN PCSR_PROCESS CsrProcess);
NTSTATUS
NTAPI
CsrSrvAttachSharedSection(IN PCSR_PROCESS CsrProcess OPTIONAL,
- OUT PCSR_CONNECTION_INFO ConnectInfo);
+ OUT PCSR_API_CONNECTINFO ConnectInfo);
NTSTATUS
NTAPI