[ros-diffs] [ion] 19450: - Define DECLSPEC_ADDRSAFE and FORCEINLINE for gcc in winnt.h

ion at svn.reactos.com ion at svn.reactos.com
Tue Nov 22 05:58:35 CET 2005


- Define DECLSPEC_ADDRSAFE and FORCEINLINE for gcc in winnt.h
- Remove FASTCALL define from windef.h and add it to winddk.h
- Move EXCEPTION_ defines to crt/except.h
- Remove public GUIDs from sysguid.h and move from NDK to public
umpnpmgr lib headers (since no other component but it + kernel uses
them)
- Make include/ndk an include path. The NDK is now used like the DDK, so
including ndk/foo.h should be replaced by include foo.h just like for
PSDK or DDK.
- Don't include misc.h in usermode.
- Protect some stuff in helper.h against multiple definitions.
- Sync with NDK 1.00 Beta 1 to prepare for public NDK release.
Modified: trunk/reactos/ReactOS.xml
Modified: trunk/reactos/hal/halx86/mp/mps.S
Added: trunk/reactos/include/libs/umpnpmgr/
Added: trunk/reactos/include/libs/umpnpmgr/sysguid.h
Modified: trunk/reactos/include/ndk/arch/ketypes.h
Modified: trunk/reactos/include/ndk/arch/mmtypes.h
Modified: trunk/reactos/include/ndk/asm.h
Modified: trunk/reactos/include/ndk/cctypes.h
Modified: trunk/reactos/include/ndk/cmtypes.h
Modified: trunk/reactos/include/ndk/dbgktypes.h
Modified: trunk/reactos/include/ndk/exfuncs.h
Modified: trunk/reactos/include/ndk/extypes.h
Modified: trunk/reactos/include/ndk/fixmes.txt
Modified: trunk/reactos/include/ndk/halfuncs.h
Modified: trunk/reactos/include/ndk/haltypes.h
Deleted: trunk/reactos/include/ndk/i386/floatsave.h
Modified: trunk/reactos/include/ndk/i386/ketypes.h
Modified: trunk/reactos/include/ndk/i386/mmtypes.h
Deleted: trunk/reactos/include/ndk/i386/segment.h
Modified: trunk/reactos/include/ndk/ifssupp.h
Modified: trunk/reactos/include/ndk/inbvfuncs.h
Modified: trunk/reactos/include/ndk/iofuncs.h
Modified: trunk/reactos/include/ndk/iotypes.h
Modified: trunk/reactos/include/ndk/kdfuncs.h
Modified: trunk/reactos/include/ndk/kdtypes.h
Modified: trunk/reactos/include/ndk/kefuncs.h
Modified: trunk/reactos/include/ndk/ketypes.h
Modified: trunk/reactos/include/ndk/ldrfuncs.h
Modified: trunk/reactos/include/ndk/ldrtypes.h
Modified: trunk/reactos/include/ndk/lpctypes.h
Modified: trunk/reactos/include/ndk/mmfuncs.h
Modified: trunk/reactos/include/ndk/mmtypes.h
Modified: trunk/reactos/include/ndk/ntndk.h
Modified: trunk/reactos/include/ndk/obfuncs.h
Modified: trunk/reactos/include/ndk/obtypes.h
Modified: trunk/reactos/include/ndk/potypes.h
Modified: trunk/reactos/include/ndk/psfuncs.h
Modified: trunk/reactos/include/ndk/pstypes.h
Added: trunk/reactos/include/ndk/readme.txt
Modified: trunk/reactos/include/ndk/rtlfuncs.h
Modified: trunk/reactos/include/ndk/rtltypes.h
Modified: trunk/reactos/include/ndk/sefuncs.h
Modified: trunk/reactos/include/ndk/setypes.h
Deleted: trunk/reactos/include/ndk/sysguid.h
Modified: trunk/reactos/include/ndk/umfuncs.h
Modified: trunk/reactos/include/ndk/umtypes.h
Modified: trunk/reactos/include/ndk/zwfuncs.h
Modified: trunk/reactos/include/reactos/helper.h
Modified: trunk/reactos/include/win32k/misc.h
Modified: trunk/reactos/lib/rtl/atom.c
Modified: trunk/reactos/ntoskrnl/include/ntoskrnl.h
Modified: trunk/reactos/ntoskrnl/ke/i386/irqhand.s
Modified: trunk/reactos/services/umpnpmgr/umpnpmgr.c
Modified: trunk/reactos/w32api/include/crt/excpt.h
Modified: trunk/reactos/w32api/include/ddk/winddk.h
Modified: trunk/reactos/w32api/include/winbase.h
Modified: trunk/reactos/w32api/include/windef.h
Modified: trunk/reactos/w32api/include/winnt.h
  _____  

