Author: ion
Date: Sat Jun 24 01:21:45 2006
New Revision: 22550
URL:
http://svn.reactos.org/svn/reactos?rev=22550&view=rev
Log:
- Update the NDK to the current vendor import.
Removed:
trunk/reactos/include/ndk/fixmes.txt
Modified:
trunk/reactos/include/ndk/exfuncs.h
trunk/reactos/include/ndk/extypes.h
trunk/reactos/include/ndk/halfuncs.h
trunk/reactos/include/ndk/i386/ketypes.h
trunk/reactos/include/ndk/i386/mmtypes.h
trunk/reactos/include/ndk/mmfuncs.h
trunk/reactos/include/ndk/mmtypes.h
trunk/reactos/include/ndk/ntndk.h
trunk/reactos/include/ndk/psfuncs.h
trunk/reactos/include/ndk/rtlfuncs.h
trunk/reactos/include/ndk/rtltypes.h
trunk/reactos/include/ndk/umtypes.h
Modified: trunk/reactos/include/ndk/exfuncs.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/exfuncs.h?rev=…
==============================================================================
--- trunk/reactos/include/ndk/exfuncs.h (original)
+++ trunk/reactos/include/ndk/exfuncs.h Sat Jun 24 01:21:45 2006
@@ -340,8 +340,8 @@
NtQuerySystemInformation(
IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
OUT PVOID SystemInformation,
- IN ULONG Length,
- OUT PULONG ResultLength
+ IN SIZE_T Length,
+ OUT PSIZE_T ResultLength
);
NTSYSCALLAPI
@@ -481,7 +481,7 @@
NtSetSystemInformation(
IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
IN PVOID SystemInformation,
- IN ULONG SystemInformationLength
+ IN SIZE_T SystemInformationLength
);
NTSYSCALLAPI
@@ -784,8 +784,8 @@
ZwQuerySystemInformation(
IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
OUT PVOID SystemInformation,
- IN ULONG Length,
- OUT PULONG ResultLength
+ IN SIZE_T Length,
+ OUT PSIZE_T ResultLength
);
NTSYSAPI
@@ -908,7 +908,7 @@
ZwSetSystemInformation(
IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
IN PVOID SystemInformation,
- IN ULONG SystemInformationLength
+ IN SIZE_T SystemInformationLength
);
#ifdef NTOS_MODE_USER
Modified: trunk/reactos/include/ndk/extypes.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/extypes.h?rev=…
==============================================================================
--- trunk/reactos/include/ndk/extypes.h (original)
+++ trunk/reactos/include/ndk/extypes.h Sat Jun 24 01:21:45 2006
@@ -1199,7 +1199,7 @@
} SYSTEM_LEGACY_DRIVER_INFORMATION, *PSYSTEM_LEGACY_DRIVER_INFORMATION;
// Class 44
-typedef struct _TIME_ZONE_INFORMATION RTL_TIME_ZONE_INFORMATION;
+//typedef struct _TIME_ZONE_INFORMATION RTL_TIME_ZONE_INFORMATION;
// Class 45
typedef struct _SYSTEM_LOOKASIDE_INFORMATION
Removed: trunk/reactos/include/ndk/fixmes.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/fixmes.txt?rev…
==============================================================================
(empty)
Modified: trunk/reactos/include/ndk/halfuncs.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/halfuncs.h?rev…
==============================================================================
--- trunk/reactos/include/ndk/halfuncs.h (original)
+++ trunk/reactos/include/ndk/halfuncs.h Sat Jun 24 01:21:45 2006
@@ -31,8 +31,8 @@
// The DDK steals these away from you.
//
#ifdef _MSC_VER
-#pragma intrinsic(_enable)
-#pragma intrinsic(_disable)
+//#pragma intrinsic(_enable)
+//#pragma intrinsic(_disable)
#endif
//
@@ -129,9 +129,9 @@
BOOLEAN
NTAPI
HalGetEnvironmentVariable(
- PCH Name,
- PCH Value,
- USHORT ValueLength
+ PCH Variable,
+ USHORT Length,
+ PCH Buffer
);
NTHALAPI
@@ -159,7 +159,7 @@
VOID
NTAPI
HalHandleNMI(
- ULONG Unknown
+ PVOID NmiInfo
);
//
@@ -192,7 +192,7 @@
// Time Functions
//
NTHALAPI
-VOID
+BOOLEAN
NTAPI
HalQueryRealTimeClock(
IN PTIME_FIELDS RtcTime
Modified: trunk/reactos/include/ndk/i386/ketypes.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/i386/ketypes.h…
==============================================================================
--- trunk/reactos/include/ndk/i386/ketypes.h (original)
+++ trunk/reactos/include/ndk/i386/ketypes.h Sat Jun 24 01:21:45 2006
@@ -22,6 +22,13 @@
//
// Dependencies
//
+
+//
+// Machine Types
+//
+#define MACHINE_TYPE_ISA 0x0000
+#define MACHINE_TYPE_EISA 0x0001
+#define MACHINE_TYPE_MCA 0x0002
//
// X86 80386 Segment Types
@@ -38,16 +45,16 @@
//
#define RPL_MASK 0x0003
#define MODE_MASK 0x0001
-#define KGDT_R0_CODE (0x8)
-#define KGDT_R0_DATA (0x10)
-#define KGDT_R3_CODE (0x18)
-#define KGDT_R3_DATA (0x20)
-#define KGDT_TSS (0x28)
-#define KGDT_R0_PCR (0x30)
-#define KGDT_R3_TEB (0x38)
-#define KGDT_LDT (0x48)
-#define KGDT_DF_TSS (0x50)
-#define KGDT_NMI_TSS (0x58)
+#define KGDT_R0_CODE 0x8
+#define KGDT_R0_DATA 0x10
+#define KGDT_R3_CODE 0x18
+#define KGDT_R3_DATA 0x20
+#define KGDT_TSS 0x28
+#define KGDT_R0_PCR 0x30
+#define KGDT_R3_TEB 0x38
+#define KGDT_LDT 0x48
+#define KGDT_DF_TSS 0x50
+#define KGDT_NMI_TSS 0x58
//
// CR4
@@ -66,9 +73,12 @@
//
// EFlags
//
-#define EFLAGS_TF 0x100
-#define EFLAGS_INTERRUPT_MASK 0x200
-#define EFLAGS_NESTED_TASK 0x4000
+#define EFLAGS_CF 0x01L
+#define EFLAGS_ZF 0x40L
+#define EFLAGS_TF 0x100L
+#define EFLAGS_INTERRUPT_MASK 0x200L
+#define EFLAGS_DF 0x400L
+#define EFLAGS_NESTED_TASK 0x4000L
#define EFLAGS_V86_MASK 0x20000
#define EFLAGS_ALIGN_CHECK 0x40000
#define EFLAGS_VIF 0x80000
@@ -76,7 +86,6 @@
#define EFLAG_SIGN 0x8000
#define EFLAG_ZERO 0x4000
-#ifndef NTOS_MODE_USER
//
// IPI Types
//
@@ -87,48 +96,17 @@
#define IPI_SYNCH_REQUEST 16
//
-// FN/FX (FPU) Save Area Structures
-//
-typedef struct _FNSAVE_FORMAT
-{
- ULONG ControlWord;
- ULONG StatusWord;
- ULONG TagWord;
- ULONG ErrorOffset;
- ULONG ErrorSelector;
- ULONG DataOffset;
- ULONG DataSelector;
- UCHAR RegisterArea[80];
-} FNSAVE_FORMAT, *PFNSAVE_FORMAT;
-
-typedef struct _FXSAVE_FORMAT
-{
- USHORT ControlWord;
- USHORT StatusWord;
- USHORT TagWord;
- USHORT ErrorOpcode;
- ULONG ErrorOffset;
- ULONG ErrorSelector;
- ULONG DataOffset;
- ULONG DataSelector;
- ULONG MXCsr;
- ULONG MXCsrMask;
- UCHAR RegisterArea[128];
- UCHAR Reserved3[128];
- UCHAR Reserved4[224];
- UCHAR Align16Byte[8];
-} FXSAVE_FORMAT, *PFXSAVE_FORMAT;
-
-typedef struct _FX_SAVE_AREA
-{
- union
- {
- FNSAVE_FORMAT FnArea;
- FXSAVE_FORMAT FxArea;
- } U;
- ULONG NpxSavedCpu;
- ULONG Cr0NpxState;
-} FX_SAVE_AREA, *PFX_SAVE_AREA;
+// Static Kernel-Mode Address start (use MM_KSEG0_BASE for actual)
+//
+#define KSEG0_BASE 0x80000000
+
+//
+// Macro to get current KPRCB
+//
+#ifndef _REACTOS_ // fixme
+#define KeGetCurrentPrcb() \
+ (PKPRCB)__readfsdword(KPCR_PRCB);
+#endif
//
// Trap Frame Definition
@@ -154,7 +132,7 @@
ULONG Ecx;
ULONG Eax;
ULONG PreviousPreviousMode;
- struct _EXCEPTION_REGISTRATION_RECORD *ExceptionList;
+ struct _EXCEPTION_REGISTRATION_RECORD FAR *ExceptionList;
ULONG SegFs;
ULONG Edi;
ULONG Esi;
@@ -175,6 +153,8 @@
//
// LDT Entry Definition
//
+#ifndef _LDT_ENTRY_DEFINED
+#define _LDT_ENTRY_DEFINED
typedef struct _LDT_ENTRY
{
USHORT LimitLow;
@@ -203,6 +183,7 @@
} Bits;
} HighWord;
} LDT_ENTRY, *PLDT_ENTRY, *LPLDT_ENTRY;
+#endif
//
// GDT Entry Definition
@@ -266,12 +247,60 @@
USHORT ExtendedOffset;
} KIDTENTRY, *PKIDTENTRY;
+#include <pshpack2.h>
typedef struct _DESCRIPTOR
{
- USHORT Pad;
USHORT Limit;
ULONG Base;
+ USHORT Padding;
} KDESCRIPTOR, *PKDESCRIPTOR;
+#include <poppack.h>
+
+#ifndef NTOS_MODE_USER
+
+//
+// FN/FX (FPU) Save Area Structures
+//
+typedef struct _FNSAVE_FORMAT
+{
+ ULONG ControlWord;
+ ULONG StatusWord;
+ ULONG TagWord;
+ ULONG ErrorOffset;
+ ULONG ErrorSelector;
+ ULONG DataOffset;
+ ULONG DataSelector;
+ UCHAR RegisterArea[80];
+} FNSAVE_FORMAT, *PFNSAVE_FORMAT;
+
+typedef struct _FXSAVE_FORMAT
+{
+ USHORT ControlWord;
+ USHORT StatusWord;
+ USHORT TagWord;
+ USHORT ErrorOpcode;
+ ULONG ErrorOffset;
+ ULONG ErrorSelector;
+ ULONG DataOffset;
+ ULONG DataSelector;
+ ULONG MXCsr;
+ ULONG MXCsrMask;
+ UCHAR RegisterArea[128];
+ UCHAR Reserved3[128];
+ UCHAR Reserved4[224];
+ UCHAR Align16Byte[8];
+} FXSAVE_FORMAT, *PFXSAVE_FORMAT;
+
+typedef struct _FX_SAVE_AREA
+{
+ union
+ {
+ FNSAVE_FORMAT FnArea;
+ FXSAVE_FORMAT FxArea;
+ } U;
+ ULONG NpxSavedCpu;
+ ULONG Cr0NpxState;
+} FX_SAVE_AREA, *PFX_SAVE_AREA;
//
// Special Registers Structure (outside of CONTEXT)
@@ -329,6 +358,7 @@
ULONG CFlushSize;
UCHAR PrcbPad0[88];
#else
+ ULONG CFlushSize;
UCHAR PrcbPad0[92];
#endif
KSPIN_LOCK_QUEUE LockQueue[LockQueueMaximumLock];
Modified: trunk/reactos/include/ndk/i386/mmtypes.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/i386/mmtypes.h…
==============================================================================
--- trunk/reactos/include/ndk/i386/mmtypes.h (original)
+++ trunk/reactos/include/ndk/i386/mmtypes.h Sat Jun 24 01:21:45 2006
@@ -28,6 +28,24 @@
//
#define PAGE_SIZE 0x1000
#define PAGE_SHIFT 12L
+#define MM_ALLOCATION_GRANULARITY 0x10000
+#define MM_ALLOCATION_GRANULARITY_SHIFT 16L
+
+//
+// Sanity checks for Paging Macros
+//
+#ifndef __GNUC__
+C_ASSERT(PAGE_SIZE == (1 << PAGE_SHIFT));
+C_ASSERT(MM_ALLOCATION_GRANULARITY == (1 << MM_ALLOCATION_GRANULARITY_SHIFT));
+C_ASSERT(MM_ALLOCATION_GRANULARITY &&
+ !(MM_ALLOCATION_GRANULARITY & (MM_ALLOCATION_GRANULARITY - 1)));
+C_ASSERT(MM_ALLOCATION_GRANULARITY >= PAGE_SIZE);
+#endif
+
+//
+// PAE SEG0 Base?
+//
+#define KSEG0_BASE_PAE 0xE0000000
//
// Page Table Entry Definitions
Modified: trunk/reactos/include/ndk/mmfuncs.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/mmfuncs.h?rev=…
==============================================================================
--- trunk/reactos/include/ndk/mmfuncs.h (original)
+++ trunk/reactos/include/ndk/mmfuncs.h Sat Jun 24 01:21:45 2006
@@ -180,8 +180,8 @@
IN HANDLE SectionHandle,
IN SECTION_INFORMATION_CLASS SectionInformationClass,
OUT PVOID SectionInformation,
- IN ULONG Length,
- OUT PULONG ResultLength
+ IN SIZE_T Length,
+ OUT PSIZE_T ResultLength
);
NTSYSCALLAPI
@@ -192,8 +192,8 @@
IN PVOID Address,
IN MEMORY_INFORMATION_CLASS VirtualMemoryInformationClass,
OUT PVOID VirtualMemoryInformation,
- IN ULONG Length,
- OUT PULONG ResultLength
+ IN SIZE_T Length,
+ OUT PSIZE_T ResultLength
);
NTSYSCALLAPI
@@ -350,8 +350,8 @@
IN HANDLE SectionHandle,
IN SECTION_INFORMATION_CLASS SectionInformationClass,
OUT PVOID SectionInformation,
- IN ULONG Length,
- OUT PULONG ResultLength
+ IN SIZE_T Length,
+ OUT PSIZE_T ResultLength
);
NTSYSAPI
@@ -362,8 +362,8 @@
IN PVOID Address,
IN MEMORY_INFORMATION_CLASS VirtualMemoryInformationClass,
OUT PVOID VirtualMemoryInformation,
- IN ULONG Length,
- OUT PULONG ResultLength
+ IN SIZE_T Length,
+ OUT PSIZE_T ResultLength
);
NTSYSAPI
Modified: trunk/reactos/include/ndk/mmtypes.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/mmtypes.h?rev=…
==============================================================================
--- trunk/reactos/include/ndk/mmtypes.h (original)
+++ trunk/reactos/include/ndk/mmtypes.h Sat Jun 24 01:21:45 2006
@@ -31,6 +31,11 @@
#define PAGE_ROUND_DOWN(x) (((ULONG_PTR)x)&(~(PAGE_SIZE-1)))
#define PAGE_ROUND_UP(x) \
( (((ULONG_PTR)x)%PAGE_SIZE) ? ((((ULONG_PTR)x)&(~(PAGE_SIZE-1)))+PAGE_SIZE) :
((ULONG_PTR)x) )
+#ifdef NTOS_MODE_USER
+#define ROUND_TO_PAGES(Size) (((ULONG_PTR)(Size) + PAGE_SIZE - 1) & ~(PAGE_SIZE -
1))
+#endif
+#define ROUND_TO_ALLOCATION_GRANULARITY(Size) (((ULONG_PTR)(Size) +
MM_ALLOCATION_GRANULARITY - 1) \
+ & ~(MM_ALLOCATION_GRANULARITY - 1))
//
// Macro for generating pool tags
@@ -578,6 +583,24 @@
ULONG Type;
} MEMORY_BASIC_INFORMATION,*PMEMORY_BASIC_INFORMATION;
+
+//
+// Mm Global Variables
+//
+
+//
+// Default heap size values. For user mode, these values are copied to a new
+// process's PEB by the kernel in MmCreatePeb. In kernel mode, RtlCreateHeap
+// reads these variables directly.
+//
+// These variables should be considered "const"; they are written only once,
+// during MmInitSystem.
+//
+extern SIZE_T MmHeapSegmentReserve;
+extern SIZE_T MmHeapSegmentCommit;
+extern SIZE_T MmHeapDeCommitTotalFreeThreshold;
+extern SIZE_T MmHeapDeCommitFreeBlockThreshold;
+
#endif // !NTOS_MODE_USER
#endif // _MMTYPES_H
Modified: trunk/reactos/include/ndk/ntndk.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/ntndk.h?rev=22…
==============================================================================
--- trunk/reactos/include/ndk/ntndk.h (original)
+++ trunk/reactos/include/ndk/ntndk.h Sat Jun 24 01:21:45 2006
@@ -34,6 +34,8 @@
//
// Headers needed for NDK
//
+#include <stdio.h> // C Standard Header
+#include <excpt.h> // C Standard Header
#include <stdarg.h> // C Standard Header
#include <umtypes.h> // General Definitions
Modified: trunk/reactos/include/ndk/psfuncs.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/psfuncs.h?rev=…
==============================================================================
--- trunk/reactos/include/ndk/psfuncs.h (original)
+++ trunk/reactos/include/ndk/psfuncs.h Sat Jun 24 01:21:45 2006
@@ -66,6 +66,19 @@
NTAPI
PsGetThreadWin32Thread(
PETHREAD Thread
+);
+
+BOOLEAN
+NTAPI
+PsGetThreadHardErrorsAreDisabled(
+ PETHREAD Thread
+);
+
+VOID
+NTAPI
+PsSetThreadHardErrorsAreDisabled(
+ PETHREAD Thread,
+ IN BOOLEAN Disabled
);
VOID
Modified: trunk/reactos/include/ndk/rtlfuncs.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/rtlfuncs.h?rev…
==============================================================================
--- trunk/reactos/include/ndk/rtlfuncs.h (original)
+++ trunk/reactos/include/ndk/rtlfuncs.h Sat Jun 24 01:21:45 2006
@@ -213,6 +213,11 @@
#endif
//
+// This macro does nothing in kernel mode
+//
+#define RTL_PAGED_CODE NOP_FUNCTION
+
+//
// RTL Splay Tree Functions
//
NTSYSAPI
@@ -301,6 +306,16 @@
}
#endif
+#ifdef NTOS_KERNEL_RUNTIME
+
+//
+// Executing RTL functions at DISPATCH_LEVEL or higher will result in a
+// bugcheck.
+//
+#define RTL_PAGED_CODE PAGED_CODE
+
+#endif
+
//
// Error and Exception Functions
//
@@ -442,6 +457,18 @@
);
NTSYSAPI
+PVOID
+NTAPI
+RtlDebugCreateHeap(
+ IN ULONG Flags,
+ IN PVOID BaseAddress OPTIONAL,
+ IN SIZE_T SizeToReserve OPTIONAL,
+ IN SIZE_T SizeToCommit OPTIONAL,
+ IN PVOID Lock OPTIONAL,
+ IN PRTL_HEAP_PARAMETERS Parameters OPTIONAL
+);
+
+NTSYSAPI
HANDLE
NTAPI
RtlDestroyHeap(HANDLE hheap);
@@ -456,6 +483,12 @@
);
NTSYSAPI
+ULONG
+NTAPI
+RtlGetNtGlobalFlags(
+ VOID
+);
+
ULONG
NTAPI
RtlGetProcessHeaps(
@@ -2677,7 +2710,7 @@
ULONG
NTAPI
RtlComputeCrc32(
- IN UINT PartialCrc,
+ IN USHORT PartialCrc,
IN PUCHAR Buffer,
IN ULONG Length
);
@@ -2737,11 +2770,10 @@
//
// Time Functions
//
-struct _RTL_TIME_ZONE_INFORMATION;
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlQueryTimeZoneInformation(LPTIME_ZONE_INFORMATION TimeZoneInformation);
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlQueryTimeZoneInformation(PRTL_TIME_ZONE_INFORMATION TimeZoneInformation);
NTSYSAPI
VOID
@@ -2754,7 +2786,7 @@
NTSYSAPI
NTSTATUS
NTAPI
-RtlSetTimeZoneInformation(LPTIME_ZONE_INFORMATION TimeZoneInformation);
+RtlSetTimeZoneInformation(PRTL_TIME_ZONE_INFORMATION TimeZoneInformation);
NTSYSAPI
BOOLEAN
@@ -2802,6 +2834,25 @@
NTAPI
RtlGetNtProductType(OUT PNT_PRODUCT_TYPE ProductType);
+//
+// Secure Memory Functions
+//
+#ifdef NTOS_MODE_USER
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlRegisterSecureMemoryCacheCallback(
+ IN PRTL_SECURE_MEMORY_CACHE_CALLBACK Callback);
+
+NTSYSAPI
+BOOLEAN
+NTAPI
+RtlFlushSecureMemoryCache(
+ IN PVOID MemoryCache,
+ IN OPTIONAL SIZE_T MemoryLength
+);
+#endif
+
#ifdef __cplusplus
}
#endif
Modified: trunk/reactos/include/ndk/rtltypes.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/rtltypes.h?rev…
==============================================================================
--- trunk/reactos/include/ndk/rtltypes.h (original)
+++ trunk/reactos/include/ndk/rtltypes.h Sat Jun 24 01:21:45 2006
@@ -74,8 +74,30 @@
0x1
//
-// Heap Flags
-//
+// Public Heap Flags
+//
+#if !defined(NTOS_MODE_USER) && !defined(_NTIFS_)
+#define HEAP_NO_SERIALIZE 0x00000001
+#define HEAP_GROWABLE 0x00000002
+#define HEAP_GENERATE_EXCEPTIONS 0x00000004
+#define HEAP_ZERO_MEMORY 0x00000008
+#define HEAP_REALLOC_IN_PLACE_ONLY 0x00000010
+#define HEAP_TAIL_CHECKING_ENABLED 0x00000020
+#define HEAP_FREE_CHECKING_ENABLED 0x00000040
+#define HEAP_DISABLE_COALESCE_ON_FREE 0x00000080
+#define HEAP_CREATE_ALIGN_16 0x00010000
+#define HEAP_CREATE_ENABLE_TRACING 0x00020000
+#define HEAP_CREATE_ENABLE_EXECUTE 0x00040000
+#endif
+
+//
+// User-Defined Heap Flags and Classes
+//
+#define HEAP_SETTABLE_USER_VALUE 0x00000100
+#define HEAP_SETTABLE_USER_FLAG1 0x00000200
+#define HEAP_SETTABLE_USER_FLAG2 0x00000400
+#define HEAP_SETTABLE_USER_FLAG3 0x00000800
+#define HEAP_SETTABLE_USER_FLAGS 0x00000E00
#define HEAP_CLASS_0 0x00000000
#define HEAP_CLASS_1 0x00001000
#define HEAP_CLASS_2 0x00002000
@@ -86,6 +108,39 @@
#define HEAP_CLASS_7 0x00007000
#define HEAP_CLASS_8 0x00008000
#define HEAP_CLASS_MASK 0x0000F000
+
+//
+// Internal HEAP Structure Flags
+//
+#define HEAP_FLAG_PAGE_ALLOCS 0x01000000
+#define HEAP_PROTECTION_ENABLED 0x02000000
+#define HEAP_BREAK_WHEN_OUT_OF_VM 0x04000000
+#define HEAP_NO_ALIGNMENT 0x08000000
+#define HEAP_CAPTURE_STACK_BACKTRACES 0x08000000
+#define HEAP_SKIP_VALIDATION_CHECKS 0x10000000
+#define HEAP_VALIDATE_ALL_ENABLED 0x20000000
+#define HEAP_VALIDATE_PARAMETERS_ENABLED 0x40000000
+#define HEAP_LOCK_USER_ALLOCATED 0x80000000
+
+//
+// Heap Validation Flags
+//
+#define HEAP_CREATE_VALID_MASK \
+ (HEAP_NO_SERIALIZE | \
+ HEAP_GROWABLE | \
+ HEAP_GENERATE_EXCEPTIONS | \
+ HEAP_ZERO_MEMORY | \
+ HEAP_REALLOC_IN_PLACE_ONLY | \
+ HEAP_TAIL_CHECKING_ENABLED | \
+ HEAP_FREE_CHECKING_ENABLED | \
+ HEAP_DISABLE_COALESCE_ON_FREE | \
+ HEAP_CLASS_MASK | \
+ HEAP_CREATE_ALIGN_16 | \
+ HEAP_CREATE_ENABLE_TRACING | \
+ HEAP_CREATE_ENABLE_EXECUTE)
+#ifndef __GNUC__
+C_ASSERT(HEAP_CREATE_VALID_MASK == 0x0007F0FF);
+#endif
//
// Registry Keys
@@ -462,6 +517,17 @@
);
//
+// RTL Secure Memory callbacks
+//
+#ifdef NTOS_MODE_USER
+typedef NTSTATUS
+(NTAPI *PRTL_SECURE_MEMORY_CACHE_CALLBACK)(
+ IN PVOID Address,
+ IN SIZE_T Length
+);
+#endif
+
+//
// RTL Range List callbacks
//
#ifdef NTOS_MODE_USER
@@ -497,6 +563,7 @@
//
// Parameters for RtlCreateHeap
+// FIXME: Determine whether Length is SIZE_T or ULONG
//
typedef struct _RTL_HEAP_PARAMETERS
{
@@ -1064,8 +1131,7 @@
PRTL_ATOM_TABLE_ENTRY Buckets[1];
} RTL_ATOM_TABLE, *PRTL_ATOM_TABLE;
-#ifndef NTOS_MODE_USER
-
+#ifndef _WINBASE_
//
// System Time and Timezone Structures
//
@@ -1091,8 +1157,12 @@
SYSTEMTIME DaylightDate;
LONG DaylightBias;
} TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;
-
-#endif
+#endif
+
+//
+// Native version of Timezone Structure
+//
+typedef LPTIME_ZONE_INFORMATION PRTL_TIME_ZONE_INFORMATION;
//
// Hotpatch Header
Modified: trunk/reactos/include/ndk/umtypes.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/umtypes.h?rev=…
==============================================================================
--- trunk/reactos/include/ndk/umtypes.h (original)
+++ trunk/reactos/include/ndk/umtypes.h Sat Jun 24 01:21:45 2006
@@ -19,15 +19,34 @@
#if !defined(_NTDEF_) && !defined(_NTDEF_H)
#define _NTDEF_
#define _NTDEF_H
-#undef WIN32_NO_STATUS
+
+//
+// NDK Applications must use Unicode
+//
+#ifndef UNICODE
+#define UNICODE
+#endif
+
+//
+// Don't use the SDK status values
+//
+#ifndef WIN32_NO_STATUS
+#define WIN32_NO_STATUS
+#endif
+
+//
+// Let the NDK know we're in Application Mode
+//
#define NTOS_MODE_USER
//
// Dependencies
//
+#include <windef.h>
+#undef WIN32_NO_STATUS
+#include <ntstatus.h>
#include <winioctl.h>
#include <ntnls.h>
-#include <ntstatus.h>
//
// Compiler Definitions