- Add latest NDK. It will eventually have to be vendor-imported but I have not released 1.00 yet.
Added: trunk/reactos/include/ndk/
Added: trunk/reactos/include/ndk/arch/
Added: trunk/reactos/include/ndk/arch/ketypes.h
Added: trunk/reactos/include/ndk/arch/mmtypes.h
Added: trunk/reactos/include/ndk/asm.h
Added: trunk/reactos/include/ndk/cctypes.h
Added: trunk/reactos/include/ndk/cmfuncs.h
Added: trunk/reactos/include/ndk/cmtypes.h
Added: trunk/reactos/include/ndk/dbgkfuncs.h
Added: trunk/reactos/include/ndk/dbgktypes.h
Added: trunk/reactos/include/ndk/exfuncs.h
Added: trunk/reactos/include/ndk/extypes.h
Added: trunk/reactos/include/ndk/fixmes.txt
Added: trunk/reactos/include/ndk/halfuncs.h
Added: trunk/reactos/include/ndk/haltypes.h
Added: trunk/reactos/include/ndk/i386/
Added: trunk/reactos/include/ndk/i386/ketypes.h
Added: trunk/reactos/include/ndk/i386/mmtypes.h
Added: trunk/reactos/include/ndk/ifssupp.h
Added: trunk/reactos/include/ndk/inbvfuncs.h
Added: trunk/reactos/include/ndk/iofuncs.h
Added: trunk/reactos/include/ndk/iotypes.h
Added: trunk/reactos/include/ndk/kdfuncs.h
Added: trunk/reactos/include/ndk/kdtypes.h
Added: trunk/reactos/include/ndk/kefuncs.h
Added: trunk/reactos/include/ndk/ketypes.h
Added: trunk/reactos/include/ndk/ldrfuncs.h
Added: trunk/reactos/include/ndk/ldrtypes.h
Added: trunk/reactos/include/ndk/lpcfuncs.h
Added: trunk/reactos/include/ndk/lpctypes.h
Added: trunk/reactos/include/ndk/mmfuncs.h
Added: trunk/reactos/include/ndk/mmtypes.h
Added: trunk/reactos/include/ndk/ntndk.h
Added: trunk/reactos/include/ndk/obfuncs.h
Added: trunk/reactos/include/ndk/obtypes.h
Added: trunk/reactos/include/ndk/pofuncs.h
Added: trunk/reactos/include/ndk/potypes.h
Added: trunk/reactos/include/ndk/powerpc/
Added: trunk/reactos/include/ndk/powerpc/ketypes.h
Added: trunk/reactos/include/ndk/powerpc/mmtypes.h
Added: trunk/reactos/include/ndk/psfuncs.h
Added: trunk/reactos/include/ndk/pstypes.h
Added: trunk/reactos/include/ndk/readme.txt
Added: trunk/reactos/include/ndk/rtlfuncs.h
Added: trunk/reactos/include/ndk/rtltypes.h
Added: trunk/reactos/include/ndk/sefuncs.h
Added: trunk/reactos/include/ndk/setypes.h
Added: trunk/reactos/include/ndk/umfuncs.h
Added: trunk/reactos/include/ndk/umtypes.h

Added: trunk/reactos/include/ndk/arch/ketypes.h
--- trunk/reactos/include/ndk/arch/ketypes.h	2006-01-28 18:26:57 UTC (rev 19)
+++ trunk/reactos/include/ndk/arch/ketypes.h	2006-01-28 18:30:02 UTC (rev 20)
@@ -0,0 +1,33 @@
+/*++ NDK Version: 0095
+
+Copyright (c) Alex Ionescu.  All rights reserved.
+
+Header Name:
+
+    ketypes.h (ARCH)
+
+Abstract:
+
+    Portability file to choose the correct Architecture-specific file.
+
+Author:
+
+    Alex Ionescu (alex.ionescu@reactos.com)   06-Oct-2004
+
+--*/
+
+#ifndef _ARCH_KETYPES_H
+#define _ARCH_KETYPES_H
+
+//
+// Include the right file for this architecture.
+//
+#ifdef _M_IX86
+#include <i386/ketypes.h>
+#elif defined(_M_PPC)
+#include <powerpc/ketypes.h>
+#else
+#error "Unknown processor"
+#endif
+
+#endif

Added: trunk/reactos/include/ndk/arch/mmtypes.h
--- trunk/reactos/include/ndk/arch/mmtypes.h	2006-01-28 18:26:57 UTC (rev 19)
+++ trunk/reactos/include/ndk/arch/mmtypes.h	2006-01-28 18:30:02 UTC (rev 20)
@@ -0,0 +1,33 @@
+/*++ NDK Version: 0095
+
+Copyright (c) Alex Ionescu.  All rights reserved.
+
+Header Name:
+
+    mmtypes.h (ARCH)
+
+Abstract:
+
+    Portability file to choose the correct Architecture-specific file.
+
+Author:
+
+    Alex Ionescu (alex.ionescu@reactos.com)   06-Oct-2004
+
+--*/
+
+#ifndef _ARCH_MMTYPES_H
+#define _ARCH_MMTYPES_H
+
+//
+// Include the right file for this architecture.
+//
+#ifdef _M_IX86
+#include <i386/mmtypes.h>
+#elif defined(_M_PPC)
+#include <powerpc/mmtypes.h>
+#else
+#error "Unknown processor"
+#endif
+
+#endif

