Add new header for native user-mode functios inside the NT library inside the NDK, it will end up replacing most of the exported parts of the ntdll headers. It's not used yet as it would conflict, I added a temporary guard for that. Also added many more types to rtlfuncs.h so that it's almost entirely complete, and took out non rtl-stuff and put it into the user-mode NT header
Modified: trunk/reactos/include/ndk/ldrtypes.h
Modified: trunk/reactos/include/ndk/ntndk.h
Modified: trunk/reactos/include/ndk/rtlfuncs.h
Modified: trunk/reactos/include/ndk/rtltypes.h
Added: trunk/reactos/include/ndk/umfuncs.h
Modified: trunk/reactos/lib/kernel32/k32.h
Modified: trunk/reactos/lib/ntdll/inc/ntdll.h
Modified: trunk/reactos/subsys/csrss/init.c

Modified: trunk/reactos/include/ndk/ldrtypes.h
--- trunk/reactos/include/ndk/ldrtypes.h	2005-06-21 00:23:09 UTC (rev 16198)
+++ trunk/reactos/include/ndk/ldrtypes.h	2005-06-21 02:08:42 UTC (rev 16199)
@@ -19,6 +19,15 @@
 #define RESOURCE_LANGUAGE_LEVEL  2
 #define RESOURCE_DATA_LEVEL      3
 
+/* FIXME: USE CORRRECT LDR_ FLAGS */
+#define IMAGE_DLL		0x00000004
+#define LOAD_IN_PROGRESS	0x00001000
+#define UNLOAD_IN_PROGRESS	0x00002000
+#define ENTRY_PROCESSED		0x00004000
+#define DONT_CALL_FOR_THREAD	0x00040000
+#define PROCESS_ATTACH_CALLED	0x00080000
+#define IMAGE_NOT_AT_BASE	0x00200000
+
 /* ENUMERATIONS **************************************************************/
 
 /* TYPES *********************************************************************/             
@@ -34,8 +43,26 @@
     PVOID               EntryInProgress;
 } PEB_LDR_DATA, *PPEB_LDR_DATA;
 
-/* FIXME: Update with _LDR_DATA_TABLE_ENTRY and LDR_ flags */
-//typedef struct _LDR_MODULE
+typedef struct _LDR_DATA_TABLE_ENTRY
+{
+    LIST_ENTRY InLoadOrderModuleList;
+    LIST_ENTRY InMemoryOrderModuleList;
+    LIST_ENTRY InInitializationOrderModuleList;
+    PVOID DllBase;
+    PVOID EntryPoint;
+    ULONG SizeOfImage;
+    UNICODE_STRING FullDllName;
+    UNICODE_STRING BaseDllName;
+    ULONG Flags;
+    SHORT LoadCount; /* FIXME: HACK!!! FIX ASAP */
+    SHORT TlsIndex;  /* FIXME: HACK!!! FIX ASAP */
+    LIST_ENTRY HashLinks;
+    PVOID SectionPointer;
+    ULONG CheckSum;
+    ULONG TimeDateStamp;
+    PVOID LoadedImports;
+    PVOID EntryPointActivationContext;
+} LDR_DATA_TABLE_ENTRY, *PLDR_DATA_TABLE_ENTRY;
 
 typedef struct _LDR_RESOURCE_INFO 
 {

Modified: trunk/reactos/include/ndk/ntndk.h
--- trunk/reactos/include/ndk/ntndk.h	2005-06-21 00:23:09 UTC (rev 16198)
+++ trunk/reactos/include/ndk/ntndk.h	2005-06-21 02:08:42 UTC (rev 16199)
@@ -34,6 +34,9 @@
 #else
     /* User-Mode NDK */
     #include "umtypes.h"    /* Native Types in DDK/IFS but not in PSDK */
+    #ifdef READY_FOR_NEW_NTDLL /* This hack will be removed in the next commit */
+    #include "umfuncs.h"    /* User-Mode NT Library Functions */
+    #endif
 #endif
 
 /* Shared NDK */

Modified: trunk/reactos/include/ndk/rtlfuncs.h
--- trunk/reactos/include/ndk/rtlfuncs.h	2005-06-21 00:23:09 UTC (rev 16198)
+++ trunk/reactos/include/ndk/rtlfuncs.h	2005-06-21 02:08:42 UTC (rev 16199)
@@ -204,22 +204,17 @@
 }
 
 /*
- * Debug Functions 
+ * Error and Exception Functions
  */