Modified: trunk/reactos/ReactOS.xml
--- trunk/reactos/ReactOS.xml	2005-11-22 04:54:18 UTC (rev 19449)
+++ trunk/reactos/ReactOS.xml	2005-11-22 04:57:45 UTC (rev 19450)
@@ -35,6 +35,7 @@

 	<include>include/libs</include>
 	<include>include/drivers</include>
 	<include>include/subsys</include>
+	<include>include/ndk</include>
 	<include>w32api/include</include>
 	<include>w32api/include/crt</include>
 	<include>w32api/include/ddk</include>
  _____  

Modified: trunk/reactos/hal/halx86/mp/mps.S
--- trunk/reactos/hal/halx86/mp/mps.S	2005-11-22 04:54:18 UTC (rev
19449)
+++ trunk/reactos/hal/halx86/mp/mps.S	2005-11-22 04:57:45 UTC (rev
19450)
@@ -11,7 +11,7 @@

 
 /* INCLUDES
******************************************************************/
 
-#include <ndk/i386/segment.h>
+#include <ndk/asm.h>
 
 /* FUNCTIONS
*****************************************************************/
 
  _____  

Copied: trunk/reactos/include/libs/umpnpmgr/sysguid.h (from rev 19381,
trunk/reactos/include/ndk/sysguid.h)
--- trunk/reactos/include/ndk/sysguid.h	2005-11-20 17:52:53 UTC (rev
19381)
+++ trunk/reactos/include/libs/umpnpmgr/sysguid.h	2005-11-22
04:57:45 UTC (rev 19450)
@@ -0,0 +1,48 @@