Added: trunk/reactos/include/ndk/asm.h
--- trunk/reactos/include/ndk/asm.h	2006-01-28 18:26:57 UTC (rev 19)
+++ trunk/reactos/include/ndk/asm.h	2006-01-28 18:30:02 UTC (rev 20)
@@ -0,0 +1,393 @@
+/*++ NDK Version: 0095
+
+Copyright (c) Alex Ionescu.  All rights reserved.
+
+Header Name:
+
+    asm.h
+
+Abstract:
+
+    ASM Offsets for dealing with de-referencing structures in registers.
+    C-compatible version of the file ks386.inc present in the newest WDK.
+
+Author:
+
+    Alex Ionescu (alex.ionescu@reactos.com)   06-Oct-2004
+
+--*/
+
+#ifndef _ASM_H
+#define _ASM_H
+
+//
+// CPU Modes
+//
+#define KernelMode                              0x0
+#define UserMode                                0x1
+
+//
+// CPU Types
+//
+#define CPU_INTEL                               0x1
+#define CPU_AMD                                 0x2
+
+//
+// Selector Names
+//
+#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)
+
+//
+// KV86M_REGISTERS Offsets
+//
+#define KV86M_REGISTERS_EBP                     0x0
+#define KV86M_REGISTERS_EDI                     0x4
+#define KV86M_REGISTERS_ESI                     0x8
+#define KV86M_REGISTERS_EDX                     0xC
+#define KV86M_REGISTERS_ECX                     0x10
+#define KV86M_REGISTERS_EBX                     0x14
+#define KV86M_REGISTERS_EAX                     0x18
+#define KV86M_REGISTERS_DS                      0x1C
+#define KV86M_REGISTERS_ES                      0x20
+#define KV86M_REGISTERS_FS                      0x24
+#define KV86M_REGISTERS_GS                      0x28
+#define KV86M_REGISTERS_EIP                     0x2C
+#define KV86M_REGISTERS_CS                      0x30
+#define KV86M_REGISTERS_EFLAGS                  0x34
+#define KV86M_REGISTERS_ESP                     0x38
+#define KV86M_REGISTERS_SS                      0x3C
+#define TF_SAVED_EXCEPTION_STACK                0x8C
+#define TF_REGS                                 0x90
+#define TF_ORIG_EBP                             0x94
+
+//
+// TSS Offsets
+//
+#define KTSS_ESP0                               0x4
+#define KTSS_CR3                                0x1C
+#define KTSS_EFLAGS                             0x24
+#define KTSS_IOMAPBASE                          0x66
+#define KTSS_IO_MAPS                            0x68
+
+//
+// KTHREAD Offsets
+//
+#define KTHREAD_DEBUG_ACTIVE                    0x03
+#define KTHREAD_INITIAL_STACK                   0x18
+#define KTHREAD_STACK_LIMIT                     0x1C
+#define KTHREAD_TEB                             0x74
+#define KTHREAD_KERNEL_STACK                    0x20
+#define KTHREAD_NPX_STATE                       0x4D
+#define KTHREAD_STATE                           0x4C
+#define KTHREAD_ALERTED                         0x5E
+#define KTHREAD_APCSTATE_PROCESS                0x28 + 0x10
+#define KTHREAD_PENDING_USER_APC                0x28 + 0x16
+#define KTHREAD_PENDING_KERNEL_APC              0x28 + 0x15
+#define KTHREAD_CONTEXT_SWITCHES                0x48
+#define KTHREAD_WAIT_IRQL                       0x4E
+#define KTHREAD_SERVICE_TABLE                   0x118
+#define KTHREAD_PREVIOUS_MODE                   0xD7
+#define KTHREAD_COMBINED_APC_DISABLE            0x70
+#define KTHREAD_LARGE_STACK                     0x107
+#define KTHREAD_TRAP_FRAME                      0x110
+#define KTHREAD_CALLBACK_STACK                  0x114
+#define KTHREAD_APC_STATE_INDEX                 0x11C
+#define KTHREAD_STACK_BASE                      0x158
+
+//
+// KPROCESS Offsets
+//
+#define KPROCESS_DIRECTORY_TABLE_BASE           0x18
+#define KPROCESS_LDT_DESCRIPTOR0                0x20
+#define KPROCESS_LDT_DESCRIPTOR1                0x24
+#define KPROCESS_IOPM_OFFSET                    0x30
+
+//
+// KPCR Offsets
+//
+#define KPCR_EXCEPTION_LIST                     0x0
+#define KPCR_INITIAL_STACK                      0x4
+#define KPCR_STACK_LIMIT                        0x8
+#define KPCR_SET_MEMBER_COPY                    0x14
+#define KPCR_TEB                                0x18
+#define KPCR_SELF                               0x1C
+#define KPCR_PRCB                               0x20
+#define KPCR_IRQL                               0x24
+#define KPCR_KD_VERSION_BLOCK                   0x34
+#define KPCR_GDT                                0x3C
+#define KPCR_TSS                                0x40
+#define KPCR_SET_MEMBER                         0x48
+#define KPCR_NUMBER                             0x51
+#define KPCR_CURRENT_THREAD                     0x124
+#define KPCR_PROCESSOR_NUMBER                   0x130
+#define KPCR_PRCB_SET_MEMBER                    0x134
+#define KPCR_NPX_THREAD                         0x2F4
+#define KPCR_DR6                                0x428
+#define KPCR_DR7                                0x42C
+#define KPCR_SYSTEM_CALLS                       0x6B8
+
+//
+// KGDTENTRY Offsets
+//
+#define KGDT_BASE_LOW                           0x2
+#define KGDT_BASE_MID                           0x4
+#define KGDT_BASE_HI                            0x7
+#define KGDT_LIMIT_HI                           0x6
+#define KGDT_LIMIT_LOW                          0x0
+
+//
+// FPU Save Area Offsets
+//
+#define FN_CONTROL_WORD                         0x0
+#define FN_STATUS_WORD                          0x4
+#define FN_TAG_WORD                             0x8
+#define FN_DATA_SELECTOR                        0x18
+#define FN_CR0_NPX_STATE                        0x20C
+#define SIZEOF_FX_SAVE_AREA                     528
+#define NPX_FRAME_LENGTH                        0x210
+
+//
+// NPX States
+//
+#define NPX_STATE_NOT_LOADED                    0xA
+#define NPX_STATE_LOADED                        0x0
+
+//
+// Trap Frame Offsets
+//
+#define KTRAP_FRAME_DEBUGEBP                    0x0
+#define KTRAP_FRAME_DEBUGEIP                    0x4
+#define KTRAP_FRAME_DEBUGARGMARK                0x8
+#define KTRAP_FRAME_DEBUGPOINTER                0xC
+#define KTRAP_FRAME_TEMPCS                      0x10
+#define KTRAP_FRAME_TEMPESP                     0x14
+#define KTRAP_FRAME_DR0                         0x18
+#define KTRAP_FRAME_DR1                         0x1C
+#define KTRAP_FRAME_DR2                         0x20
+#define KTRAP_FRAME_DR3                         0x24
+#define KTRAP_FRAME_DR6                         0x28
+#define KTRAP_FRAME_DR7                         0x2C
+#define KTRAP_FRAME_GS                          0x30
+#define KTRAP_FRAME_RESERVED1                   0x32
+#define KTRAP_FRAME_ES                          0x34
+#define KTRAP_FRAME_RESERVED2                   0x36
+#define KTRAP_FRAME_DS                          0x38
+#define KTRAP_FRAME_RESERVED3                   0x3A
+#define KTRAP_FRAME_EDX                         0x3C
+#define KTRAP_FRAME_ECX                         0x40
+#define KTRAP_FRAME_EAX                         0x44
+#define KTRAP_FRAME_PREVIOUS_MODE               0x48
+#define KTRAP_FRAME_EXCEPTION_LIST              0x4C
+#define KTRAP_FRAME_FS                          0x50
+#define KTRAP_FRAME_RESERVED4                   0x52
+#define KTRAP_FRAME_EDI                         0x54
+#define KTRAP_FRAME_ESI                         0x58
+#define KTRAP_FRAME_EBX                         0x5C
+#define KTRAP_FRAME_EBP                         0x60
+#define KTRAP_FRAME_ERROR_CODE                  0x64
+#define KTRAP_FRAME_EIP                         0x68
+#define KTRAP_FRAME_CS                          0x6C
+#define KTRAP_FRAME_EFLAGS                      0x70
+#define KTRAP_FRAME_ESP                         0x74
+#define KTRAP_FRAME_SS                          0x78
+#define KTRAP_FRAME_RESERVED5                   0x7A
+#define KTRAP_FRAME_V86_ES                      0x7C
+#define KTRAP_FRAME_RESERVED6                   0x7E
+#define KTRAP_FRAME_V86_DS                      0x80
+#define KTRAP_FRAME_RESERVED7                   0x82
+#define KTRAP_FRAME_V86_FS                      0x84
+#define KTRAP_FRAME_RESERVED8                   0x86
+#define KTRAP_FRAME_V86_GS                      0x88
+#define KTRAP_FRAME_RESERVED9                   0x8A
+#define KTRAP_FRAME_SIZE                        0x8C
+#define KTRAP_FRAME_LENGTH                      0x8C
+#define KTRAP_FRAME_ALIGN                       0x04
+#define FRAME_EDITED                            0xFFF8
+
+//
+// KUSER_SHARED_DATA Offsets
+//
+#define KERNEL_USER_SHARED_DATA                 0x7FFE0000
+#define KUSER_SHARED_PROCESSOR_FEATURES         KERNEL_USER_SHARED_DATA + 0x274
+#define KUSER_SHARED_SYSCALL                    KERNEL_USER_SHARED_DATA + 0x300
+#define KUSER_SHARED_SYSCALL_RET                KERNEL_USER_SHARED_DATA + 0x304
+#define PROCESSOR_FEATURE_FXSR                  KUSER_SHARED_PROCESSOR_FEATURES + 0x4
+
+//
+// CONTEXT Offsets
+//
+#define CONTEXT_FLAGS                           0x0
+#define CONTEXT_DR6                             0x14
+#define CONTEXT_FLOAT_SAVE                      0x1C
+#define CONTEXT_SEGGS                           0x8C
+#define CONTEXT_SEGFS                           0x90
+#define CONTEXT_SEGES                           0x94
+#define CONTEXT_SEGDS                           0x98
+#define CONTEXT_EDI                             0x9C
+#define CONTEXT_ESI                             0xA0
+#define CONTEXT_EBX                             0xA4
+#define CONTEXT_EDX                             0xA8
+#define CONTEXT_ECX                             0xAC
+#define CONTEXT_EAX                             0xB0
+#define CONTEXT_EBP                             0xB4
+#define CONTEXT_EIP                             0xB8
+#define CONTEXT_SEGCS                           0xBC
+#define CONTEXT_EFLAGS                          0xC0
+#define CONTEXT_ESP                             0xC4
+#define CONTEXT_SEGSS                           0xC8
+#define CONTEXT_FLOAT_SAVE_CONTROL_WORD         CONTEXT_FLOAT_SAVE + FN_CONTROL_WORD
+#define CONTEXT_FLOAT_SAVE_STATUS_WORD          CONTEXT_FLOAT_SAVE + FN_STATUS_WORD
+#define CONTEXT_FLOAT_SAVE_TAG_WORD             CONTEXT_FLOAT_SAVE + FN_TAG_WORD
+
+//
+// EXCEPTION_RECORD Offsets
+//
+#define EXCEPTION_RECORD_EXCEPTION_CODE         0x0
+#define EXCEPTION_RECORD_EXCEPTION_FLAGS        0x4
+#define EXCEPTION_RECORD_EXCEPTION_RECORD       0x8
+#define EXCEPTION_RECORD_EXCEPTION_ADDRESS      0xC
+#define EXCEPTION_RECORD_NUMBER_PARAMETERS      0x10
+#define SIZEOF_EXCEPTION_RECORD                 0x14
+
+//
+// TEB Offsets
+//
+#define TEB_EXCEPTION_LIST                      0x0
+#define TEB_STACK_BASE                          0x4
+#define TEB_STACK_LIMIT                         0x8
+#define TEB_FIBER_DATA                          0x10
+#define TEB_PEB                                 0x30
+#define TEB_EXCEPTION_CODE                      0x1A4
+#define TEB_ACTIVATION_CONTEXT_STACK_POINTER    0x1A8
+#define TEB_DEALLOCATION_STACK                  0xE0C
+#define TEB_GUARANTEED_STACK_BYTES              0xF78
+#define TEB_FLS_DATA                            0xFB4
+
+//
+// PEB Offsets
+//
+#define PEB_KERNEL_CALLBACK_TABLE               0x2C
+
+//
+// FIBER Offsets
+//
+#define FIBER_PARAMETER                         0x0
+#define FIBER_EXCEPTION_LIST                    0x4
+#define FIBER_STACK_BASE                        0x8
+#define FIBER_STACK_LIMIT                       0xC
+#define FIBER_DEALLOCATION_STACK                0x10
+#define FIBER_CONTEXT                           0x14
+#define FIBER_GUARANTEED_STACK_BYTES            0x2E0
+#define FIBER_FLS_DATA                          0x2E4
+#define FIBER_ACTIVATION_CONTEXT_STACK          0x2E8
+#define FIBER_CONTEXT_FLAGS                     FIBER_CONTEXT + CONTEXT_FLAGS
+#define FIBER_CONTEXT_EAX                       FIBER_CONTEXT + CONTEXT_EAX
+#define FIBER_CONTEXT_EBX                       FIBER_CONTEXT + CONTEXT_EBX
+#define FIBER_CONTEXT_ECX                       FIBER_CONTEXT + CONTEXT_ECX
+#define FIBER_CONTEXT_EDX                       FIBER_CONTEXT + CONTEXT_EDX
+#define FIBER_CONTEXT_ESI                       FIBER_CONTEXT + CONTEXT_ESI
+#define FIBER_CONTEXT_EDI                       FIBER_CONTEXT + CONTEXT_EDI
+#define FIBER_CONTEXT_EBP                       FIBER_CONTEXT + CONTEXT_EBP
+#define FIBER_CONTEXT_ESP                       FIBER_CONTEXT + CONTEXT_ESP
+#define FIBER_CONTEXT_DR6                       FIBER_CONTEXT + CONTEXT_DR6
+#define FIBER_CONTEXT_FLOAT_SAVE_STATUS_WORD    FIBER_CONTEXT + CONTEXT_FLOAT_SAVE_STATUS_WORD
+#define FIBER_CONTEXT_FLOAT_SAVE_CONTROL_WORD   FIBER_CONTEXT + CONTEXT_FLOAT_SAVE_CONTROL_WORD
+#define FIBER_CONTEXT_FLOAT_SAVE_TAG_WORD       FIBER_CONTEXT + CONTEXT_FLOAT_SAVE_TAG_WORD
+
+//
+// EFLAGS
+//
+#define EFLAGS_TF                               0x100
+#define EFLAGS_INTERRUPT_MASK                   0x200
+#define EFLAGS_NESTED_TASK                      0x4000
+#define EFLAGS_V86_MASK                         0x20000
+#define EFLAGS_ALIGN_CHECK                      0x40000
+#define EFLAGS_VIF                              0x80000
+#define EFLAGS_VIP                              0x100000
+#define EFLAG_SIGN                              0x8000
+#define EFLAG_ZERO                              0x4000
+#ifndef EFLAG_SELECT
+#define EFLAG_SELECT                            (EFLAG_SIGN + EFLAG_ZERO)
+#endif
+
+//
+// CR0
+//
+#define CR0_PE                                  0x1
+#define CR0_MP                                  0x2
+#define CR0_EM                                  0x4
+#define CR0_TS                                  0x8
+#define CR0_ET                                  0x10
+#define CR0_NE                                  0x20
+#define CR0_WP                                  0x10000
+#define CR0_AM                                  0x40000
+#define CR0_NW                                  0x20000000
+#define CR0_CD                                  0x40000000
+#define CR0_PG                                  0x80000000
+
+//
+// CR4
+//
+#define CR4_VME                                 0x1
+#define CR4_PVI                                 0x2
+#define CR4_TSD                                 0x4
+#define CR4_DE                                  0x8
+#define CR4_PSE                                 0x10
+#define CR4_PAE                                 0x20
+#define CR4_MCE                                 0x40
+#define CR4_PGE                                 0x80
+#define CR4_FXSR                                0x200
+#define CR4_XMMEXCPT                            0x400
+
+//
+// Usermode callout frame definitions
+//
+#define CBSTACK_STACK                           0x0
+#define CBSTACK_TRAP_FRAME                      0x4
+#define CBSTACK_CALLBACK_STACK                  0x8
+#define CBSTACK_RESULT                          0x20
+#define CBSTACK_RESULT_LENGTH                   0x24
+
+//
+// NTSTATUS and Bugcheck Codes
+//
+#ifdef __ASM__
+#define STATUS_ACCESS_VIOLATION                 0xC0000005
+#define STATUS_INVALID_SYSTEM_SERVICE           0xC000001C
+#define STATUS_NO_CALLBACK_ACTIVE               0xC0000258
+#define APC_INDEX_MISMATCH                      0x01
+#define IRQL_GT_ZERO_AT_SYSTEM_SERVICE          0x4A
+#define UNEXPECTED_KERNEL_MODE_TRAP             0x7F
+#endif
+
+//
+// System Call Table definitions
+//
+#define NUMBER_SERVICE_TABLES                   0x0002
+#define SERVICE_NUMBER_MASK                     0x0FFF
+#define SERVICE_TABLE_SHIFT                     0x0008
+#define SERVICE_TABLE_MASK                      0x0010
+#define SERVICE_TABLE_TEST                      0x0010
+#define SERVICE_DESCRIPTOR_BASE                 0x0000
+#define SERVICE_DESCRIPTOR_COUNT                0x0004
+#define SERVICE_DESCRIPTOR_LIMIT                0x0008
+#define SERVICE_DESCRIPTOR_NUMBER               0x000C
+#define SERVICE_DESCRIPTOR_LENGTH               0x0010
+
+//
+// Generic Definitions
+//
+#define MAXIMUM_IDTVECTOR                       0xFF
+#endif // !_ASM_H
+