-
-ULONG
-CDECL
-DbgPrint(
-    IN PCH  Format,
-    IN ...
+PVOID
+STDCALL
+RtlAddVectoredExceptionHandler(
+    IN ULONG FirstHandler,
+    IN PRTL_VECTORED_EXCEPTION_HANDLER VectoredHandler
 );
 
 VOID
 STDCALL
-DbgBreakPoint(VOID);
-
-VOID
-STDCALL
 RtlAssert(
     PVOID FailedAssertion,
     PVOID FileName,
@@ -227,6 +222,14 @@
     PCHAR Message
 );
 
+PVOID
+STDCALL
+RtlEncodePointer(IN PVOID Pointer);
+
+PVOID
+STDCALL
+RtlDecodePointer(IN PVOID Pointer);
+
 ULONG
 STDCALL
 RtlNtStatusToDosError(IN NTSTATUS Status);
@@ -271,6 +274,13 @@
     IN PRTL_HEAP_DEFINITION Definition OPTIONAL
 );
 
+DWORD
+STDCALL
+RtlCompactHeap(
+    HANDLE heap,
+    DWORD flags
+);
+    
 HANDLE 
 STDCALL
 RtlDestroyHeap(HANDLE hheap);
@@ -283,6 +293,13 @@
     IN PVOID P
 );
 
+ULONG
+STDCALL
+RtlGetProcessHeaps(
+    ULONG HeapCount,
+    HANDLE *HeapArray
+);
+    
 PVOID 
 STDCALL
 RtlReAllocateHeap(
@@ -1138,7 +1155,9 @@
                  
 /*
  * Process Management Functions
- */      
+ */
+/* FIXME: Some of these will be split up into enviro/path functions */
+
 VOID
 STDCALL
 RtlAcquirePebLock(VOID);
@@ -1224,6 +1243,41 @@
     PULONG Length
 );
 
+BOOLEAN
+STDCALL
+RtlDoesFileExists_U(PWSTR FileName);
+
+ULONG
+STDCALL
+RtlDetermineDosPathNameType_U(PCWSTR Path);
+    
+ULONG
+STDCALL
+RtlDosSearchPath_U(
+    WCHAR *sp,
+    WCHAR *name,
+    WCHAR *ext,
+    ULONG buf_sz,
+    WCHAR *buffer,
+    WCHAR **shortname
+);
+    
+ULONG
+STDCALL
+RtlGetCurrentDirectory_U(
+    ULONG MaximumLength,
+    PWSTR Buffer
+);
+
+ULONG
+STDCALL
+RtlGetFullPathName_U(
+    const WCHAR *dosname,
+    ULONG size,
+    WCHAR *buf,
+    WCHAR **shortname
+);
+
 PRTL_USER_PROCESS_PARAMETERS
 STDCALL
 RtlNormalizeProcessParams(
@@ -1240,6 +1294,10 @@
 
 NTSTATUS
 STDCALL
+RtlSetCurrentDirectory_U(PUNICODE_STRING name);
+    
+NTSTATUS
+STDCALL
 RtlSetEnvironmentVariable(
     PWSTR *Environment,
     PUNICODE_STRING Name,
@@ -1267,6 +1325,13 @@
      PRTL_CRITICAL_SECTION CriticalSection
 );
 
+NTSTATUS 
+STDCALL
+RtlInitializeCriticalSectionAndSpinCount(
+    PRTL_CRITICAL_SECTION CriticalSection,
+    ULONG SpinCount
+);
+
 NTSTATUS
 STDCALL
 RtlLeaveCriticalSection(
@@ -1309,6 +1374,28 @@
 );
 
 /*
+ * Debug Info Functions
+ */
+PDEBUG_BUFFER 
+STDCALL
+RtlCreateQueryDebugBuffer(
+    IN ULONG Size,
+    IN BOOLEAN EventPair
+);
+
+NTSTATUS
+STDCALL
+RtlDestroyQueryDebugBuffer(IN PDEBUG_BUFFER DebugBuffer);
+
+NTSTATUS 
+STDCALL
+RtlQueryProcessDebugInformation(
+    IN ULONG ProcessId,
+    IN ULONG DebugInfoClassMask,
+    IN OUT PDEBUG_BUFFER DebugBuffer
+);
+                
+/*
  * Bitmap Functions
  */
 BOOLEAN
@@ -1368,19 +1455,115 @@
 );
 
 /*
- * PE Functions
+ * Timer Functions
  */