+/*
+ * COPYRIGHT:       See COPYING in the top level directory
+ * PROJECT:         ReactOS UserMode PnP
+ * FILE:            ntoskrnl/rtl/libsupp.c
+ * PURPOSE:         GUIDs shared between umpnpmgr and the Kernel PnP
Manager
+ * PROGRAMMERS:     Eric Kohl
+ */
+
+#ifndef _SYSGUID_H
+#define _SYSGUID_H
+
+DEFINE_GUID(GUID_DEVICE_STANDBY_VETOED,
+  0x03B21C13, 0x18D6, 0x11D3, 0x97, 0xDB, 0x00, 0xA0, 0xC9, 0x40, 0x52,
0x2E);
+DEFINE_GUID(GUID_DEVICE_KERNEL_INITIATED_EJECT,
+  0x14689B54, 0x0703, 0x11D3, 0x97, 0xD2, 0x00, 0xA0, 0xC9, 0x40, 0x52,
0x2E);
+DEFINE_GUID(GUID_DEVICE_REMOVAL_VETOED,
+  0x60DBD5FA, 0xDDD2, 0x11D2, 0x97, 0xB8, 0x00, 0xA0, 0xC9, 0x40, 0x52,
0x2E);
+DEFINE_GUID(GUID_DEVICE_HIBERNATE_VETOED,
+  0x61173AD9, 0x194F, 0x11D3, 0x97, 0xDC, 0x00, 0xA0, 0xC9, 0x40, 0x52,
0x2E);
+DEFINE_GUID(GUID_DEVICE_SAFE_REMOVAL,
+  0x8FBEF967, 0xD6C5, 0x11D2, 0x97, 0xB5, 0x00, 0xA0, 0xC9, 0x40, 0x52,
0x2E);
+
+DEFINE_GUID(GUID_DEVICE_ARRIVAL,
+  0xCB3A4009, 0x46F0, 0x11D0, 0xB0, 0x8F, 0x00, 0x60, 0x97, 0x13, 0x05,
0x3F);
+DEFINE_GUID(GUID_DEVICE_ENUMERATED,
+  0xCB3A400A, 0x46F0, 0x11D0, 0xB0, 0x8F, 0x00, 0x60, 0x97, 0x13, 0x05,
0x3F);
+DEFINE_GUID(GUID_DEVICE_ENUMERATE_REQUEST,
+  0xCB3A400B, 0x46F0, 0x11D0, 0xB0, 0x8F, 0x00, 0x60, 0x97, 0x13, 0x05,
0x3F);
+DEFINE_GUID(GUID_DEVICE_START_REQUEST,
+  0xCB3A400C, 0x46F0, 0x11D0, 0xB0, 0x8F, 0x00, 0x60, 0x97, 0x13, 0x05,
0x3F);
+DEFINE_GUID(GUID_DEVICE_REMOVE_PENDING,
+  0xCB3A400D, 0x46F0, 0x11D0, 0xB0, 0x8F, 0x00, 0x60, 0x97, 0x13, 0x05,
0x3F);
+DEFINE_GUID(GUID_DEVICE_QUERY_AND_REMOVE,
+  0xCB3A400E, 0x46F0, 0x11D0, 0xB0, 0x8F, 0x00, 0x60, 0x97, 0x13, 0x05,
0x3F);
+DEFINE_GUID(GUID_DEVICE_EJECT,
+  0xCB3A400F, 0x46F0, 0x11D0, 0xB0, 0x8F, 0x00, 0x60, 0x97, 0x13, 0x05,
0x3F);
+DEFINE_GUID(GUID_DEVICE_NOOP,
+  0xCB3A4010, 0x46F0, 0x11D0, 0xB0, 0x8F, 0x00, 0x60, 0x97, 0x13, 0x05,
0x3F);
+DEFINE_GUID(GUID_DEVICE_WARM_EJECT_VETOED,
+  0xCBF4C1F9, 0x18D5, 0x11D3, 0x97, 0xDB, 0x00, 0xA0, 0xC9, 0x40, 0x52,
0x2E);
+DEFINE_GUID(GUID_DEVICE_SURPRISE_REMOVAL,
+  0xCE5AF000, 0x80DD, 0x11D2, 0xA8, 0x8D, 0x00, 0xA0, 0xC9, 0x69, 0x6B,
0x4B);
+DEFINE_GUID(GUID_DEVICE_EJECT_VETOED,
+  0xCF7B71E8, 0xD8FD, 0x11D2, 0x97, 0xB5, 0x00, 0xA0, 0xC9, 0x40, 0x52,
0x2E);
+DEFINE_GUID(GUID_DEVICE_EVENT_RBC,
+  0xD0744792, 0xA98E, 0x11D2, 0x91, 0x7A, 0x00, 0xA0, 0xC9, 0x06, 0x8F,
0xF3);
+
+#endif
  _____  

Modified: trunk/reactos/include/ndk/arch/ketypes.h
--- trunk/reactos/include/ndk/arch/ketypes.h	2005-11-22 04:54:18 UTC
(rev 19449)
+++ trunk/reactos/include/ndk/arch/ketypes.h	2005-11-22 04:57:45 UTC
(rev 19450)
@@ -1,15 +1,27 @@

-/*
- * PROJECT:         ReactOS Native Headers
- * FILE:            include/ndk/arch/ketypes.h
- * PURPOSE:         Architecture-specific definitions for Kernel Types
- * PROGRAMMER:      Alex Ionescu (alex at relsoft.net)
- * UPDATE HISTORY:
- *                  Created 06/10/04
- */
+/*++ 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 at reactos.com)   06-Oct-2004
+
+--*/
+
 #ifndef _ARCH_KETYPES_H
 #define _ARCH_KETYPES_H
 
