[ros-diffs] [ion] 22550: - Update the NDK to the current vendor import.

ion at svn.reactos.org ion at svn.reactos.org
Fri Jun 23 23:21:46 CEST 2006


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=22550&r1=22549&r2=22550&view=diff
==============================================================================
--- 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=22550&r1=22549&r2=22550&view=diff
==============================================================================
--- 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=22549&view=auto
==============================================================================
    (empty)

Modified: trunk/reactos/include/ndk/halfuncs.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/halfuncs.h?rev=22550&r1=22549&r2=22550&view=diff
==============================================================================
--- 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?rev=22550&r1=22549&r2=22550&view=diff
==============================================================================
--- 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?rev=22550&r1=22549&r2=22550&view=diff
==============================================================================
--- 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=22550&r1=22549&r2=22550&view=diff
==============================================================================
--- 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=22550&r1=22549&r2=22550&view=diff
==============================================================================
--- 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=22550&r1=22549&r2=22550&view=diff
==============================================================================
--- 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=22550&r1=22549&r2=22550&view=diff
==============================================================================
--- 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=22550&r1=22549&r2=22550&view=diff
==============================================================================
--- 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=22550&r1=22549&r2=22550&view=diff
==============================================================================
--- 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=22550&r1=22549&r2=22550&view=diff
==============================================================================
--- 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




More information about the Ros-diffs mailing list