-NTSTATUS 
+NTSTATUS
 STDCALL
-LdrVerifyImageMatchesChecksum(
-    IN HANDLE FileHandle,
-    ULONG Unknown1,
-    ULONG Unknown2,
-    ULONG Unknown3
+RtlCreateTimer(
+    HANDLE TimerQueue,
+    PHANDLE phNewTimer, 
+    WAITORTIMERCALLBACKFUNC Callback,
+    PVOID Parameter,
+    DWORD DueTime,
+    DWORD Period,
+    ULONG Flags
 );
 
 NTSTATUS
 STDCALL
+RtlCreateTimerQueue(PHANDLE TimerQueue);
+
+NTSTATUS
+STDCALL
+RtlDeleteTimer(
+    HANDLE TimerQueue,
+    HANDLE Timer,
+    HANDLE CompletionEvent
+);
+
+NTSTATUS
+STDCALL
+RtlUpdateTimer(
+    HANDLE TimerQueue,
+    HANDLE Timer,
+    ULONG DueTime,
+    ULONG Period
+);
+
+NTSTATUS
+STDCALL
+RtlDeleteTimerQueueEx(
+    HANDLE TimerQueue,
+    HANDLE CompletionEvent
+);
+
+NTSTATUS
+STDCALL
+RtlDeleteTimerQueue(HANDLE TimerQueue);
+
+/*
+ * Debug Functions 
+ */
+ULONG
+CDECL
+DbgPrint(
+    IN PCH  Format,
+    IN ...
+);
+
+VOID
+STDCALL
+DbgBreakPoint(VOID);
+
+/*
+ * Handle Table Functions
+ */
+PRTL_HANDLE
+STDCALL
+RtlAllocateHandle (
+    IN	PRTL_HANDLE_TABLE	HandleTable,
+    IN OUT	PULONG			Index
+);
+
+VOID
+STDCALL
+RtlDestroyHandleTable (IN	PRTL_HANDLE_TABLE	HandleTable);
+
+BOOLEAN
+STDCALL
+RtlFreeHandle (
+    IN	PRTL_HANDLE_TABLE	HandleTable,
+    IN	PRTL_HANDLE		Handle
+);
+
+VOID
+STDCALL
+RtlInitializeHandleTable (
+    IN	ULONG			TableSize,
+    IN	ULONG			HandleSize,
+    IN	PRTL_HANDLE_TABLE	HandleTable
+);
+
+BOOLEAN
+STDCALL
+RtlIsValidHandle (
+    IN	PRTL_HANDLE_TABLE	HandleTable,
+    IN	PRTL_HANDLE		Handle
+);
+
+BOOLEAN
+STDCALL
+RtlIsValidIndexHandle (
+    IN	PRTL_HANDLE_TABLE	HandleTable,
+    IN OUT	PRTL_HANDLE		*Handle,
+    IN	ULONG			Index
+);
+    
+/*
+ * PE Functions
+ */
+NTSTATUS
+STDCALL
 RtlFindMessage(
     IN PVOID BaseAddress,
     IN ULONG Type,
@@ -1388,6 +1571,10 @@
     IN ULONG MessageId,
     OUT PRTL_MESSAGE_RESOURCE_ENTRY *MessageResourceEntry
 );
+
+ULONG 
+STDCALL
+RtlGetNtGlobalFlags(VOID);
               
 PVOID
 STDCALL

Modified: trunk/reactos/include/ndk/rtltypes.h
--- trunk/reactos/include/ndk/rtltypes.h	2005-06-21 00:23:09 UTC (rev 16198)
+++ trunk/reactos/include/ndk/rtltypes.h	2005-06-21 02:08:42 UTC (rev 16199)
@@ -43,6 +43,13 @@
 #define RTL_RANGE_SHARED      0x01
 #define RTL_RANGE_CONFLICT    0x02
 
+/* FIXME: Rename these */
+#define PDI_MODULES     0x01	/* The loaded modules of the process */
+#define PDI_BACKTRACE   0x02	/* The heap stack back traces */
+#define PDI_HEAPS       0x04	/* The heaps of the process */
+#define PDI_HEAP_TAGS   0x08	/* The heap tags */
+#define PDI_HEAP_BLOCKS 0x10	/* The heap blocks */
+#define PDI_LOCKS       0x20	/* The locks created by the process */
 /* ENUMERATIONS **************************************************************/
 
 typedef enum 
@@ -53,6 +60,18 @@
     ExceptionCollidedUnwind
 } EXCEPTION_DISPOSITION;
 