-/* Shared structures needed by Arch-specific headers */
+//
+// FIXME: Find a solution to take these out of here!
+//
 typedef struct _KDPC_DATA
 {
     LIST_ENTRY DpcListHead;
@@ -24,8 +36,11 @@
     struct _GENERAL_LOOKASIDE *L;
 } PP_LOOKASIDE_LIST, *PPP_LOOKASIDE_LIST;
 
+//
+// Include the right file for this architecture.
+//
 #ifdef _M_IX86
-#include <ndk/i386/ketypes.h>
+#include <i386/ketypes.h>
 #else
 #error "Unknown processor"
 #endif
  _____  

Modified: trunk/reactos/include/ndk/arch/mmtypes.h
--- trunk/reactos/include/ndk/arch/mmtypes.h	2005-11-22 04:54:18 UTC
(rev 19449)
+++ trunk/reactos/include/ndk/arch/mmtypes.h	2005-11-22 04:57:45 UTC
(rev 19450)
@@ -1,16 +1,29 @@

-/*
- * PROJECT:         ReactOS Native Headers
- * FILE:            include/ndk/arch/mmtypes.h
- * PURPOSE:         Architecture-specific definitions for Memory
Manager Types
- * PROGRAMMER:      Alex Ionescu (alex at relsoft.net)
- * UPDATE HISTORY:
- *                  Created 06/10/04
- */
+/*++ 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 at 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"
+#include <i386/mmtypes.h>
 #else
 #error "Unknown processor"
 #endif
  _____  

Modified: trunk/reactos/include/ndk/asm.h
--- trunk/reactos/include/ndk/asm.h	2005-11-22 04:54:18 UTC (rev
19449)
+++ trunk/reactos/include/ndk/asm.h	2005-11-22 04:57:45 UTC (rev
19450)
@@ -1,217 +1,259 @@

-/*
- * PROJECT:         ReactOS Native Headers
- * FILE:            include/ndk/asm.h
- * PURPOSE:         Defintions for Structures used in Assembly Code
- * PROGRAMMER:      Alex Ionescu (alex at relsoft.net)
- * UPDATE HISTORY:
- *                  Created 07/19/05
- */
+/*++ 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.
+
+Author:
+
+    Alex Ionescu (alex.ionescu at reactos.com)   06-Oct-2004
+
+--*/
+
 #ifndef _ASM_H
 #define _ASM_H
 
-/* DEPENDENCIES
**************************************************************/
+//
+// FIXME: Use real names.
+//
+#define KERNEL_CS                               (0x8)
+#define KERNEL_DS                               (0x10)
+#define USER_CS                                 (0x18 + 0x3)
+#define USER_DS                                 (0x20 + 0x3)
+#define TSS_SELECTOR                            (0x28)
+#define PCR_SELECTOR                            (0x30)
+#define TEB_SELECTOR                            (0x38 + 0x3)
+#define LDT_SELECTOR                            (0x48)
+#define TRAP_TSS_SELECTOR                       (0x50)
 
-/* EXPORTED DATA
*************************************************************/
+//
+// 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
 
-/* CONSTANTS
*****************************************************************/
+//
+// TSS Offsets
+//
+#define KTSS_ESP0                               0x4
+#define KTSS_CR3                                0x1C
+#define KTSS_EFLAGS                             0x24
+#define KTSS_IOMAPBASE                          0x66
 
-/*
- * Definitions for the offsets of members in the KV86M_REGISTERS
- */
-#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
+//
+// 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_TRAP_FRAME                      0x110
+#define KTHREAD_CALLBACK_STACK                  0x114
 
