Fix prototype of RtlCreateHeap and respect the CommitRoutine if passed. Also fix...
[reactos.git] / reactos / include / ndk / rtltypes.h
index e1542ce..bc24f6c 100644 (file)
@@ -109,6 +109,15 @@ typedef VOID
     PVOID Parameter
 );
 
+#ifndef _NTIFS_
+typedef NTSTATUS
+(NTAPI * PRTL_HEAP_COMMIT_ROUTINE) (
+    IN PVOID Base,
+    IN OUT PVOID *CommitAddress,
+    IN OUT PSIZE_T CommitSize
+);
+#endif
+
 /* TYPES *********************************************************************/
 
 typedef unsigned short RTL_ATOM;
@@ -219,12 +228,6 @@ typedef struct _MODULE_INFORMATION
     ULONG ModuleCount;
     DEBUG_MODULE_INFORMATION ModuleEntry[1];
 } MODULE_INFORMATION, *PMODULE_INFORMATION;
-
-typedef struct _RTL_HEAP_DEFINITION
-{
-    ULONG Length;
-    ULONG Unknown[11];
-} RTL_HEAP_DEFINITION, *PRTL_HEAP_DEFINITION;
 /* END REVIEW AREA */
 
 #ifdef _INC_EXCPT
@@ -399,6 +402,22 @@ typedef struct _RTL_ATOM_TABLE
     PRTL_ATOM_TABLE_ENTRY Buckets[1];
 } RTL_ATOM_TABLE, *PRTL_ATOM_TABLE;
 
+#ifndef _NTIFS_
+typedef struct _RTL_HEAP_PARAMETERS {
+    ULONG Length;
+    SIZE_T SegmentReserve;
+    SIZE_T SegmentCommit;
+    SIZE_T DeCommitFreeBlockThreshold;
+    SIZE_T DeCommitTotalFreeThreshold;
+    SIZE_T MaximumAllocationSize;
+    SIZE_T VirtualMemoryThreshold;
+    SIZE_T InitialCommit;
+    SIZE_T InitialReserve;
+    PRTL_HEAP_COMMIT_ROUTINE CommitRoutine;
+    SIZE_T Reserved[2];
+} RTL_HEAP_PARAMETERS, *PRTL_HEAP_PARAMETERS;
+#endif
+
 /* Let Kernel Drivers use this */
 #ifndef _WINBASE_
     typedef struct _SYSTEMTIME