+typedef enum
+{
+    INVALID_PATH = 0,
+    UNC_PATH,              /* "//foo" */
+    ABSOLUTE_DRIVE_PATH,   /* "c:/foo" */
+    RELATIVE_DRIVE_PATH,   /* "c:foo" */
+    ABSOLUTE_PATH,         /* "/foo" */
+    RELATIVE_PATH,         /* "foo" */
+    DEVICE_PATH,           /* "//./foo" */
+    UNC_DOT_PATH           /* "//." */
+} DOS_PATHNAME_TYPE;
+
 /* FUNCTION TYPES ************************************************************/
 typedef NTSTATUS
 (*PHEAP_ENUMERATION_ROUTINE)(
@@ -68,6 +87,10 @@
     PVOID
 );
 
+typedef LONG (STDCALL *PRTL_VECTORED_EXCEPTION_HANDLER)(
+    PEXCEPTION_POINTERS ExceptionPointers
+);
+
 typedef DWORD (STDCALL *PTHREAD_START_ROUTINE)(
     LPVOID Parameter
 );
@@ -91,6 +114,98 @@
     ACCESS_MASK AccessMask;
 } ACE, *PACE;
 
+/* FIXME: Review definitions and give these guys a better name */
+typedef struct _DEBUG_BUFFER
+{
+    HANDLE SectionHandle;
+    PVOID SectionBase;
+    PVOID RemoteSectionBase;
+    ULONG SectionBaseDelta;
+    HANDLE EventPairHandle;
+    ULONG Unknown[2];
+    HANDLE RemoteThreadHandle;
+    ULONG InfoClassMask;
+    ULONG SizeOfInfo;
+    ULONG AllocatedSize;
+    ULONG SectionSize;
+    PVOID ModuleInformation;
+    PVOID BackTraceInformation;
+    PVOID HeapInformation;
+    PVOID LockInformation;
+    PVOID Reserved[8];
+} DEBUG_BUFFER, *PDEBUG_BUFFER;
+typedef struct _DEBUG_MODULE_INFORMATION
+{
+    ULONG Reserved[2];
+    PVOID Base;
+    ULONG Size;
+    ULONG Flags;
+    USHORT Index;
+    USHORT Unknown;
+    USHORT LoadCount;
+    USHORT ModuleNameOffset;
+    CHAR ImageName[256];
+} DEBUG_MODULE_INFORMATION, *PDEBUG_MODULE_INFORMATION;
+typedef struct _DEBUG_HEAP_INFORMATION
+{
+    PVOID Base;
+    ULONG Flags;
+    USHORT Granularity;
+    USHORT Unknown;
+    ULONG Allocated;
+    ULONG Committed;
+    ULONG TagCount;
+    ULONG BlockCount;
+    ULONG Reserved[7];
+    PVOID Tags;
+    PVOID Blocks;
+} DEBUG_HEAP_INFORMATION, *PDEBUG_HEAP_INFORMATION;
+typedef struct _DEBUG_LOCK_INFORMATION 
+{
+    PVOID Address;
+    USHORT Type;
+    USHORT CreatorBackTraceIndex;
+    ULONG OwnerThreadId;
+    ULONG ActiveCount;
+    ULONG ContentionCount;
+    ULONG EntryCount;
+    ULONG RecursionCount;
+    ULONG NumberOfSharedWaiters;
+    ULONG NumberOfExclusiveWaiters;
+} DEBUG_LOCK_INFORMATION, *PDEBUG_LOCK_INFORMATION;
+typedef struct _RTL_HANDLE
+{
+     struct _RTL_HANDLE *Next;	/* pointer to next free handle */
+} RTL_HANDLE, *PRTL_HANDLE;
+
+typedef struct _RTL_HANDLE_TABLE
+{
+     ULONG TableSize;		/* maximum number of handles */
+     ULONG HandleSize;		/* size of handle in bytes */
+     PRTL_HANDLE Handles;		/* pointer to handle array */
+     PRTL_HANDLE Limit;		/* limit of pointers */
+     PRTL_HANDLE FirstFree;	/* pointer to first free handle */
+     PRTL_HANDLE LastUsed;	/* pointer to last allocated handle */
+} RTL_HANDLE_TABLE, *PRTL_HANDLE_TABLE;
+#ifdef READY_FOR_NEW_NTDLL
+typedef struct _LOCK_INFORMATION
+{
+    ULONG LockCount;
+    DEBUG_LOCK_INFORMATION LockEntry[1];
+} LOCK_INFORMATION, *PLOCK_INFORMATION;
+typedef struct _HEAP_INFORMATION
+{
+    ULONG HeapCount;
+    DEBUG_HEAP_INFORMATION HeapEntry[1];
+} HEAP_INFORMATION, *PHEAP_INFORMATION;
+typedef struct _MODULE_INFORMATION
+{
+    ULONG ModuleCount;
+    DEBUG_MODULE_INFORMATION ModuleEntry[1];
+} MODULE_INFORMATION, *PMODULE_INFORMATION;
+/* END REVIEW AREA */
+#endif
+
 typedef struct _EXCEPTION_REGISTRATION 
 {
     struct _EXCEPTION_REGISTRATION*    prev;
@@ -138,6 +253,19 @@
     PRTL_RANGE Range
 );
 