-#define TF_SAVED_EXCEPTION_STACK        0x8C
-#define TF_REGS                         0x90
-#define TF_ORIG_EBP                     0x94
+//
+// KPROCESS Offsets
+//
+#define KPROCESS_DIRECTORY_TABLE_BASE           0x18
+#define KPROCESS_LDT_DESCRIPTOR0                0x20
+#define KPROCESS_LDT_DESCRIPTOR1                0x24
+#define KPROCESS_IOPM_OFFSET                    0x30
 
-/* TSS Offsets */
-#define KTSS_ESP0                       0x4
-#define KTSS_CR3                        0x1C
-#define KTSS_EFLAGS                     0x24
-#define KTSS_IOMAPBASE                  0x66
+//
+// KPCR Offsets
+//
+#define KPCR_EXCEPTION_LIST                     0x0
+#define KPCR_INITIAL_STACK                      0x4
+#define KPCR_STACK_LIMIT                        0x8
+#define KPCR_TEB                                0x18
+#define KPCR_SELF                               0x1C
+#define KPCR_GDT                                0x3C
+#define KPCR_TSS                                0x40
+#define KPCR_CURRENT_THREAD                     0x124
+#define KPCR_NPX_THREAD                         0x2F4
 
-/*
- * Defines for accessing KPCR and KTHREAD structure members
- */
-#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_TRAP_FRAME              0x110
-#define KTHREAD_CALLBACK_STACK          0x114
+//
+// 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 KPROCESS_DIRECTORY_TABLE_BASE   0x18
-#define KPROCESS_LDT_DESCRIPTOR0        0x20
-#define KPROCESS_LDT_DESCRIPTOR1        0x24
-#define KPROCESS_IOPM_OFFSET            0x30
+//
+// 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 KPCR_EXCEPTION_LIST             0x0
-#define KPCR_INITIAL_STACK              0x4
-#define KPCR_STACK_LIMIT                0x8
-#define KPCR_TEB                        0x18
-#define KPCR_SELF                       0x1C
-#define KPCR_GDT                        0x3C
-#define KPCR_TSS                        0x40
-#define KPCR_CURRENT_THREAD             0x124
-#define KPCR_NPX_THREAD                 0x2F4
+//
+// 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
 
-/* 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
 
-/* 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
+//
+// 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
 
-/* User Shared Data */
-#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
+//
+// 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
 
-/* CONTEXT CONSTANTS */
-#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
+//
+// 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
 
-/* EXCEPTION_RECORD Constants */
-#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
+//
+// PEB Offsets
+//
+#define PEB_KERNEL_CALLBACK_TABLE               0x2C
 
-/* TEB CONSTANTS */
-#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 CONSTANTS */
-#define PEB_KERNEL_CALLBACK_TABLE       0x2C
-
-/* FIBER CONSTANTS */
-#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 
+//
+// 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
-#endif
 
+#endif // !_ASM_H
+
  _____  

Modified: trunk/reactos/include/ndk/cctypes.h
--- trunk/reactos/include/ndk/cctypes.h	2005-11-22 04:54:18 UTC (rev
19449)
+++ trunk/reactos/include/ndk/cctypes.h	2005-11-22 04:57:45 UTC (rev
19450)
@@ -1,24 +1,33 @@

-/*
- * PROJECT:         ReactOS Native Headers
- * FILE:            include/ndk/cctypes.h
- * PURPOSE:         Definitions for exported Cache Manager Types not
defined in DDK/IFS
- * PROGRAMMER:      Alex Ionescu (alex at relsoft.net)
- * UPDATE HISTORY:
- *                  Created 06/10/04
- */
+/*++ 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 at reactos.com)   06-Oct-2004
+
+--*/
+
 #ifndef _CCTYPES_H
 #define _CCTYPES_H
 
-/* DEPENDENCIES
**************************************************************/
+//
+// Dependencies
+//
 
-/* EXPORTED DATA
*************************************************************/
+//
+// Kernel Exported CcData
+//
 extern ULONG NTSYSAPI CcFastReadNotPossible;
 extern ULONG NTSYSAPI CcFastReadWait;
 