Added: trunk/reactos/include/ndk/cctypes.h
--- trunk/reactos/include/ndk/cctypes.h	2006-01-28 18:26:57 UTC (rev 19)
+++ trunk/reactos/include/ndk/cctypes.h	2006-01-28 18:30:02 UTC (rev 20)
@@ -0,0 +1,37 @@
+/*++ NDK Version: 0095
+
+Copyright (c) Alex Ionescu.  All rights reserved.
+
+Header Name:
+
+    cctypes.h
+
+Abstract:
+
+    Type definitions for the Cache Controller.
+
+Author:
+
+    Alex Ionescu (alex.ionescu@reactos.com)   06-Oct-2004
+
+--*/
+
+#ifndef _CCTYPES_H
+#define _CCTYPES_H
+
+//
+// Dependencies
+//
+#include <umtypes.h>
+
+#ifndef NTOS_MODE_USER
+
+//
+// Kernel Exported CcData
+//
+extern ULONG NTSYSAPI CcFastReadNotPossible;
+extern ULONG NTSYSAPI CcFastReadWait;
+
+#endif
+#endif // _CCTYPES_H
+

Added: trunk/reactos/include/ndk/cmfuncs.h
--- trunk/reactos/include/ndk/cmfuncs.h	2006-01-28 18:26:57 UTC (rev 19)
+++ trunk/reactos/include/ndk/cmfuncs.h	2006-01-28 18:30:02 UTC (rev 20)
@@ -0,0 +1,439 @@
+/*++ NDK Version: 0095
+
+Copyright (c) Alex Ionescu.  All rights reserved.
+
+Header Name:
+
+    cmfuncs.h
+
+Abstract:
+
+    Function definitions for the Configuration Manager.
+
+Author:
+
+    Alex Ionescu (alex.ionescu@reactos.com)   06-Oct-2004
+
+--*/
+
+#ifndef _CMFUNCS_H
+#define _CMFUNCS_H
+
+//
+// Dependencies
+//
+#include <umtypes.h>
+
+//
+// Native calls
+//
+NTSTATUS
+NTAPI
+NtCreateKey(
+    OUT PHANDLE KeyHandle,
+    IN ACCESS_MASK DesiredAccess,
+    IN POBJECT_ATTRIBUTES ObjectAttributes,
+    IN ULONG TitleIndex,
+    IN PUNICODE_STRING Class OPTIONAL,
+    IN ULONG CreateOptions,
+    IN PULONG Disposition OPTIONAL
+);
+
+NTSTATUS
+NTAPI
+NtDeleteKey(
+    IN HANDLE KeyHandle
+);
+
+NTSTATUS
+NTAPI
+NtDeleteValueKey(
+    IN HANDLE KeyHandle,
+    IN PUNICODE_STRING ValueName
+);
+
+NTSTATUS
+NTAPI
+NtEnumerateKey(
+    IN HANDLE KeyHandle,
+    IN ULONG Index,
+    IN KEY_INFORMATION_CLASS KeyInformationClass,
+    OUT PVOID KeyInformation,
+    IN ULONG Length,
+    OUT PULONG ResultLength
+);
+
+NTSTATUS
+NTAPI
+NtEnumerateValueKey(
+    IN HANDLE KeyHandle,
+    IN ULONG Index,
+    IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
+    OUT PVOID KeyValueInformation,
+    IN ULONG Length,
+    OUT PULONG ResultLength
+);
+
+NTSTATUS
+NTAPI
+NtFlushKey(
+    IN HANDLE KeyHandle
+);
+
+NTSTATUS
+NTAPI
+NtGetPlugPlayEvent(
+    IN ULONG Reserved1,
+    IN ULONG Reserved2,
+    OUT PPLUGPLAY_EVENT_BLOCK Buffer,
+    IN ULONG BufferSize
+);
+
+NTSTATUS
+NTAPI
+NtInitializeRegistry(
+    BOOLEAN SetUpBoot
+);
+
+NTSTATUS
+NTAPI
+NtLoadKey(
+    IN POBJECT_ATTRIBUTES KeyObjectAttributes,
+    IN POBJECT_ATTRIBUTES FileObjectAttributes
+);
+
+NTSTATUS
+NTAPI
+NtLoadKey2(
+    IN POBJECT_ATTRIBUTES KeyObjectAttributes,
+    IN POBJECT_ATTRIBUTES FileObjectAttributes,
+    IN ULONG Flags
+);
+
+NTSTATUS
+NTAPI
+NtNotifyChangeKey(
+    IN HANDLE KeyHandle,
+    IN HANDLE Event,
+    IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
+    IN PVOID ApcContext OPTIONAL,
+    OUT PIO_STATUS_BLOCK IoStatusBlock,
+    IN ULONG CompletionFilter,
+    IN BOOLEAN Asynchroneous,
+    OUT PVOID ChangeBuffer,
+    IN ULONG Length,
+    IN BOOLEAN WatchSubtree
+);
+
+NTSTATUS
+NTAPI
+NtOpenKey(
+    OUT PHANDLE KeyHandle,
+    IN ACCESS_MASK DesiredAccess,
+    IN POBJECT_ATTRIBUTES ObjectAttributes
+);
+
+NTSTATUS
+NTAPI
+NtPlugPlayControl(
+    IN PLUGPLAY_CONTROL_CLASS PlugPlayControlClass,
+    IN OUT PVOID Buffer,
+    IN ULONG BufferSize
+);
+
+NTSTATUS
+NTAPI
+NtQueryKey(
+    IN HANDLE KeyHandle,
+    IN KEY_INFORMATION_CLASS KeyInformationClass,
+    OUT PVOID KeyInformation,
+    IN ULONG Length,
+    OUT PULONG ResultLength
+);
+
+NTSTATUS
+NTAPI
+NtQueryMultipleValueKey(
+    IN HANDLE KeyHandle,
+    IN OUT PKEY_VALUE_ENTRY ValueList,
+    IN ULONG NumberOfValues,
+    OUT PVOID Buffer,
+    IN OUT PULONG Length,
+    OUT PULONG ReturnLength
+);
+
+NTSTATUS
+NTAPI
+NtQueryValueKey(
+    IN HANDLE KeyHandle,
+    IN PUNICODE_STRING ValueName,
+    IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
+    OUT PVOID KeyValueInformation,
+    IN ULONG Length,
+    OUT PULONG ResultLength
+);
+
+NTSTATUS
+NTAPI
+NtReplaceKey(
+    IN POBJECT_ATTRIBUTES ObjectAttributes,
+    IN HANDLE Key,
+    IN POBJECT_ATTRIBUTES ReplacedObjectAttributes
+);
+
+NTSTATUS
+NTAPI
+NtRestoreKey(
+    IN HANDLE KeyHandle,
+    IN HANDLE FileHandle,
+    IN ULONG RestoreFlags
+);
+
+NTSTATUS
+NTAPI
+NtSaveKey(
+    IN HANDLE KeyHandle,
+    IN HANDLE FileHandle
+);
+
+NTSTATUS
+NTAPI
+NtSaveKeyEx(
+    IN HANDLE KeyHandle,
+    IN HANDLE FileHandle,
+    IN ULONG Flags
+);
+
+NTSTATUS
+NTAPI
+NtSetInformationKey(
+    IN HANDLE KeyHandle,
+    IN KEY_SET_INFORMATION_CLASS KeyInformationClass,
+    IN PVOID KeyInformation,
+    IN ULONG KeyInformationLength
+);
+
+NTSTATUS
+NTAPI
+NtSetValueKey(
+    IN HANDLE KeyHandle,
+    IN PUNICODE_STRING ValueName,
+    IN ULONG TitleIndex OPTIONAL,
+    IN ULONG Type,
+    IN PVOID Data,
+    IN ULONG DataSize
+);
+
+NTSTATUS
+NTAPI
+NtUnloadKey(
+    IN POBJECT_ATTRIBUTES KeyObjectAttributes
+);
+
+#ifdef NTOS_MODE_USER
+NTSTATUS
+NTAPI
+ZwCreateKey(
+    OUT PHANDLE KeyHandle,
+    IN ACCESS_MASK DesiredAccess,
+    IN POBJECT_ATTRIBUTES ObjectAttributes,
+    IN ULONG TitleIndex,
+    IN PUNICODE_STRING Class OPTIONAL,
+    IN ULONG CreateOptions,
+    IN PULONG Disposition OPTIONAL
+);
+
+
+NTSTATUS
+NTAPI
+ZwDeleteKey(
+    IN HANDLE KeyHandle
+);
+
+NTSTATUS
+NTAPI
+ZwDeleteValueKey(
+    IN HANDLE KeyHandle,
+    IN PUNICODE_STRING ValueName
+);
+
+NTSTATUS
+NTAPI
+ZwEnumerateKey(
+    IN HANDLE KeyHandle,
+    IN ULONG Index,
+    IN KEY_INFORMATION_CLASS KeyInformationClass,
+    OUT PVOID KeyInformation,
+    IN ULONG Length,
+    OUT PULONG ResultLength
+);
+
+NTSTATUS
+NTAPI
+ZwEnumerateValueKey(
+    IN HANDLE KeyHandle,
+    IN ULONG Index,
+    IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
+    OUT PVOID KeyValueInformation,
+    IN ULONG Length,
+    OUT PULONG ResultLength
+);
+
+NTSTATUS
+NTAPI
+ZwFlushKey(
+    IN HANDLE KeyHandle
+);
+
+NTSTATUS
+NTAPI
+ZwGetPlugPlayEvent(
+    IN ULONG Reserved1,
+    IN ULONG Reserved2,
+    OUT PPLUGPLAY_EVENT_BLOCK Buffer,
+    IN ULONG BufferSize
+);
+
+NTSTATUS
+NTAPI
+ZwInitializeRegistry(
+    BOOLEAN SetUpBoot
+);
+
+NTSTATUS
+NTAPI
+ZwLoadKey(
+    IN POBJECT_ATTRIBUTES KeyObjectAttributes,
+    IN POBJECT_ATTRIBUTES FileObjectAttributes
+);
+
+NTSTATUS
+NTAPI
+ZwLoadKey2(
+    IN POBJECT_ATTRIBUTES KeyObjectAttributes,
+    IN POBJECT_ATTRIBUTES FileObjectAttributes,
+    IN ULONG Flags
+);
+
+NTSTATUS
+NTAPI
+ZwNotifyChangeKey(
+    IN HANDLE KeyHandle,
+    IN HANDLE Event,
+    IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
+    IN PVOID ApcContext OPTIONAL,
+    OUT PIO_STATUS_BLOCK IoStatusBlock,
+    IN ULONG CompletionFilter,
+    IN BOOLEAN Asynchroneous,
+    OUT PVOID ChangeBuffer,
+    IN ULONG Length,
+    IN BOOLEAN WatchSubtree
+);
+
+NTSTATUS
+NTAPI
+ZwOpenKey(
+    OUT PHANDLE KeyHandle,
+    IN ACCESS_MASK DesiredAccess,
+    IN POBJECT_ATTRIBUTES ObjectAttributes
+);
+
+NTSTATUS
+NTAPI
+ZwPlugPlayControl(
+    IN PLUGPLAY_CONTROL_CLASS PlugPlayControlClass,
+    IN OUT PVOID Buffer,
+    IN ULONG BufferSize
+);
+
+NTSTATUS
+NTAPI
+ZwQueryKey(
+    IN HANDLE KeyHandle,
+    IN KEY_INFORMATION_CLASS KeyInformationClass,
+    OUT PVOID KeyInformation,
+    IN ULONG Length,
+    OUT PULONG ResultLength
+);
+
+NTSTATUS
+NTAPI
+ZwQueryMultipleValueKey(
+    IN HANDLE KeyHandle,
+    IN OUT PKEY_VALUE_ENTRY ValueList,
+    IN ULONG NumberOfValues,
+    OUT PVOID Buffer,
+    IN OUT PULONG Length,
+    OUT PULONG ReturnLength
+);
+
+NTSTATUS
+NTAPI
+ZwQueryValueKey(
+    IN HANDLE KeyHandle,
+    IN PUNICODE_STRING ValueName,
+    IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
+    OUT PVOID KeyValueInformation,
+    IN ULONG Length,
+    OUT PULONG ResultLength
+);
+
+NTSTATUS
+NTAPI
+ZwReplaceKey(
+    IN POBJECT_ATTRIBUTES ObjectAttributes,
+    IN HANDLE Key,
+    IN POBJECT_ATTRIBUTES ReplacedObjectAttributes
+);
+
+NTSTATUS
+NTAPI
+ZwRestoreKey(
+    IN HANDLE KeyHandle,
+    IN HANDLE FileHandle,
+    IN ULONG RestoreFlags
+);
+
+NTSTATUS
+NTAPI
+ZwSaveKey(
+    IN HANDLE KeyHandle,
+    IN HANDLE FileHandle
+);
+
+NTSTATUS
+NTAPI
+ZwSaveKeyEx(
+    IN HANDLE KeyHandle,
+    IN HANDLE FileHandle,
+    IN ULONG Flags
+);
+
+NTSTATUS
+NTAPI
+ZwSetInformationKey(
+    IN HANDLE KeyHandle,
+    IN KEY_SET_INFORMATION_CLASS KeyInformationClass,
+    IN PVOID KeyInformation,
+    IN ULONG KeyInformationLength
+);
+
+NTSTATUS
+NTAPI
+ZwSetValueKey(
+    IN HANDLE KeyHandle,
+    IN PUNICODE_STRING ValueName,
+    IN ULONG TitleIndex OPTIONAL,
+    IN ULONG Type,
+    IN PVOID Data,
+    IN ULONG DataSize
+);
+#endif
+
+NTSTATUS
+NTAPI
+ZwUnloadKey(
+    IN POBJECT_ATTRIBUTES KeyObjectAttributes
+);
+
+#endif

Added: trunk/reactos/include/ndk/cmtypes.h
--- trunk/reactos/include/ndk/cmtypes.h	2006-01-28 18:26:57 UTC (rev 19)
+++ trunk/reactos/include/ndk/cmtypes.h	2006-01-28 18:30:02 UTC (rev 20)
@@ -0,0 +1,501 @@
+/*++ NDK Version: 0095
+
+Copyright (c) Alex Ionescu.  All rights reserved.
+
+Header Name:
+
+    cmtypes.h
+
+Abstract:
+
+    Type definitions for the Configuration Manager.
+
+Author:
+
+    Alex Ionescu (alex.ionescu@reactos.com)   06-Oct-2004
+
+--*/
+
+#ifndef _CMTYPES_H
+#define _CMTYPES_H
+
+//
+// Dependencies
+//
+#include <umtypes.h>
+#include <cfg.h>
+#include <iotypes.h>
+
+#define MAX_BUS_NAME 24
+
+//
+// PLUGPLAY_CONTROL_RELATED_DEVICE_DATA.Relations
+//
+#define PNP_GET_PARENT_DEVICE           1
+#define PNP_GET_CHILD_DEVICE            2
[truncated at 1000 lines; 17339 more skipped]