+typedef struct _RTL_RESOURCE
+{
+    RTL_CRITICAL_SECTION Lock;
+    HANDLE SharedSemaphore;
+    ULONG SharedWaiters;
+    HANDLE ExclusiveSemaphore;
+    ULONG ExclusiveWaiters;
+    LONG NumberActive;
+    HANDLE OwningThread;
+    ULONG TimeoutBoost; /* ?? */    
+    PVOID DebugInfo; /* ?? */
+} RTL_RESOURCE, *PRTL_RESOURCE;
+
 typedef struct _RANGE_LIST_ITERATOR
 {
   PLIST_ENTRY RangeListHead;

Added: trunk/reactos/include/ndk/umfuncs.h
--- trunk/reactos/include/ndk/umfuncs.h	2005-06-21 00:23:09 UTC (rev 16198)
+++ trunk/reactos/include/ndk/umfuncs.h	2005-06-21 02:08:42 UTC (rev 16199)
@@ -0,0 +1,218 @@
+/*
+ * PROJECT:         ReactOS Native Headers
+ * FILE:            include/ndk/umfuncs.h
+ * PURPOSE:         Prototypes for NT Library Functions
+ * PROGRAMMER:      Alex Ionescu (alex@relsoft.net)
+ */
+#ifndef _UMFUNCS_H
+#define _UMFUNCS_H
+
+/* DEPENDENCIES **************************************************************/
+#include "ldrtypes.h"
+#include "lpctypes.h"
+#include <csrss/csrss.h> /* FIXME: Temporary */
+
+/* PROTOTYPES ****************************************************************/
+
+/*
+ * CSR Functions
+ */
+NTSTATUS 
+STDCALL 
+CsrClientConnectToServer(VOID);
+
+NTSTATUS 
+STDCALL 
+CsrClientCallServer(
+    PCSRSS_API_REQUEST Request,
+    PCSRSS_API_REPLY Reply OPTIONAL,
+    ULONG Length,
+    ULONG ReplyLength
+);
+
+NTSTATUS 
+STDCALL 
+CsrIdentifyAlertableThread(VOID);
+
+NTSTATUS 
+STDCALL 
+CsrNewThread(VOID);
+
+NTSTATUS 
+STDCALL 
+CsrSetPriorityClass(
+    HANDLE Process,
+    PULONG PriorityClass
+);
+
+VOID 
+STDCALL 
+CsrProbeForRead(
+    IN CONST PVOID Address,
+    IN ULONG Length,
+    IN ULONG Alignment
+);
+
+VOID 
+STDCALL 
+CsrProbeForWrite(
+    IN CONST PVOID Address,
+    IN ULONG Length,
+    IN ULONG Alignment
+);
+
+NTSTATUS 
+STDCALL
+CsrCaptureParameterBuffer(
+    PVOID ParameterBuffer,
+    ULONG ParameterBufferSize,
+    PVOID* ClientAddress,
+    PVOID* ServerAddress
+);
+
+NTSTATUS 
+STDCALL
+CsrReleaseParameterBuffer(PVOID ClientAddress);
+
+/*
+ * Debug Functions 
+ */
+ULONG
+CDECL
+DbgPrint(
+    IN PCH  Format,
+    IN ...
+);
+
+VOID
+STDCALL
+DbgBreakPoint(VOID);
+
+NTSTATUS
+STDCALL
+DbgSsInitialize(
+    HANDLE ReplyPort,
+    ULONG Unknown1,
+    ULONG Unknown2,
+    ULONG Unknown3
+);
+
+NTSTATUS
+STDCALL
+DbgUiConnectToDbg(VOID);
+
+NTSTATUS
+STDCALL
+DbgUiContinue(
+    PCLIENT_ID ClientId,
+    ULONG ContinueStatus
+);
+
+NTSTATUS
+STDCALL
+DbgUiWaitStateChange(
+    ULONG Unknown1,
+    ULONG Unknown2
+);
+
+NTSTATUS 
+STDCALL 
+DbgUiRemoteBreakin(VOID);
+
+NTSTATUS 
+STDCALL 
+DbgUiIssueRemoteBreakin(HANDLE Process);
+
+/*
+ * Loader Functions
+ */
+NTSTATUS 
+STDCALL
+LdrDisableThreadCalloutsForDll(IN PVOID BaseAddress);
+
+NTSTATUS 
+STDCALL
+LdrGetDllHandle(
+    IN PWCHAR Path OPTIONAL,
+    IN ULONG Unknown2,
+    IN PUNICODE_STRING DllName,
+    OUT PVOID *BaseAddress
+);
+
+NTSTATUS 
+STDCALL
+LdrFindEntryForAddress(
+    IN PVOID Address,
+    OUT PLDR_DATA_TABLE_ENTRY *Module
+);
+
+NTSTATUS 
+STDCALL
+LdrGetProcedureAddress(
+    IN PVOID BaseAddress,
+    IN PANSI_STRING Name,
+    IN ULONG Ordinal,
+    OUT PVOID *ProcedureAddress
+);
+
+VOID 
+STDCALL
+LdrInitializeThunk(
+    ULONG Unknown1,
+    ULONG Unknown2,
+    ULONG Unknown3,
+    ULONG Unknown4
+);
+
+NTSTATUS 
+STDCALL
+LdrLoadDll(
+    IN PWSTR SearchPath OPTIONAL,
+    IN ULONG LoadFlags,
+    IN PUNICODE_STRING Name,
+    OUT PVOID *BaseAddress OPTIONAL
+);
+
+PIMAGE_BASE_RELOCATION 
+STDCALL
+LdrProcessRelocationBlock(
+    IN PVOID Address,
+    IN USHORT Count,
+    IN PUSHORT TypeOffset,
+    IN ULONG_PTR Delta
+);
+
+NTSTATUS 
+STDCALL
+LdrQueryImageFileExecutionOptions(
+    IN PUNICODE_STRING SubKey,
+    IN PCWSTR ValueName,
+    IN ULONG ValueSize,
+    OUT PVOID Buffer,
+    IN ULONG BufferSize,
+    OUT PULONG RetunedLength OPTIONAL
+);
+
+NTSTATUS 
+STDCALL
+LdrShutdownProcess(VOID);
+
+NTSTATUS 
+STDCALL
+LdrShutdownThread(VOID);
+        
+NTSTATUS 
+STDCALL
+LdrUnloadDll(IN PVOID BaseAddress);
+           
+NTSTATUS 
+STDCALL
+LdrVerifyImageMatchesChecksum(
+    IN HANDLE FileHandle,
+    ULONG Unknown1,
+    ULONG Unknown2,
+    ULONG Unknown3
+);
+
+#endif
+/* EOF */

Modified: trunk/reactos/lib/kernel32/k32.h
--- trunk/reactos/lib/kernel32/k32.h	2005-06-21 00:23:09 UTC (rev 16198)
+++ trunk/reactos/lib/kernel32/k32.h	2005-06-21 02:08:42 UTC (rev 16199)
@@ -23,7 +23,6 @@
 
 /* FIXME: Clean this sh*t up */
 #include <ntdll/base.h>
-#include <ntdll/rtl.h>
 #include <ntdll/dbg.h>
 #include <ntdll/csr.h>
 #include <ntdll/ldr.h>

Modified: trunk/reactos/lib/ntdll/inc/ntdll.h
--- trunk/reactos/lib/ntdll/inc/ntdll.h	2005-06-21 00:23:09 UTC (rev 16198)
+++ trunk/reactos/lib/ntdll/inc/ntdll.h	2005-06-21 02:08:42 UTC (rev 16199)
@@ -13,13 +13,18 @@
 #define NTOS_MODE_USER
 #include <ndk/ntndk.h>
 
+/* NTDLL Headers FIXME: These will be gone imminently */
+#include <ntdll/ntdll.h>
+#include <ntdll/ldr.h>
+#include <ntdll/csr.h>
+
+/* Internal NTDLL */
+#include "ntdllp.h"
+
+/* CSRSS Header */
+#include <csrss/csrss.h>
+
 /* Helper Macros */
 #include <reactos/helper.h>
 
-/* NTDLL Public Headers. FIXME: Combine/clean these after NDK */
-#include <ntdll/csr.h>
-#include <ntdll/rtl.h>
-#include <ntdll/ldr.h>
-#include <ntdll/ntdll.h>
-
 /* EOF */

Modified: trunk/reactos/subsys/csrss/init.c
--- trunk/reactos/subsys/csrss/init.c	2005-06-21 00:23:09 UTC (rev 16198)
+++ trunk/reactos/subsys/csrss/init.c	2005-06-21 02:08:42 UTC (rev 16199)
@@ -14,7 +14,6 @@
 #define NTOS_MODE_USER
 #include <ndk/ntndk.h>
 #include <ntdll/csr.h>
-#include <ntdll/rtl.h>
 #include <ntdll/ldr.h>
 #include <rosrtl/string.h>
 #include <sm/helper.h>