-/* ENUMERATIONS
**************************************************************/
+#endif // _CCTYPES_H
 
-/* TYPES
*********************************************************************/
-
-#endif
-
  _____  

Modified: trunk/reactos/include/ndk/cmtypes.h
--- trunk/reactos/include/ndk/cmtypes.h	2005-11-22 04:54:18 UTC (rev
19449)
+++ trunk/reactos/include/ndk/cmtypes.h	2005-11-22 04:57:45 UTC (rev
19450)
@@ -1,37 +1,124 @@

-/*
- * PROJECT:         ReactOS Native Headers
- * FILE:            include/ndk/cmtypes.h
- * PURPOSE:         Definitions for Config Manager Types not defined in
DDK/IFS
- * PROGRAMMER:      Alex Ionescu (alex at relsoft.net)
- * UPDATE HISTORY:
- *                  Created 06/10/04
- */
+/*++ 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 at reactos.com)   06-Oct-2004
+
+--*/
+
 #ifndef _CMTYPES_H
 #define _CMTYPES_H
 
-/* DEPENDENCIES
**************************************************************/
+//
+// Dependencies
+//
 #include <cfg.h>
 #include "iotypes.h"
 
-/* EXPORTED DATA
*************************************************************/
-
-/* CONSTANTS
*****************************************************************/
 #define MAX_BUS_NAME 24
 
-/* PLUGPLAY_CONTROL_RELATED_DEVICE_DATA.Relation values */
-#define PNP_GET_PARENT_DEVICE  1
-#define PNP_GET_CHILD_DEVICE   2
-#define PNP_GET_SIBLING_DEVICE 3
+//
+// PLUGPLAY_CONTROL_RELATED_DEVICE_DATA.Relations
+//
+#define PNP_GET_PARENT_DEVICE           1
+#define PNP_GET_CHILD_DEVICE            2
+#define PNP_GET_SIBLING_DEVICE          3
 
-/* PLUGPLAY_CONTROL_STATUS_DATA.Operation values */
-#define PNP_GET_DEVICE_STATUS    0
-#define PNP_SET_DEVICE_STATUS    1
-#define PNP_CLEAR_DEVICE_STATUS  2
+//
+// PLUGPLAY_CONTROL_STATUS_DATA Operations
+//
+#define PNP_GET_DEVICE_STATUS           0
+#define PNP_SET_DEVICE_STATUS           1
+#define PNP_CLEAR_DEVICE_STATUS         2
 
-/* ENUMERATIONS
**************************************************************/
+//
+// Resource Type
+//
+#define CmResourceTypeNull                      0
+#define CmResourceTypePort                      1
+#define CmResourceTypeInterrupt                 2
+#define CmResourceTypeMemory                    3
+#define CmResourceTypeDma                       4
+#define CmResourceTypeDeviceSpecific            5
+#define CmResourceTypeBusNumber                 6
+#define CmResourceTypeMaximum                   7
+#define CmResourceTypeNonArbitrated             128
+#define CmResourceTypeConfigData                128
+#define CmResourceTypeDevicePrivate             129
+#define CmResourceTypePcCardConfig              130
+#define CmResourceTypeMfCardConfig              131
 
 #ifdef NTOS_MODE_USER
