Author: akhaldi
Date: Thu Mar 18 01:36:45 2010
New Revision: 46256
URL:
http://svn.reactos.org/svn/reactos?rev=46256&view=rev
Log:
[NTDDK]
- Group related definitions.
- Add missing NTAPI attribute to IoCreateFileSpecifyDeviceObjectHint and IoCreateFileEx.
- Fix a FIXME.
[SERIAL]
- Remove redundant IoAttachDeviceToDeviceStackSafe definition.
[MCE]
- Add mce.h definitions.
Added:
branches/header-work/include/ddk/mce.h (with props)
Modified:
branches/header-work/drivers/serial/serial/serial.h
branches/header-work/include/ddk/ntddk.h
Modified: branches/header-work/drivers/serial/serial/serial.h
URL:
http://svn.reactos.org/svn/reactos/branches/header-work/drivers/serial/seri…
==============================================================================
--- branches/header-work/drivers/serial/serial/serial.h [iso-8859-1] (original)
+++ branches/header-work/drivers/serial/serial/serial.h [iso-8859-1] Thu Mar 18 01:36:45
2010
@@ -16,15 +16,6 @@
/* See winbase.h */
#define PST_RS232 1
#define COMMPROP_INITIALIZED 0xE73CF52E
-
-#ifndef _NTIFS_
-/* Why is it only defined in ntifs.h file? */
-NTSTATUS NTAPI
-IoAttachDeviceToDeviceStackSafe(
- IN PDEVICE_OBJECT SourceDevice,
- IN PDEVICE_OBJECT TargetDevice,
- OUT PDEVICE_OBJECT *AttachedToDeviceObject);
-#endif
typedef enum
{
Added: branches/header-work/include/ddk/mce.h
URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/ddk/mce.h?r…
==============================================================================
--- branches/header-work/include/ddk/mce.h (added)
+++ branches/header-work/include/ddk/mce.h [iso-8859-1] Thu Mar 18 01:36:45 2010
@@ -1,0 +1,1074 @@
+#pragma once
+
+#if defined(_X86_) || defined(_IA64_) || defined(_AMD64_)
+
+typedef union _MCI_ADDR {
+ struct {
+ ULONG Address;
+ ULONG Reserved;
+ } DUMMYSTRUCTNAME;
+ ULONGLONG QuadPart;
+} MCI_ADDR, *PMCI_ADDR;
+
+typedef enum {
+ HAL_MCE_RECORD,
+ HAL_MCA_RECORD
+} MCA_EXCEPTION_TYPE;
+
+#if defined(_AMD64_)
+
+#if (NTDDI_VERSION <= NTDDI_WINXP)
+
+typedef union _MCI_STATS {
+ struct {
+ USHORT McaCod;
+ USHORT ModelErrorCode;
+ ULONG OtherInfo:25;
+ ULONG Damage:1;
+ ULONG AddressValid:1;
+ ULONG MiscValid:1;
+ ULONG Enabled:1;
+ ULONG Uncorrected:1;
+ ULONG OverFlow:1;
+ ULONG Valid:1;
+ } MciStatus;
+ ULONG64 QuadPart;
+} MCI_STATS, *PMCI_STATS;
+
+#else
+
+typedef union _MCI_STATS {
+ struct {
+ USHORT McaErrorCode;
+ USHORT ModelErrorCode;
+ ULONG OtherInformation:25;
+ ULONG ContextCorrupt:1;
+ ULONG AddressValid:1;
+ ULONG MiscValid:1;
+ ULONG ErrorEnabled:1;
+ ULONG UncorrectedError:1;
+ ULONG StatusOverFlow:1;
+ ULONG Valid:1;
+ } MciStatus;
+ ULONG64 QuadPart;
+} MCI_STATS, *PMCI_STATS;
+
+#endif /* (NTDDI_VERSION <= NTDDI_WINXP) */
+
+#endif /* defined(_AMD64_) */
+
+#if defined(_X86_)
+typedef union _MCI_STATS {
+ struct {
+ USHORT McaCod;
+ USHORT MsCod;
+ ULONG OtherInfo:25;
+ ULONG Damage:1;
+ ULONG AddressValid:1;
+ ULONG MiscValid:1;
+ ULONG Enabled:1;
+ ULONG UnCorrected:1;
+ ULONG OverFlow:1;
+ ULONG Valid:1;
+ } MciStats;
+ ULONGLONG QuadPart;
+} MCI_STATS, *PMCI_STATS;
+#endif
+
+#define MCA_EXTREG_V2MAX 24
+
+#if defined(_X86_) || defined(_AMD64_)
+
+#if (NTDDI_VERSION >= NTDDI_WINXP)
+
+typedef struct _MCA_EXCEPTION {
+ ULONG VersionNumber;
+ MCA_EXCEPTION_TYPE ExceptionType;
+ LARGE_INTEGER TimeStamp;
+ ULONG ProcessorNumber;
+ ULONG Reserved1;
+ union {
+ struct {
+ UCHAR BankNumber;
+ UCHAR Reserved2[7];
+ MCI_STATS Status;
+ MCI_ADDR Address;
+ ULONGLONG Misc;
+ } Mca;
+ struct {
+ ULONGLONG Address;
+ ULONGLONG Type;
+ } Mce;
+ } u;
+ ULONG ExtCnt;
+ ULONG Reserved3;
+ ULONGLONG ExtReg[MCA_EXTREG_V2MAX];
+} MCA_EXCEPTION, *PMCA_EXCEPTION;
+
+#else
+
+typedef struct _MCA_EXCEPTION {
+ ULONG VersionNumber;
+ MCA_EXCEPTION_TYPE ExceptionType;
+ LARGE_INTEGER TimeStamp;
+ ULONG ProcessorNumber;
+ ULONG Reserved1;
+ union {
+ struct {
+ UCHAR BankNumber;
+ UCHAR Reserved2[7];
+ MCI_STATS Status;
+ MCI_ADDR Address;
+ ULONGLONG Misc;
+ } Mca;
+ struct {
+ ULONGLONG Address;
+ ULONGLONG Type;
+ } Mce;
+ } u;
+} MCA_EXCEPTION, *PMCA_EXCEPTION;
+
+#endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
+
+typedef MCA_EXCEPTION CMC_EXCEPTION, *PCMC_EXCEPTION;
+typedef MCA_EXCEPTION CPE_EXCEPTION, *PCPE_EXCEPTION;
+
+#if (NTDDI_VERSION >= NTDDI_WINXP)
+#define MCA_EXCEPTION_V1_SIZE FIELD_OFFSET(MCA_EXCEPTION, ExtCnt)
+#define MCA_EXCEPTION_V2_SIZE sizeof(struct _MCA_EXCEPTION)
+#endif
+
+#endif /* defined(_X86_) || defined(_AMD64_) */
+
+#if defined(_AMD64_) || defined(_IA64_)
+
+typedef UCHAR ERROR_SEVERITY, *PERROR_SEVERITY;
+
+typedef enum _ERROR_SEVERITY_VALUE {
+ ErrorRecoverable = 0,
+ ErrorFatal = 1,
+ ErrorCorrected = 2,
+ ErrorOthers = 3,
+} ERROR_SEVERITY_VALUE;
+
+#endif
+
+#if defined(_IA64_)
+
+typedef union _ERROR_REVISION {
+ USHORT Revision;
+ struct {
+ UCHAR Minor;
+ UCHAR Major;
+ } DUMMYSTRUCTNAME;
+} ERROR_REVISION, *PERROR_REVISION;
+
+#if (NTDDI_VERSION > NTDDI_WINXP)
+#define ERROR_MAJOR_REVISION_SAL_03_00 0
+#define ERROR_MINOR_REVISION_SAL_03_00 2
+#define ERROR_REVISION_SAL_03_00
{ERROR_MINOR_REVISION_SAL_03_00,ERROR_MAJOR_REVISION_SAL_03_00}
+#define ERROR_FIXED_SECTION_REVISION {2,0}
+#else
+#define ERROR_REVISION_SAL_03_00 {2,0}
+#endif /* (NTDDI_VERSION > NTDDI_WINXP) */
+
+typedef union _ERROR_TIMESTAMP {
+ ULONGLONG TimeStamp;
+ struct {
+ UCHAR Seconds;
+ UCHAR Minutes;
+ UCHAR Hours;
+ UCHAR Reserved;
+ UCHAR Day;
+ UCHAR Month;
+ UCHAR Year;
+ UCHAR Century;
+ } DUMMYSTRUCTNAME;
+} ERROR_TIMESTAMP, *PERROR_TIMESTAMP;
+
+typedef struct _ERROR_GUID {
+ ULONG Data1;
+ USHORT Data2;
+ USHORT Data3;
+ UCHAR Data4[8];
+} ERROR_GUID, *PERROR_GUID;
+
+typedef ERROR_GUID _ERROR_DEVICE_GUID;
+typedef _ERROR_DEVICE_GUID ERROR_DEVICE_GUID, *PERROR_DEVICE_GUID;
+
+typedef ERROR_GUID _ERROR_PLATFORM_GUID;
+typedef _ERROR_PLATFORM_GUID ERROR_PLATFORM_GUID, *PERROR_PLATFORM_GUID;
+
+typedef union _ERROR_RECORD_VALID {
+ UCHAR Valid;
+ struct {
+ UCHAR OemPlatformID:1;
+ UCHAR Reserved:7;
+ } DUMMYSTRUCTNAME;
+} ERROR_RECORD_VALID, *PERROR_RECORD_VALID;
+
+typedef struct _ERROR_RECORD_HEADER {
+ ULONGLONG Id;
+ ERROR_REVISION Revision;
+ ERROR_SEVERITY ErrorSeverity;
+ ERROR_RECORD_VALID Valid;
+ ULONG Length;
+ ERROR_TIMESTAMP TimeStamp;
+ UCHAR OemPlatformId[16];
+} ERROR_RECORD_HEADER, *PERROR_RECORD_HEADER;
+
+typedef union _ERROR_RECOVERY_INFO {
+ UCHAR RecoveryInfo;
+ struct {
+ UCHAR Corrected:1;
+ UCHAR NotContained:1;
+ UCHAR Reset:1;
+ UCHAR Reserved:4;
+ UCHAR Valid:1;
+ } DUMMYSTRUCTNAME;
+} ERROR_RECOVERY_INFO, *PERROR_RECOVERY_INFO;
+
+typedef struct _ERROR_SECTION_HEADER {
+ ERROR_DEVICE_GUID Guid;
+ ERROR_REVISION Revision;
+ ERROR_RECOVERY_INFO RecoveryInfo;
+ UCHAR Reserved;
+ ULONG Length;
+} ERROR_SECTION_HEADER, *PERROR_SECTION_HEADER;
+
+#if !defined(__midl) && defined(_MSC_EXTENSIONS)
+__inline
+USHORT
+NTAPI
+GetFwMceLogProcessorNumber(
+ PERROR_RECORD_HEADER Log)
+{
+ PERROR_SECTION_HEADER section = (PERROR_SECTION_HEADER)((ULONG64)Log + sizeof(*Log));
+ USHORT lid = (USHORT)((UCHAR)(section->Reserved));
+ lid |= (USHORT)((UCHAR)(Log->TimeStamp.Reserved) << 8);
+ return( lid );
+}
+#endif
+
+#define ERROR_PROCESSOR_GUID {0xe429faf1, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7,
0x3c, 0x88, 0x81}}
+
+typedef union _ERROR_MODINFO_VALID {
+ ULONGLONG Valid;
+ struct {
+ ULONGLONG CheckInfo:1;
+ ULONGLONG RequestorIdentifier:1;
+ ULONGLONG ResponderIdentifier:1;
+ ULONGLONG TargetIdentifier:1;
+ ULONGLONG PreciseIP:1;
+ ULONGLONG Reserved:59;
+ } DUMMYSTRUCTNAME;
+} ERROR_MODINFO_VALID, *PERROR_MODINFO_VALID;
+
+typedef enum _ERROR_CHECK_IS {
+ isIA64 = 0,
+ isIA32 = 1,
+} ERROR_CHECK_IS;
+
+typedef enum _ERROR_CACHE_CHECK_OPERATION {
+ CacheUnknownOp = 0,
+ CacheLoad = 1,
+ CacheStore = 2,
+ CacheInstructionFetch = 3,
+ CacheDataPrefetch = 4,
+ CacheSnoop = 5,
+ CacheCastOut = 6,
+ CacheMoveIn = 7,
+} ERROR_CACHE_CHECK_OPERATION;
+
+typedef enum _ERROR_CACHE_CHECK_MESI {
+ CacheInvalid = 0,
+ CacheHeldShared = 1,
+ CacheHeldExclusive = 2,
+ CacheModified = 3,
+} ERROR_CACHE_CHECK_MESI;
+
+#if (NTDDI_VERSION >= NTDDI_VISTA)
+
+typedef union _ERROR_CACHE_CHECK {
+ ULONGLONG CacheCheck;
+ struct {
+ ULONGLONG Operation:4;
+ ULONGLONG Level:2;
+ ULONGLONG Reserved1:2;
+ ULONGLONG DataLine:1;
+ ULONGLONG TagLine:1;
+ ULONGLONG DataCache:1;
+ ULONGLONG InstructionCache:1;
+ ULONGLONG MESI:3;
+ ULONGLONG MESIValid:1;
+ ULONGLONG Way:5;
+ ULONGLONG WayIndexValid:1;
+ ULONGLONG Reserved2:1;
+ ULONGLONG DP:1;
+ ULONGLONG Reserved3:8;
+ ULONGLONG Index:20;
+ ULONGLONG Reserved4:2;
+ ULONGLONG InstructionSet:1;
+ ULONGLONG InstructionSetValid:1;
+ ULONGLONG PrivilegeLevel:2;
+ ULONGLONG PrivilegeLevelValid:1;
+ ULONGLONG MachineCheckCorrected:1;
+ ULONGLONG TargetAddressValid:1;
+ ULONGLONG RequestIdValid:1;
+ ULONGLONG ResponderIdValid:1;
+ ULONGLONG PreciseIPValid:1;
+ } DUMMYSTRUCTNAME;
+} ERROR_CACHE_CHECK, *PERROR_CACHE_CHECK;
+
+# else
+
+typedef union _ERROR_CACHE_CHECK {
+ ULONGLONG CacheCheck;
+ struct {
+ ULONGLONG Operation:4;
+ ULONGLONG Level:2;
+ ULONGLONG Reserved1:2;
+ ULONGLONG DataLine:1;
+ ULONGLONG TagLine:1;
+ ULONGLONG DataCache:1;
+ ULONGLONG InstructionCache:1;
+ ULONGLONG MESI:3;
+ ULONGLONG MESIValid:1;
+ ULONGLONG Way:5;
+ ULONGLONG WayIndexValid:1;
+ ULONGLONG Reserved2:10;
+ ULONGLONG Index:20;
+ ULONGLONG Reserved3:2;
+ ULONGLONG InstructionSet:1;
+ ULONGLONG InstructionSetValid:1;
+ ULONGLONG PrivilegeLevel:2;
+ ULONGLONG PrivilegeLevelValid:1;
+ ULONGLONG MachineCheckCorrected:1;
+ ULONGLONG TargetAddressValid:1;
+ ULONGLONG RequestIdValid:1;
+ ULONGLONG ResponderIdValid:1;
+ ULONGLONG PreciseIPValid:1;
+ } DUMMYSTRUCTNAME;
+} ERROR_CACHE_CHECK, *PERROR_CACHE_CHECK;
+
+#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
+
+typedef enum _ERROR_TLB_CHECK_OPERATION {
+ TlbUnknownOp = 0,
+ TlbAccessWithLoad = 1,
+ TlbAccessWithStore = 2,
+ TlbAccessWithInstructionFetch = 3,
+ TlbAccessWithDataPrefetch = 4,
+ TlbShootDown = 5,
+ TlbProbe = 6,
+ TlbVhptFill = 7,
+ TlbPurge = 8,
+} ERROR_TLB_CHECK_OPERATION;
+
+typedef union _ERROR_TLB_CHECK {
+ ULONGLONG TlbCheck;
+ struct {
+ ULONGLONG TRSlot:8;
+ ULONGLONG TRSlotValid:1;
+ ULONGLONG Reserved1:1;
+ ULONGLONG Level:2;
+ ULONGLONG Reserved2:4;
+ ULONGLONG DataTransReg:1;
+ ULONGLONG InstructionTransReg:1;
+ ULONGLONG DataTransCache:1;
+ ULONGLONG InstructionTransCache:1;
+ ULONGLONG Operation:4;
+ ULONGLONG Reserved3:30;
+ ULONGLONG InstructionSet:1;
+ ULONGLONG InstructionSetValid:1;
+ ULONGLONG PrivilegeLevel:2;
+ ULONGLONG PrivilegeLevelValid:1;
+ ULONGLONG MachineCheckCorrected:1;
+ ULONGLONG TargetAddressValid:1;
+ ULONGLONG RequestIdValid:1;
+ ULONGLONG ResponderIdValid:1;
+ ULONGLONG PreciseIPValid:1;
+ } DUMMYSTRUCTNAME;
+} ERROR_TLB_CHECK, *PERROR_TLB_CHECK;
+
+typedef enum _ERROR_BUS_CHECK_OPERATION {
+ BusUnknownOp = 0,
+ BusPartialRead = 1,
+ BusPartialWrite = 2,
+ BusFullLineRead = 3,
+ BusFullLineWrite = 4,
+ BusWriteBack = 5,
+ BusSnoopProbe = 6,
+ BusIncomingPtcG = 7,
+ BusWriteCoalescing = 8,
+} ERROR_BUS_CHECK_OPERATION;
+
+#if (NTDDI_VERSION >= NTDDI_VISTA)
+
+typedef union _ERROR_BUS_CHECK {
+ ULONGLONG BusCheck;
+ struct {
+ ULONGLONG Size:5;
+ ULONGLONG Internal:1;
+ ULONGLONG External:1;
+ ULONGLONG CacheTransfer:1;
+ ULONGLONG Type:8;
+ ULONGLONG Severity:5;
+ ULONGLONG Hierarchy:2;
+ ULONGLONG DP:1;
+ ULONGLONG Status:8;
+ ULONGLONG Reserved1:22;
+ ULONGLONG InstructionSet:1;
+ ULONGLONG InstructionSetValid:1;
+ ULONGLONG PrivilegeLevel:2;
+ ULONGLONG PrivilegeLevelValid:1;
+ ULONGLONG MachineCheckCorrected:1;
+ ULONGLONG TargetAddressValid:1;
+ ULONGLONG RequestIdValid:1;
+ ULONGLONG ResponderIdValid:1;
+ ULONGLONG PreciseIPValid:1;
+ } DUMMYSTRUCTNAME;
+} ERROR_BUS_CHECK, *PERROR_BUS_CHECK;
+
+#else
+
+typedef union _ERROR_BUS_CHECK {
+ ULONGLONG BusCheck;
+ struct {
+ ULONGLONG Size:5;
+ ULONGLONG Internal:1;
+ ULONGLONG External:1;
+ ULONGLONG CacheTransfer:1;
+ ULONGLONG Type:8;
+ ULONGLONG Severity:5;
+ ULONGLONG Hierarchy:2;
+ ULONGLONG Reserved1:1;
+ ULONGLONG Status:8;
+ ULONGLONG Reserved2:22;
+ ULONGLONG InstructionSet:1;
+ ULONGLONG InstructionSetValid:1;
+ ULONGLONG PrivilegeLevel:2;
+ ULONGLONG PrivilegeLevelValid:1;
+ ULONGLONG MachineCheckCorrected:1;
+ ULONGLONG TargetAddressValid:1;
+ ULONGLONG RequestIdValid:1;
+ ULONGLONG ResponderIdValid:1;
+ ULONGLONG PreciseIPValid:1;
+ } DUMMYSTRUCTNAME;
+} ERROR_BUS_CHECK, *PERROR_BUS_CHECK;
+
+#endif
+
+typedef enum _ERROR_REGFILE_CHECK_IDENTIFIER {
+ RegFileUnknownId = 0,
+ GeneralRegisterBank1 = 1,
+ GeneralRegisterBank0 = 2,
+ FloatingPointRegister = 3,
+ BranchRegister = 4,
+ PredicateRegister = 5,
+ ApplicationRegister = 6,
+ ControlRegister = 7,
+ RegionRegister = 8,
+ ProtectionKeyRegister = 9,
+ DataBreakPointRegister = 10,
+ InstructionBreakPointRegister = 11,
+ PerformanceMonitorControlRegister = 12,
+ PerformanceMonitorDataRegister = 13,
+} ERROR_REGFILE_CHECK_IDENTIFIER;
+
+typedef enum _ERROR_REGFILE_CHECK_OPERATION {
+ RegFileUnknownOp = 0,
+ RegFileRead = 1,
+ RegFileWrite = 2,
+} ERROR_REGFILE_CHECK_OPERATION;
+
+typedef union _ERROR_REGFILE_CHECK {
+ ULONGLONG RegFileCheck;
+ struct {
+ ULONGLONG Identifier:4;
+ ULONGLONG Operation:4;
+ ULONGLONG RegisterNumber:7;
+ ULONGLONG RegisterNumberValid:1;
+ ULONGLONG Reserved1:38;
+ ULONGLONG InstructionSet:1;
+ ULONGLONG InstructionSetValid:1;
+ ULONGLONG PrivilegeLevel:2;
+ ULONGLONG PrivilegeLevelValid:1;
+ ULONGLONG MachineCheckCorrected:1;
+ ULONGLONG Reserved2:3;
+ ULONGLONG PreciseIPValid:1;
+ } DUMMYSTRUCTNAME;
+} ERROR_REGFILE_CHECK, *PERROR_REGFILE_CHECK;
+
+#if (NTDDK_VERSION <= WINXP)
+typedef enum _ERROR_MS_CHECK_OPERATION {
+ MsUnknownOp = 0,
+ MsReadOrLoad = 1,
+ MsWriteOrStore = 2
+} ERROR_MS_CHECK_OPERATION;
+#else
+typedef enum _ERROR_MS_CHECK_OPERATION {
+ MsUnknownOp = 0,
+ MsReadOrLoad = 1,
+ MsWriteOrStore = 2,
+ MsOverTemperature = 3,
+ MsNormalTemperature = 4
+} ERROR_MS_CHECK_OPERATION;
+#endif
+
+typedef union _ERROR_MS_CHECK {
+ ULONGLONG MsCheck;
+ struct {
+ ULONGLONG StructureIdentifier:5;
+ ULONGLONG Level:3;
+ ULONGLONG ArrayId:4;
+ ULONGLONG Operation:4;
+ ULONGLONG Way:6;
+ ULONGLONG WayValid:1;
+ ULONGLONG IndexValid:1;
+ ULONGLONG Reserved1:8;
+ ULONGLONG Index:8;
+ ULONGLONG Reserved2:14;
+ ULONGLONG InstructionSet:1;
+ ULONGLONG InstructionSetValid:1;
+ ULONGLONG PrivilegeLevel:2;
+ ULONGLONG PrivilegeLevelValid:1;
+ ULONGLONG MachineCheckCorrected:1;
+ ULONGLONG TargetAddressValid:1;
+ ULONGLONG RequestIdValid:1;
+ ULONGLONG ResponderIdValid:1;
+ ULONGLONG PreciseIPValid:1;
+ } DUMMYSTRUCTNAME;
+} ERROR_MS_CHECK, *PERROR_MS_CHECK;
+
+typedef union _ERROR_CHECK_INFO {
+ ULONGLONG CheckInfo;
+ ERROR_CACHE_CHECK CacheCheck;
+ ERROR_TLB_CHECK TlbCheck;
+ ERROR_BUS_CHECK BusCheck;
+ ERROR_REGFILE_CHECK RegFileCheck;
+ ERROR_MS_CHECK MsCheck;
+} ERROR_CHECK_INFO, *PERROR_CHECK_INFO;
+
+typedef struct _ERROR_MODINFO {
+ ERROR_MODINFO_VALID Valid;
+ ERROR_CHECK_INFO CheckInfo;
+ ULONGLONG RequestorId;
+ ULONGLONG ResponderId;
+ ULONGLONG TargetId;
+ ULONGLONG PreciseIP;
+} ERROR_MODINFO, *PERROR_MODINFO;
+
+typedef union _ERROR_PROCESSOR_VALID {
+ ULONGLONG Valid;
+ struct {
+ ULONGLONG ErrorMap:1;
+ ULONGLONG StateParameter:1;
+ ULONGLONG CRLid:1;
+ ULONGLONG StaticStruct:1;
+ ULONGLONG CacheCheckNum:4;
+ ULONGLONG TlbCheckNum:4;
+ ULONGLONG BusCheckNum:4;
+ ULONGLONG RegFileCheckNum:4;
+ ULONGLONG MsCheckNum:4;
+ ULONGLONG CpuIdInfo:1;
+ ULONGLONG Reserved:39;
+ } DUMMYSTRUCTNAME;
+} ERROR_PROCESSOR_VALID, *PERROR_PROCESSOR_VALID;
+
+typedef union _ERROR_PROCESSOR_ERROR_MAP {
+ ULONGLONG ErrorMap;
+ struct {
+ ULONGLONG Cid:4;
+ ULONGLONG Tid:4;
+ ULONGLONG Eic:4;
+ ULONGLONG Edc:4;
+ ULONGLONG Eit:4;
+ ULONGLONG Edt:4;
+ ULONGLONG Ebh:4;
+ ULONGLONG Erf:4;
+ ULONGLONG Ems:16;
+ ULONGLONG Reserved:16;
+ } DUMMYSTRUCTNAME;
+} ERROR_PROCESSOR_ERROR_MAP, *PERROR_PROCESSOR_ERROR_MAP;
+
+typedef ERROR_PROCESSOR_ERROR_MAP _ERROR_PROCESSOR_LEVEL_INDEX;
+typedef _ERROR_PROCESSOR_LEVEL_INDEX ERROR_PROCESSOR_LEVEL_INDEX,
*PERROR_PROCESSOR_LEVEL_INDEX;
+
+typedef union _ERROR_PROCESSOR_STATE_PARAMETER {
+ ULONGLONG StateParameter;
+ struct {
+ ULONGLONG reserved0:2;
+ ULONGLONG rz:1;
+ ULONGLONG ra:1;
+ ULONGLONG me:1;
+ ULONGLONG mn:1;
+ ULONGLONG sy:1;
+ ULONGLONG co:1;
+ ULONGLONG ci:1;
+ ULONGLONG us:1;
+ ULONGLONG hd:1;
+ ULONGLONG tl:1;
+ ULONGLONG mi:1;
+ ULONGLONG pi:1;
+ ULONGLONG pm:1;
+ ULONGLONG dy:1;
+ ULONGLONG in:1;
+ ULONGLONG rs:1;
+ ULONGLONG cm:1;
+ ULONGLONG ex:1;
+ ULONGLONG cr:1;
+ ULONGLONG pc:1;
+ ULONGLONG dr:1;
+ ULONGLONG tr:1;
+ ULONGLONG rr:1;
+ ULONGLONG ar:1;
+ ULONGLONG br:1;
+ ULONGLONG pr:1;
+ ULONGLONG fp:1;
+ ULONGLONG b1:1;
+ ULONGLONG b0:1;
+ ULONGLONG gr:1;
+ ULONGLONG dsize:16;
+ ULONGLONG reserved1:11;
+ ULONGLONG cc:1;
+ ULONGLONG tc:1;
+ ULONGLONG bc:1;
+ ULONGLONG rc:1;
+ ULONGLONG uc:1;
+ } DUMMYSTRUCTNAME;
+} ERROR_PROCESSOR_STATE_PARAMETER, *PERROR_PROCESSOR_STATE_PARAMETER;
+
+typedef union _PROCESSOR_LOCAL_ID {
+ ULONGLONG LocalId;
+ struct {
+ ULONGLONG reserved:16;
+ ULONGLONG eid:8;
+ ULONGLONG id:8;
+ ULONGLONG ignored:32;
+ } DUMMYSTRUCTNAME;
+} PROCESSOR_LOCAL_ID, *PPROCESSOR_LOCAL_ID;
+
+typedef struct _ERROR_PROCESSOR_MS {
+ ULONGLONG MsError[1];
+} ERROR_PROCESSOR_MS, *PERROR_PROCESSOR_MS;
+
+typedef struct _ERROR_PROCESSOR_CPUID_INFO {
+ ULONGLONG CpuId0;
+ ULONGLONG CpuId1;
+ ULONGLONG CpuId2;
+ ULONGLONG CpuId3;
+ ULONGLONG CpuId4;
+ ULONGLONG Reserved;
+} ERROR_PROCESSOR_CPUID_INFO, *PERROR_PROCESSOR_CPUID_INFO;
+
+typedef union _ERROR_PROCESSOR_STATIC_INFO_VALID {
+ ULONGLONG Valid;
+ struct {
+ ULONGLONG MinState:1;
+ ULONGLONG BR:1;
+ ULONGLONG CR:1;
+ ULONGLONG AR:1;
+ ULONGLONG RR:1;
+ ULONGLONG FR:1;
+ ULONGLONG Reserved:58;
+ } DUMMYSTRUCTNAME;
+} ERROR_PROCESSOR_STATIC_INFO_VALID, *PERROR_PROCESSOR_STATIC_INFO_VALID;
+
+typedef struct _ERROR_PROCESSOR_STATIC_INFO {
+ ERROR_PROCESSOR_STATIC_INFO_VALID Valid;
+ UCHAR MinState[1024];
+ ULONGLONG BR[8];
+ ULONGLONG CR[128];
+ ULONGLONG AR[128];
+ ULONGLONG RR[8];
+ ULONGLONG FR[2 * 128];
+} ERROR_PROCESSOR_STATIC_INFO, *PERROR_PROCESSOR_STATIC_INFO;
+
+typedef struct _ERROR_PROCESSOR {
+ ERROR_SECTION_HEADER Header;
+ ERROR_PROCESSOR_VALID Valid;
+ ERROR_PROCESSOR_ERROR_MAP ErrorMap;
+ ERROR_PROCESSOR_STATE_PARAMETER StateParameter;
+ PROCESSOR_LOCAL_ID CRLid;
+} ERROR_PROCESSOR, *PERROR_PROCESSOR;
+
+#define ERROR_PROCESSOR_STATE_PARAMETER_CACHE_CHECK_SHIFT 59
+#define ERROR_PROCESSOR_STATE_PARAMETER_CACHE_CHECK_MASK 0x1
+#define ERROR_PROCESSOR_STATE_PARAMETER_TLB_CHECK_SHIFT 60
+#define ERROR_PROCESSOR_STATE_PARAMETER_TLB_CHECK_MASK 0x1
+#define ERROR_PROCESSOR_STATE_PARAMETER_BUS_CHECK_SHIFT 61
+#define ERROR_PROCESSOR_STATE_PARAMETER_BUS_CHECK_MASK 0x1
+#define ERROR_PROCESSOR_STATE_PARAMETER_REG_CHECK_SHIFT 62
+#define ERROR_PROCESSOR_STATE_PARAMETER_REG_CHECK_MASK 0x1
+#define ERROR_PROCESSOR_STATE_PARAMETER_MICROARCH_CHECK_SHIFT 63
+#define ERROR_PROCESSOR_STATE_PARAMETER_MICROARCH_CHECK_MASK 0x1
+
+#define ERROR_PROCESSOR_STATE_PARAMETER_UNKNOWN_CHECK_SHIFT
ERROR_PROCESSOR_STATE_PARAMETER_MICROARCH_CHECK_SHIFT
+#define ERROR_PROCESSOR_STATE_PARAMETER_UNKNOWN_CHECK_MASK
ERROR_PROCESSOR_STATE_PARAMETER_MICROARCH_CHECK_MASK
+
+typedef enum _ERR_TYPES {
+ ERR_INTERNAL = 1,
+ ERR_BUS = 16,
+ ERR_MEM = 4,
+ ERR_TLB = 5,
+ ERR_CACHE = 6,
+ ERR_FUNCTION = 7,
+ ERR_SELFTEST = 8,
+ ERR_FLOW = 9,
+ ERR_MAP = 17,
+ ERR_IMPROPER = 18,
+ ERR_UNIMPL = 19,
+ ERR_LOL = 20,
+ ERR_RESPONSE = 21,
+ ERR_PARITY = 22,
+ ERR_PROTOCOL = 23,
+ ERR_ERROR = 24,
+ ERR_TIMEOUT = 25,
+ ERR_POISONED = 26,
+} _ERR_TYPE;
+
+typedef union _ERROR_STATUS {
+ ULONGLONG Status;
+ struct {
+ ULONGLONG Reserved0:8;
+ ULONGLONG Type:8;
+ ULONGLONG Address:1;
+ ULONGLONG Control:1;
+ ULONGLONG Data:1;
+ ULONGLONG Responder:1;
+ ULONGLONG Requestor:1;
+ ULONGLONG FirstError:1;
+ ULONGLONG Overflow:1;
+ ULONGLONG Reserved1:41;
+ } DUMMYSTRUCTNAME;
+} ERROR_STATUS, *PERROR_STATUS;
+
+typedef struct _ERROR_OEM_DATA {
+ USHORT Length;
+} ERROR_OEM_DATA, *PERROR_OEM_DATA;
+
+typedef union _ERROR_BUS_SPECIFIC_DATA {
+ ULONGLONG BusSpecificData;
+ struct {
+ ULONGLONG LockAsserted:1;
+ ULONGLONG DeferLogged:1;
+ ULONGLONG IOQEmpty:1;
+ ULONGLONG DeferredTransaction:1;
+ ULONGLONG RetriedTransaction:1;
+ ULONGLONG MemoryClaimedTransaction:1;
+ ULONGLONG IOClaimedTransaction:1;
+ ULONGLONG ResponseParitySignal:1;
+ ULONGLONG DeferSignal:1;
+ ULONGLONG HitMSignal:1;
+ ULONGLONG HitSignal:1;
+ ULONGLONG RequestBusFirstCycle:6;
+ ULONGLONG RequestBusSecondCycle:6;
+ ULONGLONG AddressParityBusFirstCycle:2;
+ ULONGLONG AddressParityBusSecondCycle:2;
+ ULONGLONG ResponseBus:3;
+ ULONGLONG RequestParitySignalFirstCycle:1;
+ ULONGLONG RequestParitySignalSecondCycle:1;
+ ULONGLONG Reserved:32;
+ } DUMMYSTRUCTNAME;
+} ERROR_BUS_SPECIFIC_DATA, *PERROR_BUS_SPECIFIC_DATA;
+
+#define ERROR_MEMORY_GUID {0xe429faf2, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7,
0x3c, 0x88, 0x81}}
+
+typedef union _ERROR_MEMORY_VALID {
+ ULONGLONG Valid;
+ struct {
+ ULONGLONG ErrorStatus:1;
+ ULONGLONG PhysicalAddress:1;
+ ULONGLONG AddressMask:1;
+ ULONGLONG Node:1;
+ ULONGLONG Card:1;
+ ULONGLONG Module:1;
+ ULONGLONG Bank:1;
+ ULONGLONG Device:1;
+ ULONGLONG Row:1;
+ ULONGLONG Column:1;
+ ULONGLONG BitPosition:1;
+ ULONGLONG RequestorId:1;
+ ULONGLONG ResponderId:1;
+ ULONGLONG TargetId:1;
+ ULONGLONG BusSpecificData:1;
+ ULONGLONG OemId:1;
+ ULONGLONG OemData:1;
+ ULONGLONG Reserved:47;
+ } DUMMYSTRUCTNAME;
+} ERROR_MEMORY_VALID, *PERROR_MEMORY_VALID;
+
+typedef struct _ERROR_MEMORY {
+ ERROR_SECTION_HEADER Header;
+ ERROR_MEMORY_VALID Valid;
+ ERROR_STATUS ErrorStatus;
+ ULONGLONG PhysicalAddress;
+ ULONGLONG PhysicalAddressMask;
+ USHORT Node;
+ USHORT Card;
+ USHORT Module;
+ USHORT Bank;
+ USHORT Device;
+ USHORT Row;
+ USHORT Column;
+ USHORT BitPosition;
+ ULONGLONG RequestorId;
+ ULONGLONG ResponderId;
+ ULONGLONG TargetId;
+ ULONGLONG BusSpecificData;
+ UCHAR OemId[16];
+ ERROR_OEM_DATA OemData;
+} ERROR_MEMORY, *PERROR_MEMORY;
+
+#define ERROR_PCI_BUS_GUID {0xe429faf4, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7,
0x3c, 0x88, 0x81}}
+
+typedef union _ERROR_PCI_BUS_VALID {
+ ULONGLONG Valid;
+ struct {
+ ULONGLONG ErrorStatus:1;
+ ULONGLONG ErrorType:1;
+ ULONGLONG Id:1;
+ ULONGLONG Address:1;
+ ULONGLONG Data:1;
+ ULONGLONG CmdType:1;
+ ULONGLONG RequestorId:1;
+ ULONGLONG ResponderId:1;
+ ULONGLONG TargetId:1;
+ ULONGLONG OemId:1;
+ ULONGLONG OemData:1;
+ ULONGLONG Reserved:53;
+ } DUMMYSTRUCTNAME;
+} ERROR_PCI_BUS_VALID, *PERROR_PCI_BUS_VALID;
+
+typedef struct _ERROR_PCI_BUS_TYPE {
+ UCHAR Type;
+ UCHAR Reserved;
+} ERROR_PCI_BUS_TYPE, *PERROR_PCI_BUS_TYPE;
+
+#define PciBusUnknownError ((UCHAR)0)
+#define PciBusDataParityError ((UCHAR)1)
+#define PciBusSystemError ((UCHAR)2)
+#define PciBusMasterAbort ((UCHAR)3)
+#define PciBusTimeOut ((UCHAR)4)
+#define PciMasterDataParityError ((UCHAR)5)
+#define PciAddressParityError ((UCHAR)6)
+#define PciCommandParityError ((UCHAR)7)
+
+typedef struct _ERROR_PCI_BUS_ID {
+ UCHAR BusNumber;
+ UCHAR SegmentNumber;
+} ERROR_PCI_BUS_ID, *PERROR_PCI_BUS_ID;
+
+typedef struct _ERROR_PCI_BUS {
+ ERROR_SECTION_HEADER Header;
+ ERROR_PCI_BUS_VALID Valid;
+ ERROR_STATUS ErrorStatus;
+ ERROR_PCI_BUS_TYPE Type;
+ ERROR_PCI_BUS_ID Id;
+ UCHAR Reserved[4];
+ ULONGLONG Address;
+ ULONGLONG Data;
+ ULONGLONG CmdType;
+ ULONGLONG RequestorId;
+ ULONGLONG ResponderId;
+ ULONGLONG TargetId;
+ UCHAR OemId[16];
+ ERROR_OEM_DATA OemData;
+} ERROR_PCI_BUS, *PERROR_PCI_BUS;
+
+#define ERROR_PCI_COMPONENT_GUID {0xe429faf6, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80,
0xc7, 0x3c, 0x88, 0x81}}
+
+typedef union _ERROR_PCI_COMPONENT_VALID {
+ ULONGLONG Valid;
+ struct {
+ ULONGLONG ErrorStatus:1;
+ ULONGLONG Info:1;
+ ULONGLONG MemoryMappedRegistersPairs:1;
+ ULONGLONG ProgrammedIORegistersPairs:1;
+ ULONGLONG RegistersDataPairs:1;
+ ULONGLONG OemData:1;
+ ULONGLONG Reserved:58;
+ } DUMMYSTRUCTNAME;
+} ERROR_PCI_COMPONENT_VALID, *PERROR_PCI_COMPONENT_VALID;
+
+typedef struct _ERROR_PCI_COMPONENT_INFO {
+ USHORT VendorId;
+ USHORT DeviceId;
+ UCHAR ClassCodeInterface;
+ UCHAR ClassCodeSubClass;
+ UCHAR ClassCodeBaseClass;
+ UCHAR FunctionNumber;
+ UCHAR DeviceNumber;
+ UCHAR BusNumber;
+ UCHAR SegmentNumber;
+ UCHAR Reserved0;
+ ULONG Reserved1;
+} ERROR_PCI_COMPONENT_INFO, *PERROR_PCI_COMPONENT_INFO;
+
+typedef struct _ERROR_PCI_COMPONENT {
+ ERROR_SECTION_HEADER Header;
+ ERROR_PCI_COMPONENT_VALID Valid;
+ ERROR_STATUS ErrorStatus;
+ ERROR_PCI_COMPONENT_INFO Info;
+ ULONG MemoryMappedRegistersPairs;
+ ULONG ProgrammedIORegistersPairs;
+} ERROR_PCI_COMPONENT, *PERROR_PCI_COMPONENT;
+
+#define ERROR_SYSTEM_EVENT_LOG_GUID {0xe429faf3, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80,
0xc7, 0x3c, 0x88, 0x81}}
+
+typedef union _ERROR_SYSTEM_EVENT_LOG_VALID {
+ ULONGLONG Valid;
+ struct {
+ ULONGLONG RecordId:1;
+ ULONGLONG RecordType:1;
+ ULONGLONG GeneratorId:1;
+ ULONGLONG EVMRev:1;
+ ULONGLONG SensorType:1;
+ ULONGLONG SensorNum:1;
+ ULONGLONG EventDirType:1;
+ ULONGLONG EventData1:1;
+ ULONGLONG EventData2:1;
+ ULONGLONG EventData3:1;
+ ULONGLONG Reserved:54;
+ } DUMMYSTRUCTNAME;
+} ERROR_SYSTEM_EVENT_LOG_VALID, *PSYSTEM_EVENT_LOG_VALID;
+
+typedef struct _ERROR_SYSTEM_EVENT_LOG {
+ ERROR_SECTION_HEADER Header;
+ ERROR_SYSTEM_EVENT_LOG_VALID Valid;
+ USHORT RecordId;
+ UCHAR RecordType;
+ ULONG TimeStamp;
+ USHORT GeneratorId;
+ UCHAR EVMRevision;
+ UCHAR SensorType;
+ UCHAR SensorNumber;
+ UCHAR EventDir;
+ UCHAR Data1;
+ UCHAR Data2;
+ UCHAR Data3;
+} ERROR_SYSTEM_EVENT_LOG, *PERROR_SYSTEM_EVENT_LOG;
+
+#define ERROR_SMBIOS_GUID {0xe429faf5, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7,
0x3c, 0x88, 0x81}}
+
+typedef union _ERROR_SMBIOS_VALID {
+ ULONGLONG Valid;
+ struct {
+ ULONGLONG EventType:1;
+ ULONGLONG Length:1;
+ ULONGLONG TimeStamp:1;
+ ULONGLONG OemData:1;
+ ULONGLONG Reserved:60;
+ } DUMMYSTRUCTNAME;
+} ERROR_SMBIOS_VALID, *PERROR_SMBIOS_VALID;
+
+typedef UCHAR ERROR_SMBIOS_EVENT_TYPE, *PERROR_SMBIOS_EVENT_TYPE;
+
+typedef struct _ERROR_SMBIOS {
+ ERROR_SECTION_HEADER Header;
+ ERROR_SMBIOS_VALID Valid;
+ ERROR_SMBIOS_EVENT_TYPE EventType;
+ UCHAR Length;
+ ERROR_TIMESTAMP TimeStamp;
+ ERROR_OEM_DATA OemData;
+} ERROR_SMBIOS, *PERROR_SMBIOS;
+
+#define ERROR_PLATFORM_SPECIFIC_GUID {0xe429faf7, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80,
0xc7, 0x3c, 0x88, 0x81}}
+
+typedef union _ERROR_PLATFORM_SPECIFIC_VALID {
+ ULONGLONG Valid;
+ struct {
+ ULONGLONG ErrorStatus:1;
+ ULONGLONG RequestorId:1;
+ ULONGLONG ResponderId:1;
+ ULONGLONG TargetId:1;
+ ULONGLONG BusSpecificData:1;
+ ULONGLONG OemId:1;
+ ULONGLONG OemData:1;
+ ULONGLONG OemDevicePath:1;
+ ULONGLONG Reserved:56;
+ } DUMMYSTRUCTNAME;
+} ERROR_PLATFORM_SPECIFIC_VALID, *PERROR_PLATFORM_SPECIFIC_VALID;
+
+typedef struct _ERROR_PLATFORM_SPECIFIC {
+ ERROR_SECTION_HEADER Header;
+ ERROR_PLATFORM_SPECIFIC_VALID Valid;
+ ERROR_STATUS ErrorStatus;
+ ULONGLONG RequestorId;
+ ULONGLONG ResponderId;
+ ULONGLONG TargetId;
+ ERROR_BUS_SPECIFIC_DATA BusSpecificData;
+ UCHAR OemId[16];
+ ERROR_OEM_DATA OemData;
+} ERROR_PLATFORM_SPECIFIC, *PERROR_PLATFORM_SPECIFIC;
+
+#define ERROR_PLATFORM_BUS_GUID {0xe429faf9, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80,
0xc7, 0x3c, 0x88, 0x81}}
+
+typedef union _ERROR_PLATFORM_BUS_VALID {
+ ULONGLONG Valid;
+ struct {
+ ULONGLONG ErrorStatus:1;
+ ULONGLONG RequestorId:1;
+ ULONGLONG ResponderId:1;
+ ULONGLONG TargetId:1;
+ ULONGLONG BusSpecificData:1;
+ ULONGLONG OemId:1;
+ ULONGLONG OemData:1;
+ ULONGLONG OemDevicePath:1;
+ ULONGLONG Reserved:56;
+ } DUMMYSTRUCTNAME;
+} ERROR_PLATFORM_BUS_VALID, *PERROR_PLATFORM_BUS_VALID;
+
+typedef struct _ERROR_PLATFORM_BUS {
+ ERROR_SECTION_HEADER Header;
+ ERROR_PLATFORM_BUS_VALID Valid;
+ ERROR_STATUS ErrorStatus;
+ ULONGLONG RequestorId;
+ ULONGLONG ResponderId;
+ ULONGLONG TargetId;
+ ERROR_BUS_SPECIFIC_DATA BusSpecificData;
+ UCHAR OemId[16];
+ ERROR_OEM_DATA OemData;
+} ERROR_PLATFORM_BUS, *PERROR_PLATFORM_BUS;
+
+#define ERROR_PLATFORM_HOST_CONTROLLER_GUID {0xe429faf8, 0x3cb7, 0x11d4, {0xbc, 0xa7,
0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
+
+typedef union _ERROR_PLATFORM_HOST_CONTROLLER_VALID {
+ ULONGLONG Valid;
+ struct {
+ ULONGLONG ErrorStatus:1;
+ ULONGLONG RequestorId:1;
+ ULONGLONG ResponderId:1;
+ ULONGLONG TargetId:1;
+ ULONGLONG BusSpecificData:1;
+ ULONGLONG OemId:1;
+ ULONGLONG OemData:1;
+ ULONGLONG OemDevicePath:1;
+ ULONGLONG Reserved:56;
+ } DUMMYSTRUCTNAME;
+} ERROR_PLATFORM_HOST_CONTROLLER_VALID, *PERROR_PLATFORM_HOST_CONTROLLER_VALID;
+
+typedef struct _ERROR_PLATFORM_HOST_CONTROLLER {
+ ERROR_SECTION_HEADER Header;
+ ERROR_PCI_COMPONENT_VALID Valid;
+ ERROR_STATUS ErrorStatus;
+ ULONGLONG RequestorId;
+ ULONGLONG ResponderId;
+ ULONGLONG TargetId;
+ ERROR_BUS_SPECIFIC_DATA BusSpecificData;
+ UCHAR OemId[16];
+ ERROR_OEM_DATA OemData;
+} ERROR_PLATFORM_HOST_CONTROLLER, *PERROR_PLATFORM_HOST_CONTROLLER;
+
+typedef ERROR_RECORD_HEADER ERROR_LOGRECORD, *PERROR_LOGRECORD;
+typedef ERROR_RECORD_HEADER MCA_EXCEPTION, *PMCA_EXCEPTION;
+typedef ERROR_RECORD_HEADER CMC_EXCEPTION, *PCMC_EXCEPTION;
+typedef ERROR_RECORD_HEADER CPE_EXCEPTION, *PCPE_EXCEPTION;
+#if (NTDDI_VERSION > NTDDI_WINXP)
+typedef ERROR_RECORD_HEADER INIT_EXCEPTION, *PINIT_EXCEPTION;
+#endif
+
+#endif /* defined(_IA64_) */
+
+#endif /* defined(_X86_) || defined(_IA64_) || defined(_AMD64_) */
Propchange: branches/header-work/include/ddk/mce.h
------------------------------------------------------------------------------
svn:eol-style = native
Modified: branches/header-work/include/ddk/ntddk.h
URL:
http://svn.reactos.org/svn/reactos/branches/header-work/include/ddk/ntddk.h…
==============================================================================
--- branches/header-work/include/ddk/ntddk.h [iso-8859-1] (original)
+++ branches/header-work/include/ddk/ntddk.h [iso-8859-1] Thu Mar 18 01:36:45 2010
@@ -56,6 +56,11 @@
extern "C" {
#endif
+struct _LOADER_PARAMETER_BLOCK;
+struct _CREATE_DISK;
+struct _DRIVE_LAYOUT_INFORMATION_EX;
+struct _SET_PARTITION_INFORMATION_EX;
+
typedef struct _BUS_HANDLER *PBUS_HANDLER;
typedef struct _DEVICE_HANDLER_OBJECT *PDEVICE_HANDLER_OBJECT;
#if defined(_NTHAL_INCLUDED_)
@@ -86,9 +91,7 @@
extern PCCHAR KeNumberProcessors;
#endif
-/* FIXME
#include <mce.h>
-*/
#ifdef _X86_
@@ -3628,6 +3631,7 @@
NTKERNELAPI
NTSTATUS
+NTAPI
IoCreateFileSpecifyDeviceObjectHint(
OUT PHANDLE FileHandle,
IN ACCESS_MASK DesiredAccess,
@@ -3691,6 +3695,7 @@
NTKERNELAPI
NTSTATUS
+NTAPI
IoCreateFileEx(
OUT PHANDLE FileHandle,
IN ACCESS_MASK DesiredAccess,
@@ -4017,6 +4022,15 @@
(NTAPI *pHalSetPciErrorHandlerCallback)(
IN PCI_ERROR_HANDLER_CALLBACK Callback);
+#if 1 /* Not present in WDK 7600 */
+typedef VOID
+(FASTCALL *pHalIoAssignDriveLetters)(
+ IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock,
+ IN PSTRING NtDeviceName,
+ OUT PUCHAR NtSystemPath,
+ OUT PSTRING NtSystemPathString);
+#endif
+
typedef struct {
ULONG Version;
pHalQuerySystemInformation HalQuerySystemInformation;
@@ -4365,14 +4379,6 @@
NTSTATUS
NTAPI
-HalAllocateHardwareCounters(
- IN PGROUP_AFFINITY GroupAffinty,
- IN ULONG GroupCount,
- IN PPHYSICAL_COUNTER_RESOURCE_LIST ResourceList,
- OUT PHANDLE CounterSetHandle);
-
-NTSTATUS
-NTAPI
HalFreeHardwareCounters(
IN HANDLE CounterSetHandle);
@@ -4599,6 +4605,18 @@
OUT PVOID *Buffer);
#endif
+#if (NTDDI_VERSION >= NTDDI_WIN7)
+NTSTATUS
+NTAPI
+HalAllocateHardwareCounters(
+ IN PGROUP_AFFINITY GroupAffinty,
+ IN ULONG GroupCount,
+ IN PPHYSICAL_COUNTER_RESOURCE_LIST ResourceList,
+ OUT PHANDLE CounterSetHandle);
+#endif
+
+
+
#if defined(_IA64_)
#if (NTDDI_VERSION >= NTDDI_WIN2K)
NTHALAPI
@@ -4635,11 +4653,6 @@
IN PWHEA_ERROR_RECORD ErrorRecord);
#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
-
-struct _LOADER_PARAMETER_BLOCK;
-struct _CREATE_DISK;
-struct _DRIVE_LAYOUT_INFORMATION_EX;
-struct _SET_PARTITION_INFORMATION_EX;
//
// GUID and UUID
@@ -4691,15 +4704,6 @@
OUT PPHYSICAL_ADDRESS TranslatedAddress,
IN OUT PULONG_PTR Context,
IN BOOLEAN NextBus);
-
-#if 1 /* Not present in WDK 7600 */
-typedef VOID
-(FASTCALL *pHalIoAssignDriveLetters)(
- IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock,
- IN PSTRING NtDeviceName,
- OUT PUCHAR NtSystemPath,
- OUT PSTRING NtSystemPathString);
-#endif
extern NTKERNELAPI PVOID MmHighestUserAddress;
extern NTKERNELAPI PVOID MmSystemRangeStart;