+
+//
+// Resource Descriptor Share Dispositions
+//
+typedef enum _CM_SHARE_DISPOSITION
+{
+    CmResourceShareUndetermined,
+    CmResourceShareDeviceExclusive,
+    CmResourceShareDriverExclusive,
+    CmResourceShareShared
+} CM_SHARE_DISPOSITION;
+
+#endif
+
+//
+// Port Resource Descriptor Flags
+//
+#define CM_RESOURCE_PORT_MEMORY                 0x0000
+#define CM_RESOURCE_PORT_IO                     0x0001
+#define CM_RESOURCE_PORT_10_BIT_DECODE          0x0004
+#define CM_RESOURCE_PORT_12_BIT_DECODE          0x0008
+#define CM_RESOURCE_PORT_16_BIT_DECODE          0x0010
+#define CM_RESOURCE_PORT_POSITIVE_DECODE        0x0020
+#define CM_RESOURCE_PORT_PASSIVE_DECODE         0x0040
+#define CM_RESOURCE_PORT_WINDOW_DECODE          0x0080
+
+//
+// Interrupt Resource Descriptor Flags
+//
+#define CM_RESOURCE_INTERRUPT_LEVEL_SENSITIVE   0x0000
+#define CM_RESOURCE_INTERRUPT_LATCHED           0x0001
+
+//
+// Memory Resource Descriptor Flags
+//
+#define CM_RESOURCE_MEMORY_READ_WRITE     0x0000
+#define CM_RESOURCE_MEMORY_READ_ONLY      0x0001
+#define CM_RESOURCE_MEMORY_WRITE_ONLY     0x0002
+#define CM_RESOURCE_MEMORY_PREFETCHABLE   0x0004
+#define CM_RESOURCE_MEMORY_COMBINEDWRITE  0x0008
+#define CM_RESOURCE_MEMORY_24             0x0010
+#define CM_RESOURCE_MEMORY_CACHEABLE      0x0020
+
+//
+// DMA Resource Descriptor Flags
+//
+#define CM_RESOURCE_DMA_8                 0x0000
+#define CM_RESOURCE_DMA_16                0x0001
+#define CM_RESOURCE_DMA_32                0x0002
+#define CM_RESOURCE_DMA_8_AND_16          0x0004
+#define CM_RESOURCE_DMA_BUS_MASTER        0x0008
+#define CM_RESOURCE_DMA_TYPE_A            0x0010
+#define CM_RESOURCE_DMA_TYPE_B            0x0020
+#define CM_RESOURCE_DMA_TYPE_F            0x0040
+
+#ifdef NTOS_MODE_USER
+
+//
+// Information Classes for NtQueryKey
+//
 typedef enum _KEY_INFORMATION_CLASS
 {
     KeyBasicInformation,
@@ -57,8 +144,12 @@
     KeyUserFlagsInformation,
     MaxKeySetInfoClass
 } KEY_SET_INFORMATION_CLASS;
+
 #endif
 
+//
+// Plag and Play Classes
+//
 typedef enum _PLUGPLAY_CONTROL_CLASS
 {
     PlugPlayControlUserResponse = 0x07,
@@ -76,12 +167,18 @@
     MaxPlugPlayBusClass
 } PLUGPLAY_BUS_CLASS, *PPLUGPLAY_BUS_CLASS;
 
+//
+// Plag and Play Bus Types
+//
 typedef enum _PLUGPLAY_VIRTUAL_BUS_TYPE
 {
     Root,
     MaxPlugPlayVirtualBusType
 } PLUGPLAY_VIRTUAL_BUS_TYPE, *PPLUGPLAY_VIRTUAL_BUS_TYPE;
 
+//
+// Plag and Play Event Categories
+//
 typedef enum _PLUGPLAY_EVENT_CATEGORY
 {
     HardwareProfileChangeEvent,
@@ -95,9 +192,12 @@
     BlockedDriverEvent,
     MaxPlugEventCategory
 } PLUGPLAY_EVENT_CATEGORY;
-/* TYPES
*********************************************************************/
 
 #ifdef NTOS_MODE_USER
+
+//
+// Information Structures for NtQueryKeyInformation
+//
 typedef struct _KEY_WRITE_TIME_INFORMATION
 {
     LARGE_INTEGER LastWriteTime;
@@ -177,6 +277,9 @@
 
 #endif
 
+//
+// Plug and Play Event Block
+//
 typedef struct _PLUGPLAY_EVENT_BLOCK
 {
     GUID EventGuid;
@@ -226,7 +329,11 @@
     };
 } PLUGPLAY_EVENT_BLOCK, *PPLUGPLAY_EVENT_BLOCK;
 
-/* Class 0x0A */
+//
+// Plug and Play Control Classes
+//
+
+//Class 0x0A
 typedef struct _PLUGPLAY_CONTROL_PROPERTY_DATA
 {
     UNICODE_STRING DeviceInstance;
@@ -235,36 +342,39 @@
     ULONG BufferSize;
 } PLUGPLAY_CONTROL_PROPERTY_DATA, *PPLUGPLAY_CONTROL_PROPERTY_DATA;
 
-/* Class 0x0C */
+// Class 0x0C
 typedef struct _PLUGPLAY_CONTROL_RELATED_DEVICE_DATA
 {
     UNICODE_STRING TargetDeviceInstance;
-    ULONG Relation; /* 1: Parent  2: Child  3: Sibling */
+    ULONG Relation;
     UNICODE_STRING RelatedDeviceInstance;
 } PLUGPLAY_CONTROL_RELATED_DEVICE_DATA,
*PPLUGPLAY_CONTROL_RELATED_DEVICE_DATA;
 
-/* Class 0x0E */
+// Class 0x0E
 typedef struct _PLUGPLAY_CONTOL_STATUS_DATA
 {
     UNICODE_STRING DeviceInstance;
-    ULONG Operation;       /* 0: Get  1: Set  2: Clear */
-    ULONG DeviceStatus;    /* DN_       see cfg.h */
-    ULONG DeviceProblem;   /* CM_PROB_  see cfg.h */
+    ULONG Operation;
+    ULONG DeviceStatus;
+    ULONG DeviceProblem;
 } PLUGPLAY_CONTROL_STATUS_DATA, *PPLUGPLAY_CONTROL_STATUS_DATA;
 
-/* Class 0x0F */
+// Class 0x0F
 typedef struct _PLUGPLAY_CONTROL_DEPTH_DATA
 {
     UNICODE_STRING DeviceInstance;
     ULONG Depth;
 } PLUGPLAY_CONTROL_DEPTH_DATA, *PPLUGPLAY_CONTROL_DEPTH_DATA;
 
-/* Class 0x14 */
+// Class 0x14
 typedef struct _PLUGPLAY_CONTROL_RESET_DEVICE_DATA
 {
    UNICODE_STRING DeviceInstance;
 } PLUGPLAY_CONTROL_RESET_DEVICE_DATA,
*PPLUGPLAY_CONTROL_RESET_DEVICE_DATA;
 
+//
+// Plug and Play Bus Type Definition
+//
 typedef struct _PLUGPLAY_BUS_TYPE
 {
     PLUGPLAY_BUS_CLASS BusClass;
@@ -275,6 +385,9 @@
     };
 } PLUGPLAY_BUS_TYPE, *PPLUGPLAY_BUS_TYPE;
 
+//
+// Plug and Play Bus Instance Definition
+//
 typedef struct _PLUGPLAY_BUS_INSTANCE
 {
     PLUGPLAY_BUS_TYPE BusType;
@@ -284,149 +397,110 @@
 
 #ifdef NTOS_MODE_USER
 
+//
+// Partial Resource Descriptor and List for Hardware
+//
 #include <pshpack1.h>
-typedef struct _CM_PARTIAL_RESOURCE_DESCRIPTOR {
-  UCHAR Type;
-  UCHAR ShareDisposition;
-  USHORT Flags;
-  union {
-    struct {
-      PHYSICAL_ADDRESS Start;
-      ULONG Length;
-    } Generic;
-    struct {
-      PHYSICAL_ADDRESS Start;
-      ULONG Length;
-    } Port;
-    struct {
-      ULONG Level;
-      ULONG Vector;
-      ULONG Affinity;
-    } Interrupt;
-    struct {
-      PHYSICAL_ADDRESS Start;
-      ULONG Length;
-    } Memory;
-    struct {
-      ULONG Channel;
-      ULONG Port;
-      ULONG Reserved1;
[truncated at 1000 lines; 8918 more skipped] 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.reactos.org/pipermail/ros-diffs/attachments/20051122/09a6a79c/attachment.html


More information about the Ros-diffs mailing list