ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

mce.h
Go to the documentation of this file.
00001 #pragma once
00002 
00003 #if defined(_X86_) || defined(_IA64_) || defined(_AMD64_)
00004 
00005 typedef union _MCI_ADDR {
00006   _ANONYMOUS_STRUCT struct {
00007     ULONG Address;
00008     ULONG Reserved;
00009   } DUMMYSTRUCTNAME;
00010   ULONGLONG QuadPart;
00011 } MCI_ADDR, *PMCI_ADDR;
00012 
00013 typedef enum {
00014   HAL_MCE_RECORD,
00015   HAL_MCA_RECORD
00016 } MCA_EXCEPTION_TYPE;
00017 
00018 #if defined(_AMD64_)
00019 
00020 #if (NTDDI_VERSION <= NTDDI_WINXP)
00021 
00022 typedef union _MCI_STATS {
00023   struct {
00024     USHORT McaCod;
00025     USHORT ModelErrorCode;
00026     ULONG OtherInfo:25;
00027     ULONG Damage:1;
00028     ULONG AddressValid:1;
00029     ULONG MiscValid:1;
00030     ULONG Enabled:1;
00031     ULONG Uncorrected:1;
00032     ULONG OverFlow:1;
00033     ULONG Valid:1;
00034   } MciStatus;
00035   ULONG64 QuadPart;
00036 } MCI_STATS, *PMCI_STATS;
00037 
00038 #else
00039 
00040 typedef union _MCI_STATS {
00041   struct {
00042     USHORT McaErrorCode;
00043     USHORT ModelErrorCode;
00044     ULONG OtherInformation:25;
00045     ULONG ContextCorrupt:1;
00046     ULONG AddressValid:1;
00047     ULONG MiscValid:1;
00048     ULONG ErrorEnabled:1;
00049     ULONG UncorrectedError:1;
00050     ULONG StatusOverFlow:1;
00051     ULONG Valid:1;
00052   } MciStatus;
00053   ULONG64 QuadPart;
00054 } MCI_STATS, *PMCI_STATS;
00055 
00056 #endif /* (NTDDI_VERSION <= NTDDI_WINXP) */
00057 
00058 #endif /* defined(_AMD64_) */
00059 
00060 #if defined(_X86_)
00061 typedef union _MCI_STATS {
00062   struct {
00063     USHORT McaCod;
00064     USHORT MsCod;
00065     ULONG OtherInfo:25;
00066     ULONG Damage:1;
00067     ULONG AddressValid:1;
00068     ULONG MiscValid:1;
00069     ULONG Enabled:1;
00070     ULONG UnCorrected:1;
00071     ULONG OverFlow:1;
00072     ULONG Valid:1;
00073   } MciStats;
00074   ULONGLONG QuadPart;
00075 } MCI_STATS, *PMCI_STATS;
00076 #endif
00077 
00078 #define MCA_EXTREG_V2MAX               24
00079 
00080 #if defined(_X86_) || defined(_AMD64_)
00081 
00082 #if (NTDDI_VERSION >= NTDDI_WINXP)
00083 
00084 typedef struct _MCA_EXCEPTION {
00085   ULONG VersionNumber;
00086   MCA_EXCEPTION_TYPE ExceptionType;
00087   LARGE_INTEGER TimeStamp;
00088   ULONG ProcessorNumber;
00089   ULONG Reserved1;
00090   union {
00091     struct {
00092       UCHAR BankNumber;
00093       UCHAR Reserved2[7];
00094       MCI_STATS Status;
00095       MCI_ADDR Address;
00096       ULONGLONG Misc;
00097     } Mca;
00098     struct {
00099       ULONGLONG Address;
00100       ULONGLONG Type;
00101     } Mce;
00102   } u;
00103   ULONG ExtCnt;
00104   ULONG Reserved3;
00105   ULONGLONG ExtReg[MCA_EXTREG_V2MAX];
00106 } MCA_EXCEPTION, *PMCA_EXCEPTION;
00107 
00108 #else
00109 
00110 typedef struct _MCA_EXCEPTION {
00111   ULONG VersionNumber;
00112   MCA_EXCEPTION_TYPE ExceptionType;
00113   LARGE_INTEGER TimeStamp;
00114   ULONG ProcessorNumber;
00115   ULONG Reserved1;
00116   union {
00117     struct {
00118       UCHAR BankNumber;
00119       UCHAR Reserved2[7];
00120       MCI_STATS Status;
00121       MCI_ADDR Address;
00122       ULONGLONG Misc;
00123     } Mca;
00124     struct {
00125       ULONGLONG Address;
00126       ULONGLONG Type;
00127     } Mce;
00128   } u;
00129 } MCA_EXCEPTION, *PMCA_EXCEPTION;
00130 
00131 #endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
00132 
00133 typedef MCA_EXCEPTION CMC_EXCEPTION, *PCMC_EXCEPTION;
00134 typedef MCA_EXCEPTION CPE_EXCEPTION, *PCPE_EXCEPTION;
00135 
00136 #if (NTDDI_VERSION >= NTDDI_WINXP)
00137 #define MCA_EXCEPTION_V1_SIZE FIELD_OFFSET(MCA_EXCEPTION, ExtCnt)
00138 #define MCA_EXCEPTION_V2_SIZE sizeof(struct _MCA_EXCEPTION)
00139 #endif
00140 
00141 #endif /* defined(_X86_) || defined(_AMD64_) */
00142 
00143 #if defined(_AMD64_) || defined(_IA64_)
00144 
00145 typedef UCHAR ERROR_SEVERITY, *PERROR_SEVERITY;
00146 
00147 typedef enum _ERROR_SEVERITY_VALUE {
00148   ErrorRecoverable = 0,
00149   ErrorFatal = 1,
00150   ErrorCorrected = 2,
00151   ErrorOthers = 3,
00152 } ERROR_SEVERITY_VALUE;
00153 
00154 #endif
00155 
00156 #if defined(_IA64_)
00157 
00158 typedef union _ERROR_REVISION {
00159   USHORT Revision;
00160   _ANONYMOUS_STRUCT struct {
00161     UCHAR Minor;
00162     UCHAR Major;
00163   } DUMMYSTRUCTNAME;
00164 } ERROR_REVISION, *PERROR_REVISION;
00165 
00166 #if (NTDDI_VERSION > NTDDI_WINXP)
00167 #define ERROR_MAJOR_REVISION_SAL_03_00      0
00168 #define ERROR_MINOR_REVISION_SAL_03_00      2
00169 #define ERROR_REVISION_SAL_03_00 {ERROR_MINOR_REVISION_SAL_03_00,ERROR_MAJOR_REVISION_SAL_03_00}
00170 #define ERROR_FIXED_SECTION_REVISION {2,0}
00171 #else
00172 #define ERROR_REVISION_SAL_03_00 {2,0}
00173 #endif /* (NTDDI_VERSION > NTDDI_WINXP) */
00174 
00175 typedef union _ERROR_TIMESTAMP {
00176   ULONGLONG TimeStamp;
00177   _ANONYMOUS_STRUCT struct {
00178     UCHAR Seconds;
00179     UCHAR Minutes;
00180     UCHAR Hours;
00181     UCHAR Reserved;
00182     UCHAR Day;
00183     UCHAR Month;
00184     UCHAR Year;
00185     UCHAR Century;
00186   } DUMMYSTRUCTNAME;
00187 } ERROR_TIMESTAMP, *PERROR_TIMESTAMP;
00188 
00189 typedef struct _ERROR_GUID {
00190   ULONG Data1;
00191   USHORT Data2;
00192   USHORT Data3;
00193   UCHAR Data4[8];
00194 } ERROR_GUID, *PERROR_GUID;
00195 
00196 typedef ERROR_GUID            _ERROR_DEVICE_GUID;
00197 typedef _ERROR_DEVICE_GUID    ERROR_DEVICE_GUID, *PERROR_DEVICE_GUID;
00198 
00199 typedef ERROR_GUID            _ERROR_PLATFORM_GUID;
00200 typedef _ERROR_PLATFORM_GUID  ERROR_PLATFORM_GUID, *PERROR_PLATFORM_GUID;
00201 
00202 typedef union _ERROR_RECORD_VALID {
00203   UCHAR Valid;
00204   _ANONYMOUS_STRUCT struct {
00205     UCHAR OemPlatformID:1;
00206     UCHAR Reserved:7;
00207   } DUMMYSTRUCTNAME;
00208 } ERROR_RECORD_VALID, *PERROR_RECORD_VALID;
00209 
00210 typedef struct _ERROR_RECORD_HEADER {
00211   ULONGLONG Id;
00212   ERROR_REVISION Revision;
00213   ERROR_SEVERITY ErrorSeverity;
00214   ERROR_RECORD_VALID Valid;
00215   ULONG Length;
00216   ERROR_TIMESTAMP TimeStamp;
00217   UCHAR OemPlatformId[16];
00218 } ERROR_RECORD_HEADER, *PERROR_RECORD_HEADER;
00219 
00220 typedef union _ERROR_RECOVERY_INFO {
00221   UCHAR RecoveryInfo;
00222   _ANONYMOUS_STRUCT struct {
00223     UCHAR Corrected:1;
00224     UCHAR NotContained:1;
00225     UCHAR Reset:1;
00226     UCHAR Reserved:4;
00227     UCHAR Valid:1;
00228   } DUMMYSTRUCTNAME;
00229 } ERROR_RECOVERY_INFO, *PERROR_RECOVERY_INFO;
00230 
00231 typedef struct _ERROR_SECTION_HEADER {
00232   ERROR_DEVICE_GUID Guid;
00233   ERROR_REVISION Revision;
00234   ERROR_RECOVERY_INFO RecoveryInfo;
00235   UCHAR Reserved;
00236   ULONG Length;
00237 } ERROR_SECTION_HEADER, *PERROR_SECTION_HEADER;
00238 
00239 #if !defined(__midl)
00240 __inline
00241 USHORT
00242 NTAPI
00243 GetFwMceLogProcessorNumber(
00244   PERROR_RECORD_HEADER Log)
00245 {
00246   PERROR_SECTION_HEADER section = (PERROR_SECTION_HEADER)((ULONG64)Log + sizeof(*Log));
00247   USHORT lid = (USHORT)((UCHAR)(section->Reserved));
00248 #ifdef NONAMELESSUNION
00249   lid |= (USHORT)((UCHAR)(Log->TimeStamp.s.Reserved) << 8);
00250 #else
00251   lid |= (USHORT)((UCHAR)(Log->TimeStamp.Reserved) << 8);
00252 #endif
00253   return( lid );
00254 }
00255 #endif /* !__midl */
00256 
00257 #define ERROR_PROCESSOR_GUID {0xe429faf1, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
00258 
00259 typedef union _ERROR_MODINFO_VALID {
00260   ULONGLONG Valid;
00261   _ANONYMOUS_STRUCT struct {
00262     ULONGLONG CheckInfo:1;
00263     ULONGLONG RequestorIdentifier:1;
00264     ULONGLONG ResponderIdentifier:1;
00265     ULONGLONG TargetIdentifier:1;
00266     ULONGLONG PreciseIP:1;
00267     ULONGLONG Reserved:59;
00268   } DUMMYSTRUCTNAME;
00269 } ERROR_MODINFO_VALID, *PERROR_MODINFO_VALID;
00270 
00271 typedef enum _ERROR_CHECK_IS {
00272   isIA64 = 0,
00273   isIA32 = 1,
00274 } ERROR_CHECK_IS;
00275 
00276 typedef enum _ERROR_CACHE_CHECK_OPERATION {
00277   CacheUnknownOp = 0,
00278   CacheLoad = 1,
00279   CacheStore = 2,
00280   CacheInstructionFetch = 3,
00281   CacheDataPrefetch = 4,
00282   CacheSnoop = 5,
00283   CacheCastOut = 6,
00284   CacheMoveIn = 7,
00285 } ERROR_CACHE_CHECK_OPERATION;
00286 
00287 typedef enum _ERROR_CACHE_CHECK_MESI {
00288   CacheInvalid = 0,
00289   CacheHeldShared = 1,
00290   CacheHeldExclusive = 2,
00291   CacheModified = 3,
00292 } ERROR_CACHE_CHECK_MESI;
00293 
00294 #if (NTDDI_VERSION >= NTDDI_VISTA)
00295 
00296 typedef union _ERROR_CACHE_CHECK {
00297   ULONGLONG CacheCheck;
00298   _ANONYMOUS_STRUCT struct {
00299     ULONGLONG Operation:4;
00300     ULONGLONG Level:2;
00301     ULONGLONG Reserved1:2;
00302     ULONGLONG DataLine:1;
00303     ULONGLONG TagLine:1;
00304     ULONGLONG DataCache:1;
00305     ULONGLONG InstructionCache:1;
00306     ULONGLONG MESI:3;
00307     ULONGLONG MESIValid:1;
00308     ULONGLONG Way:5;
00309     ULONGLONG WayIndexValid:1;
00310     ULONGLONG Reserved2:1;
00311     ULONGLONG DP:1;
00312     ULONGLONG Reserved3:8;
00313     ULONGLONG Index:20;
00314     ULONGLONG Reserved4:2;
00315     ULONGLONG InstructionSet:1;
00316     ULONGLONG InstructionSetValid:1;
00317     ULONGLONG PrivilegeLevel:2;
00318     ULONGLONG PrivilegeLevelValid:1;
00319     ULONGLONG MachineCheckCorrected:1;
00320     ULONGLONG TargetAddressValid:1;
00321     ULONGLONG RequestIdValid:1;
00322     ULONGLONG ResponderIdValid:1;
00323     ULONGLONG PreciseIPValid:1;
00324   } DUMMYSTRUCTNAME;
00325 } ERROR_CACHE_CHECK, *PERROR_CACHE_CHECK;
00326 
00327 # else
00328 
00329 typedef union _ERROR_CACHE_CHECK {
00330   ULONGLONG CacheCheck;
00331   _ANONYMOUS_STRUCT struct {
00332     ULONGLONG Operation:4;
00333     ULONGLONG Level:2;
00334     ULONGLONG Reserved1:2;
00335     ULONGLONG DataLine:1;
00336     ULONGLONG TagLine:1;
00337     ULONGLONG DataCache:1;
00338     ULONGLONG InstructionCache:1;
00339     ULONGLONG MESI:3;
00340     ULONGLONG MESIValid:1;
00341     ULONGLONG Way:5;
00342     ULONGLONG WayIndexValid:1;
00343     ULONGLONG Reserved2:10;
00344     ULONGLONG Index:20;
00345     ULONGLONG Reserved3:2;
00346     ULONGLONG InstructionSet:1;
00347     ULONGLONG InstructionSetValid:1;
00348     ULONGLONG PrivilegeLevel:2;
00349     ULONGLONG PrivilegeLevelValid:1;
00350     ULONGLONG MachineCheckCorrected:1;
00351     ULONGLONG TargetAddressValid:1;
00352     ULONGLONG RequestIdValid:1;
00353     ULONGLONG ResponderIdValid:1;
00354     ULONGLONG PreciseIPValid:1;
00355   } DUMMYSTRUCTNAME;
00356 } ERROR_CACHE_CHECK, *PERROR_CACHE_CHECK;
00357 
00358 #endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
00359 
00360 typedef enum _ERROR_TLB_CHECK_OPERATION {
00361   TlbUnknownOp = 0,
00362   TlbAccessWithLoad = 1,
00363   TlbAccessWithStore = 2,
00364   TlbAccessWithInstructionFetch = 3,
00365   TlbAccessWithDataPrefetch = 4,
00366   TlbShootDown = 5,
00367   TlbProbe = 6,
00368   TlbVhptFill = 7,
00369   TlbPurge = 8,
00370 } ERROR_TLB_CHECK_OPERATION;
00371 
00372 typedef union _ERROR_TLB_CHECK {
00373   ULONGLONG TlbCheck;
00374   _ANONYMOUS_STRUCT struct {
00375     ULONGLONG TRSlot:8;
00376     ULONGLONG TRSlotValid:1;
00377     ULONGLONG Reserved1:1;
00378     ULONGLONG Level:2;
00379     ULONGLONG Reserved2:4;
00380     ULONGLONG DataTransReg:1;
00381     ULONGLONG InstructionTransReg:1;
00382     ULONGLONG DataTransCache:1;
00383     ULONGLONG InstructionTransCache:1;
00384     ULONGLONG Operation:4;
00385     ULONGLONG Reserved3:30;
00386     ULONGLONG InstructionSet:1;
00387     ULONGLONG InstructionSetValid:1;
00388     ULONGLONG PrivilegeLevel:2;
00389     ULONGLONG PrivilegeLevelValid:1;
00390     ULONGLONG MachineCheckCorrected:1;
00391     ULONGLONG TargetAddressValid:1;
00392     ULONGLONG RequestIdValid:1;
00393     ULONGLONG ResponderIdValid:1;
00394     ULONGLONG PreciseIPValid:1;
00395   } DUMMYSTRUCTNAME;
00396 } ERROR_TLB_CHECK, *PERROR_TLB_CHECK;
00397 
00398 typedef enum _ERROR_BUS_CHECK_OPERATION {
00399   BusUnknownOp = 0,
00400   BusPartialRead = 1,
00401   BusPartialWrite = 2,
00402   BusFullLineRead = 3,
00403   BusFullLineWrite = 4,
00404   BusWriteBack = 5,
00405   BusSnoopProbe = 6,
00406   BusIncomingPtcG = 7,
00407   BusWriteCoalescing = 8,
00408 } ERROR_BUS_CHECK_OPERATION;
00409 
00410 #if (NTDDI_VERSION >= NTDDI_VISTA)
00411 
00412 typedef union _ERROR_BUS_CHECK {
00413   ULONGLONG BusCheck;
00414   _ANONYMOUS_STRUCT struct {
00415     ULONGLONG Size:5;
00416     ULONGLONG Internal:1;
00417     ULONGLONG External:1;
00418     ULONGLONG CacheTransfer:1;
00419     ULONGLONG Type:8;
00420     ULONGLONG Severity:5;
00421     ULONGLONG Hierarchy:2;
00422     ULONGLONG DP:1;
00423     ULONGLONG Status:8;
00424     ULONGLONG Reserved1:22;
00425     ULONGLONG InstructionSet:1;
00426     ULONGLONG InstructionSetValid:1;
00427     ULONGLONG PrivilegeLevel:2;
00428     ULONGLONG PrivilegeLevelValid:1;
00429     ULONGLONG MachineCheckCorrected:1;
00430     ULONGLONG TargetAddressValid:1;
00431     ULONGLONG RequestIdValid:1;
00432     ULONGLONG ResponderIdValid:1;
00433     ULONGLONG PreciseIPValid:1;
00434   } DUMMYSTRUCTNAME;
00435 } ERROR_BUS_CHECK, *PERROR_BUS_CHECK;
00436 
00437 #else
00438 
00439 typedef union _ERROR_BUS_CHECK {
00440   ULONGLONG BusCheck;
00441   _ANONYMOUS_STRUCT struct {
00442     ULONGLONG Size:5;
00443     ULONGLONG Internal:1;
00444     ULONGLONG External:1;
00445     ULONGLONG CacheTransfer:1;
00446     ULONGLONG Type:8;
00447     ULONGLONG Severity:5;
00448     ULONGLONG Hierarchy:2;
00449     ULONGLONG Reserved1:1;
00450     ULONGLONG Status:8;
00451     ULONGLONG Reserved2:22;
00452     ULONGLONG InstructionSet:1;
00453     ULONGLONG InstructionSetValid:1;
00454     ULONGLONG PrivilegeLevel:2;
00455     ULONGLONG PrivilegeLevelValid:1;
00456     ULONGLONG MachineCheckCorrected:1;
00457     ULONGLONG TargetAddressValid:1;
00458     ULONGLONG RequestIdValid:1;
00459     ULONGLONG ResponderIdValid:1;
00460     ULONGLONG PreciseIPValid:1;
00461   } DUMMYSTRUCTNAME;
00462 } ERROR_BUS_CHECK, *PERROR_BUS_CHECK;
00463 
00464 #endif
00465 
00466 typedef enum _ERROR_REGFILE_CHECK_IDENTIFIER {
00467   RegFileUnknownId = 0,
00468   GeneralRegisterBank1 = 1,
00469   GeneralRegisterBank0 = 2,
00470   FloatingPointRegister = 3,
00471   BranchRegister = 4,
00472   PredicateRegister = 5,
00473   ApplicationRegister = 6,
00474   ControlRegister = 7,
00475   RegionRegister = 8,
00476   ProtectionKeyRegister = 9,
00477   DataBreakPointRegister = 10,
00478   InstructionBreakPointRegister = 11,
00479   PerformanceMonitorControlRegister = 12,
00480   PerformanceMonitorDataRegister = 13,
00481 } ERROR_REGFILE_CHECK_IDENTIFIER;
00482 
00483 typedef enum _ERROR_REGFILE_CHECK_OPERATION {
00484   RegFileUnknownOp = 0,
00485   RegFileRead = 1,
00486   RegFileWrite = 2,
00487 } ERROR_REGFILE_CHECK_OPERATION;
00488 
00489 typedef union _ERROR_REGFILE_CHECK {
00490   ULONGLONG RegFileCheck;
00491   _ANONYMOUS_STRUCT struct {
00492     ULONGLONG Identifier:4;
00493     ULONGLONG Operation:4;
00494     ULONGLONG RegisterNumber:7;
00495     ULONGLONG RegisterNumberValid:1;
00496     ULONGLONG Reserved1:38;
00497     ULONGLONG InstructionSet:1;
00498     ULONGLONG InstructionSetValid:1;
00499     ULONGLONG PrivilegeLevel:2;
00500     ULONGLONG PrivilegeLevelValid:1;
00501     ULONGLONG MachineCheckCorrected:1;
00502     ULONGLONG Reserved2:3;
00503     ULONGLONG PreciseIPValid:1;
00504   } DUMMYSTRUCTNAME;
00505 } ERROR_REGFILE_CHECK, *PERROR_REGFILE_CHECK;
00506 
00507 #if (NTDDK_VERSION <= WINXP)
00508 typedef enum _ERROR_MS_CHECK_OPERATION {
00509   MsUnknownOp = 0,
00510   MsReadOrLoad = 1,
00511   MsWriteOrStore = 2
00512 } ERROR_MS_CHECK_OPERATION;
00513 #else
00514 typedef enum _ERROR_MS_CHECK_OPERATION {
00515   MsUnknownOp = 0,
00516   MsReadOrLoad = 1,
00517   MsWriteOrStore = 2,
00518   MsOverTemperature = 3,
00519   MsNormalTemperature = 4
00520 } ERROR_MS_CHECK_OPERATION;
00521 #endif
00522 
00523 typedef union _ERROR_MS_CHECK {
00524   ULONGLONG MsCheck;
00525   _ANONYMOUS_STRUCT struct {
00526     ULONGLONG StructureIdentifier:5;
00527     ULONGLONG Level:3;
00528     ULONGLONG ArrayId:4;
00529     ULONGLONG Operation:4;
00530     ULONGLONG Way:6;
00531     ULONGLONG WayValid:1;
00532     ULONGLONG IndexValid:1;
00533     ULONGLONG Reserved1:8;
00534     ULONGLONG Index:8;
00535     ULONGLONG Reserved2:14;
00536     ULONGLONG InstructionSet:1;
00537     ULONGLONG InstructionSetValid:1;
00538     ULONGLONG PrivilegeLevel:2;
00539     ULONGLONG PrivilegeLevelValid:1;
00540     ULONGLONG MachineCheckCorrected:1;
00541     ULONGLONG TargetAddressValid:1;
00542     ULONGLONG RequestIdValid:1;
00543     ULONGLONG ResponderIdValid:1;
00544     ULONGLONG PreciseIPValid:1;
00545   } DUMMYSTRUCTNAME;
00546 } ERROR_MS_CHECK, *PERROR_MS_CHECK;
00547 
00548 typedef union _ERROR_CHECK_INFO {
00549   ULONGLONG CheckInfo;
00550   ERROR_CACHE_CHECK CacheCheck;
00551   ERROR_TLB_CHECK TlbCheck;
00552   ERROR_BUS_CHECK BusCheck;
00553   ERROR_REGFILE_CHECK RegFileCheck;
00554   ERROR_MS_CHECK MsCheck;
00555 } ERROR_CHECK_INFO, *PERROR_CHECK_INFO;
00556 
00557 typedef struct _ERROR_MODINFO {
00558   ERROR_MODINFO_VALID Valid;
00559   ERROR_CHECK_INFO CheckInfo;
00560   ULONGLONG RequestorId;
00561   ULONGLONG ResponderId;
00562   ULONGLONG TargetId;
00563   ULONGLONG PreciseIP;
00564 } ERROR_MODINFO, *PERROR_MODINFO;
00565 
00566 typedef union _ERROR_PROCESSOR_VALID {
00567   ULONGLONG Valid;
00568   _ANONYMOUS_STRUCT struct {
00569     ULONGLONG ErrorMap:1;
00570     ULONGLONG StateParameter:1;
00571     ULONGLONG CRLid:1;
00572     ULONGLONG StaticStruct:1;
00573     ULONGLONG CacheCheckNum:4;
00574     ULONGLONG TlbCheckNum:4;
00575     ULONGLONG BusCheckNum:4;
00576     ULONGLONG RegFileCheckNum:4;
00577     ULONGLONG MsCheckNum:4;
00578     ULONGLONG CpuIdInfo:1;
00579     ULONGLONG Reserved:39;
00580   } DUMMYSTRUCTNAME;
00581 } ERROR_PROCESSOR_VALID, *PERROR_PROCESSOR_VALID;
00582 
00583 typedef union _ERROR_PROCESSOR_ERROR_MAP {
00584   ULONGLONG ErrorMap;
00585   _ANONYMOUS_STRUCT struct {
00586     ULONGLONG   Cid:4;
00587     ULONGLONG   Tid:4;
00588     ULONGLONG   Eic:4;
00589     ULONGLONG   Edc:4;
00590     ULONGLONG   Eit:4;
00591     ULONGLONG   Edt:4;
00592     ULONGLONG   Ebh:4;
00593     ULONGLONG   Erf:4;
00594     ULONGLONG   Ems:16;
00595     ULONGLONG   Reserved:16;
00596   } DUMMYSTRUCTNAME;
00597 } ERROR_PROCESSOR_ERROR_MAP, *PERROR_PROCESSOR_ERROR_MAP;
00598 
00599 typedef ERROR_PROCESSOR_ERROR_MAP    _ERROR_PROCESSOR_LEVEL_INDEX;
00600 typedef _ERROR_PROCESSOR_LEVEL_INDEX ERROR_PROCESSOR_LEVEL_INDEX, *PERROR_PROCESSOR_LEVEL_INDEX;
00601 
00602 typedef union _ERROR_PROCESSOR_STATE_PARAMETER {
00603   ULONGLONG   StateParameter;
00604   _ANONYMOUS_STRUCT struct {
00605     ULONGLONG reserved0:2;
00606     ULONGLONG rz:1;
00607     ULONGLONG ra:1;
00608     ULONGLONG me:1;
00609     ULONGLONG mn:1;
00610     ULONGLONG sy:1;
00611     ULONGLONG co:1;
00612     ULONGLONG ci:1;
00613     ULONGLONG us:1;
00614     ULONGLONG hd:1;
00615     ULONGLONG tl:1;
00616     ULONGLONG mi:1;
00617     ULONGLONG pi:1;
00618     ULONGLONG pm:1;
00619     ULONGLONG dy:1;
00620     ULONGLONG in:1;
00621     ULONGLONG rs:1;
00622     ULONGLONG cm:1;
00623     ULONGLONG ex:1;
00624     ULONGLONG cr:1;
00625     ULONGLONG pc:1;
00626     ULONGLONG dr:1;
00627     ULONGLONG tr:1;
00628     ULONGLONG rr:1;
00629     ULONGLONG ar:1;
00630     ULONGLONG br:1;
00631     ULONGLONG pr:1;
00632     ULONGLONG fp:1;
00633     ULONGLONG b1:1;
00634     ULONGLONG b0:1;
00635     ULONGLONG gr:1;
00636     ULONGLONG dsize:16;
00637     ULONGLONG reserved1:11;
00638     ULONGLONG cc:1;
00639     ULONGLONG tc:1;
00640     ULONGLONG bc:1;
00641     ULONGLONG rc:1;
00642     ULONGLONG uc:1;
00643   } DUMMYSTRUCTNAME;
00644 } ERROR_PROCESSOR_STATE_PARAMETER, *PERROR_PROCESSOR_STATE_PARAMETER;
00645 
00646 typedef union _PROCESSOR_LOCAL_ID {
00647   ULONGLONG LocalId;
00648   _ANONYMOUS_STRUCT struct {
00649     ULONGLONG reserved:16;
00650     ULONGLONG eid:8;
00651     ULONGLONG id:8;
00652     ULONGLONG ignored:32;
00653   } DUMMYSTRUCTNAME;
00654 } PROCESSOR_LOCAL_ID, *PPROCESSOR_LOCAL_ID;
00655 
00656 typedef struct _ERROR_PROCESSOR_MS {
00657   ULONGLONG MsError[1];
00658 } ERROR_PROCESSOR_MS, *PERROR_PROCESSOR_MS;
00659 
00660 typedef struct _ERROR_PROCESSOR_CPUID_INFO {
00661   ULONGLONG CpuId0;
00662   ULONGLONG CpuId1;
00663   ULONGLONG CpuId2;
00664   ULONGLONG CpuId3;
00665   ULONGLONG CpuId4;
00666   ULONGLONG Reserved;
00667 } ERROR_PROCESSOR_CPUID_INFO, *PERROR_PROCESSOR_CPUID_INFO;
00668 
00669 typedef union _ERROR_PROCESSOR_STATIC_INFO_VALID {
00670   ULONGLONG Valid;
00671   _ANONYMOUS_STRUCT struct {
00672     ULONGLONG MinState:1;
00673     ULONGLONG BR:1;
00674     ULONGLONG CR:1;
00675     ULONGLONG AR:1;
00676     ULONGLONG RR:1;
00677     ULONGLONG FR:1;
00678     ULONGLONG Reserved:58;
00679   } DUMMYSTRUCTNAME;
00680 } ERROR_PROCESSOR_STATIC_INFO_VALID, *PERROR_PROCESSOR_STATIC_INFO_VALID;
00681 
00682 typedef struct _ERROR_PROCESSOR_STATIC_INFO {
00683   ERROR_PROCESSOR_STATIC_INFO_VALID Valid;
00684   UCHAR MinState[1024];
00685   ULONGLONG BR[8];
00686   ULONGLONG CR[128];
00687   ULONGLONG AR[128];
00688   ULONGLONG RR[8];
00689   ULONGLONG FR[2 * 128];
00690 } ERROR_PROCESSOR_STATIC_INFO, *PERROR_PROCESSOR_STATIC_INFO;
00691 
00692 typedef struct _ERROR_PROCESSOR {
00693   ERROR_SECTION_HEADER Header;
00694   ERROR_PROCESSOR_VALID Valid;
00695   ERROR_PROCESSOR_ERROR_MAP ErrorMap;
00696   ERROR_PROCESSOR_STATE_PARAMETER StateParameter;
00697   PROCESSOR_LOCAL_ID CRLid;
00698 } ERROR_PROCESSOR, *PERROR_PROCESSOR;
00699 
00700 #define ERROR_PROCESSOR_STATE_PARAMETER_CACHE_CHECK_SHIFT         59
00701 #define ERROR_PROCESSOR_STATE_PARAMETER_CACHE_CHECK_MASK          0x1
00702 #define ERROR_PROCESSOR_STATE_PARAMETER_TLB_CHECK_SHIFT           60
00703 #define ERROR_PROCESSOR_STATE_PARAMETER_TLB_CHECK_MASK            0x1
00704 #define ERROR_PROCESSOR_STATE_PARAMETER_BUS_CHECK_SHIFT           61
00705 #define ERROR_PROCESSOR_STATE_PARAMETER_BUS_CHECK_MASK            0x1
00706 #define ERROR_PROCESSOR_STATE_PARAMETER_REG_CHECK_SHIFT           62
00707 #define ERROR_PROCESSOR_STATE_PARAMETER_REG_CHECK_MASK            0x1
00708 #define ERROR_PROCESSOR_STATE_PARAMETER_MICROARCH_CHECK_SHIFT     63
00709 #define ERROR_PROCESSOR_STATE_PARAMETER_MICROARCH_CHECK_MASK      0x1
00710 
00711 #define ERROR_PROCESSOR_STATE_PARAMETER_UNKNOWN_CHECK_SHIFT       ERROR_PROCESSOR_STATE_PARAMETER_MICROARCH_CHECK_SHIFT
00712 #define ERROR_PROCESSOR_STATE_PARAMETER_UNKNOWN_CHECK_MASK        ERROR_PROCESSOR_STATE_PARAMETER_MICROARCH_CHECK_MASK
00713 
00714 typedef enum _ERR_TYPES {
00715   ERR_INTERNAL = 1,
00716   ERR_BUS = 16,
00717   ERR_MEM = 4,
00718   ERR_TLB = 5,
00719   ERR_CACHE = 6,
00720   ERR_FUNCTION = 7,
00721   ERR_SELFTEST = 8,
00722   ERR_FLOW = 9,
00723   ERR_MAP = 17,
00724   ERR_IMPROPER = 18,
00725   ERR_UNIMPL = 19,
00726   ERR_LOL = 20,
00727   ERR_RESPONSE = 21,
00728   ERR_PARITY = 22,
00729   ERR_PROTOCOL = 23,
00730   ERR_ERROR = 24,
00731   ERR_TIMEOUT = 25,
00732   ERR_POISONED = 26,
00733 } _ERR_TYPE;
00734 
00735 typedef union _ERROR_STATUS {
00736   ULONGLONG Status;
00737   _ANONYMOUS_STRUCT struct {
00738     ULONGLONG Reserved0:8;
00739     ULONGLONG Type:8;
00740     ULONGLONG Address:1;
00741     ULONGLONG Control:1;
00742     ULONGLONG Data:1;
00743     ULONGLONG Responder:1;
00744     ULONGLONG Requestor:1;
00745     ULONGLONG FirstError:1;
00746     ULONGLONG Overflow:1;
00747     ULONGLONG Reserved1:41;
00748   } DUMMYSTRUCTNAME;
00749 } ERROR_STATUS, *PERROR_STATUS;
00750 
00751 typedef struct _ERROR_OEM_DATA {
00752   USHORT Length;
00753 } ERROR_OEM_DATA, *PERROR_OEM_DATA;
00754 
00755 typedef union _ERROR_BUS_SPECIFIC_DATA {
00756   ULONGLONG BusSpecificData;
00757   _ANONYMOUS_STRUCT struct {
00758     ULONGLONG LockAsserted:1;
00759     ULONGLONG DeferLogged:1;
00760     ULONGLONG IOQEmpty:1;
00761     ULONGLONG DeferredTransaction:1;
00762     ULONGLONG RetriedTransaction:1;
00763     ULONGLONG MemoryClaimedTransaction:1;
00764     ULONGLONG IOClaimedTransaction:1;
00765     ULONGLONG ResponseParitySignal:1;
00766     ULONGLONG DeferSignal:1;
00767     ULONGLONG HitMSignal:1;
00768     ULONGLONG HitSignal:1;
00769     ULONGLONG RequestBusFirstCycle:6;
00770     ULONGLONG RequestBusSecondCycle:6;
00771     ULONGLONG AddressParityBusFirstCycle:2;
00772     ULONGLONG AddressParityBusSecondCycle:2;
00773     ULONGLONG ResponseBus:3;
00774     ULONGLONG RequestParitySignalFirstCycle:1;
00775     ULONGLONG RequestParitySignalSecondCycle:1;
00776     ULONGLONG Reserved:32;
00777   } DUMMYSTRUCTNAME;
00778 } ERROR_BUS_SPECIFIC_DATA, *PERROR_BUS_SPECIFIC_DATA;
00779 
00780 #define ERROR_MEMORY_GUID {0xe429faf2, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
00781 
00782 typedef union _ERROR_MEMORY_VALID {
00783   ULONGLONG Valid;
00784   _ANONYMOUS_STRUCT struct {
00785     ULONGLONG ErrorStatus:1;
00786     ULONGLONG PhysicalAddress:1;
00787     ULONGLONG AddressMask:1;
00788     ULONGLONG Node:1;
00789     ULONGLONG Card:1;
00790     ULONGLONG Module:1;
00791     ULONGLONG Bank:1;
00792     ULONGLONG Device:1;
00793     ULONGLONG Row:1;
00794     ULONGLONG Column:1;
00795     ULONGLONG BitPosition:1;
00796     ULONGLONG RequestorId:1;
00797     ULONGLONG ResponderId:1;
00798     ULONGLONG TargetId:1;
00799     ULONGLONG BusSpecificData:1;
00800     ULONGLONG OemId:1;
00801     ULONGLONG OemData:1;
00802     ULONGLONG Reserved:47;
00803   } DUMMYSTRUCTNAME;
00804 } ERROR_MEMORY_VALID, *PERROR_MEMORY_VALID;
00805 
00806 typedef struct _ERROR_MEMORY {
00807   ERROR_SECTION_HEADER Header;
00808   ERROR_MEMORY_VALID Valid;
00809   ERROR_STATUS ErrorStatus;
00810   ULONGLONG PhysicalAddress;
00811   ULONGLONG PhysicalAddressMask;
00812   USHORT Node;
00813   USHORT Card;
00814   USHORT Module;
00815   USHORT Bank;
00816   USHORT Device;
00817   USHORT Row;
00818   USHORT Column;
00819   USHORT BitPosition;
00820   ULONGLONG RequestorId;
00821   ULONGLONG ResponderId;
00822   ULONGLONG TargetId;
00823   ULONGLONG BusSpecificData;
00824   UCHAR OemId[16];
00825   ERROR_OEM_DATA OemData;
00826 } ERROR_MEMORY, *PERROR_MEMORY;
00827 
00828 #define ERROR_PCI_BUS_GUID {0xe429faf4, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
00829 
00830 typedef union _ERROR_PCI_BUS_VALID {
00831   ULONGLONG Valid;
00832   _ANONYMOUS_STRUCT struct {
00833     ULONGLONG ErrorStatus:1;
00834     ULONGLONG ErrorType:1;
00835     ULONGLONG Id:1;
00836     ULONGLONG Address:1;
00837     ULONGLONG Data:1;
00838     ULONGLONG CmdType:1;
00839     ULONGLONG RequestorId:1;
00840     ULONGLONG ResponderId:1;
00841     ULONGLONG TargetId:1;
00842     ULONGLONG OemId:1;
00843     ULONGLONG OemData:1;
00844     ULONGLONG Reserved:53;
00845   } DUMMYSTRUCTNAME;
00846 } ERROR_PCI_BUS_VALID, *PERROR_PCI_BUS_VALID;
00847 
00848 typedef struct _ERROR_PCI_BUS_TYPE {
00849   UCHAR Type;
00850   UCHAR Reserved;
00851 } ERROR_PCI_BUS_TYPE, *PERROR_PCI_BUS_TYPE;
00852 
00853 #define PciBusUnknownError       ((UCHAR)0)
00854 #define PciBusDataParityError    ((UCHAR)1)
00855 #define PciBusSystemError        ((UCHAR)2)
00856 #define PciBusMasterAbort        ((UCHAR)3)
00857 #define PciBusTimeOut            ((UCHAR)4)
00858 #define PciMasterDataParityError ((UCHAR)5)
00859 #define PciAddressParityError    ((UCHAR)6)
00860 #define PciCommandParityError    ((UCHAR)7)
00861 
00862 typedef struct _ERROR_PCI_BUS_ID {
00863   UCHAR BusNumber;
00864   UCHAR SegmentNumber;
00865 } ERROR_PCI_BUS_ID, *PERROR_PCI_BUS_ID;
00866 
00867 typedef struct _ERROR_PCI_BUS {
00868   ERROR_SECTION_HEADER Header;
00869   ERROR_PCI_BUS_VALID Valid;
00870   ERROR_STATUS ErrorStatus;
00871   ERROR_PCI_BUS_TYPE Type;
00872   ERROR_PCI_BUS_ID Id;
00873   UCHAR Reserved[4];
00874   ULONGLONG Address;
00875   ULONGLONG Data;
00876   ULONGLONG CmdType;
00877   ULONGLONG RequestorId;
00878   ULONGLONG ResponderId;
00879   ULONGLONG TargetId;
00880   UCHAR OemId[16];
00881   ERROR_OEM_DATA OemData;
00882 } ERROR_PCI_BUS, *PERROR_PCI_BUS;
00883 
00884 #define ERROR_PCI_COMPONENT_GUID {0xe429faf6, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
00885 
00886 typedef union _ERROR_PCI_COMPONENT_VALID {
00887   ULONGLONG Valid;
00888   _ANONYMOUS_STRUCT struct {
00889     ULONGLONG ErrorStatus:1;
00890     ULONGLONG Info:1;
00891     ULONGLONG MemoryMappedRegistersPairs:1;
00892     ULONGLONG ProgrammedIORegistersPairs:1;
00893     ULONGLONG RegistersDataPairs:1;
00894     ULONGLONG OemData:1;
00895     ULONGLONG Reserved:58;
00896   } DUMMYSTRUCTNAME;
00897 } ERROR_PCI_COMPONENT_VALID, *PERROR_PCI_COMPONENT_VALID;
00898 
00899 typedef struct _ERROR_PCI_COMPONENT_INFO {
00900   USHORT VendorId;
00901   USHORT DeviceId;
00902   UCHAR ClassCodeInterface;
00903   UCHAR ClassCodeSubClass;
00904   UCHAR ClassCodeBaseClass;
00905   UCHAR FunctionNumber;
00906   UCHAR DeviceNumber;
00907   UCHAR BusNumber;
00908   UCHAR SegmentNumber;
00909   UCHAR Reserved0;
00910   ULONG Reserved1;
00911 } ERROR_PCI_COMPONENT_INFO, *PERROR_PCI_COMPONENT_INFO;
00912 
00913 typedef struct _ERROR_PCI_COMPONENT {
00914   ERROR_SECTION_HEADER Header;
00915   ERROR_PCI_COMPONENT_VALID Valid;
00916   ERROR_STATUS ErrorStatus;
00917   ERROR_PCI_COMPONENT_INFO Info;
00918   ULONG MemoryMappedRegistersPairs;
00919   ULONG ProgrammedIORegistersPairs;
00920 } ERROR_PCI_COMPONENT, *PERROR_PCI_COMPONENT;
00921 
00922 #define ERROR_SYSTEM_EVENT_LOG_GUID {0xe429faf3, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
00923 
00924 typedef union _ERROR_SYSTEM_EVENT_LOG_VALID {
00925   ULONGLONG Valid;
00926   _ANONYMOUS_STRUCT struct {
00927     ULONGLONG RecordId:1;
00928     ULONGLONG RecordType:1;
00929     ULONGLONG GeneratorId:1;
00930     ULONGLONG EVMRev:1;
00931     ULONGLONG SensorType:1;
00932     ULONGLONG SensorNum:1;
00933     ULONGLONG EventDirType:1;
00934     ULONGLONG EventData1:1;
00935     ULONGLONG EventData2:1;
00936     ULONGLONG EventData3:1;
00937     ULONGLONG Reserved:54;
00938   } DUMMYSTRUCTNAME;
00939 } ERROR_SYSTEM_EVENT_LOG_VALID, *PSYSTEM_EVENT_LOG_VALID;
00940 
00941 typedef struct _ERROR_SYSTEM_EVENT_LOG {
00942   ERROR_SECTION_HEADER Header;
00943   ERROR_SYSTEM_EVENT_LOG_VALID Valid;
00944   USHORT RecordId;
00945   UCHAR RecordType;
00946   ULONG TimeStamp;
00947   USHORT GeneratorId;
00948   UCHAR EVMRevision;
00949   UCHAR SensorType;
00950   UCHAR SensorNumber;
00951   UCHAR EventDir;
00952   UCHAR Data1;
00953   UCHAR Data2;
00954   UCHAR Data3;
00955 } ERROR_SYSTEM_EVENT_LOG, *PERROR_SYSTEM_EVENT_LOG;
00956 
00957 #define ERROR_SMBIOS_GUID {0xe429faf5, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
00958 
00959 typedef union _ERROR_SMBIOS_VALID {
00960   ULONGLONG Valid;
00961   _ANONYMOUS_STRUCT struct {
00962     ULONGLONG EventType:1;
00963     ULONGLONG Length:1;
00964     ULONGLONG TimeStamp:1;
00965     ULONGLONG OemData:1;
00966     ULONGLONG Reserved:60;
00967   } DUMMYSTRUCTNAME;
00968 } ERROR_SMBIOS_VALID, *PERROR_SMBIOS_VALID;
00969 
00970 typedef UCHAR ERROR_SMBIOS_EVENT_TYPE, *PERROR_SMBIOS_EVENT_TYPE;
00971 
00972 typedef struct _ERROR_SMBIOS {
00973   ERROR_SECTION_HEADER Header;
00974   ERROR_SMBIOS_VALID Valid;
00975   ERROR_SMBIOS_EVENT_TYPE EventType;
00976   UCHAR Length;
00977   ERROR_TIMESTAMP TimeStamp;
00978   ERROR_OEM_DATA OemData;
00979 } ERROR_SMBIOS, *PERROR_SMBIOS;
00980 
00981 #define ERROR_PLATFORM_SPECIFIC_GUID {0xe429faf7, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
00982 
00983 typedef union _ERROR_PLATFORM_SPECIFIC_VALID {
00984   ULONGLONG Valid;
00985   _ANONYMOUS_STRUCT struct {
00986     ULONGLONG ErrorStatus:1;
00987     ULONGLONG RequestorId:1;
00988     ULONGLONG ResponderId:1;
00989     ULONGLONG TargetId:1;
00990     ULONGLONG BusSpecificData:1;
00991     ULONGLONG OemId:1;
00992     ULONGLONG OemData:1;
00993     ULONGLONG OemDevicePath:1;
00994     ULONGLONG Reserved:56;
00995   } DUMMYSTRUCTNAME;
00996 } ERROR_PLATFORM_SPECIFIC_VALID, *PERROR_PLATFORM_SPECIFIC_VALID;
00997 
00998 typedef struct _ERROR_PLATFORM_SPECIFIC {
00999   ERROR_SECTION_HEADER Header;
01000   ERROR_PLATFORM_SPECIFIC_VALID Valid;
01001   ERROR_STATUS ErrorStatus;
01002   ULONGLONG RequestorId;
01003   ULONGLONG ResponderId;
01004   ULONGLONG TargetId;
01005   ERROR_BUS_SPECIFIC_DATA BusSpecificData;
01006   UCHAR OemId[16];
01007   ERROR_OEM_DATA OemData;
01008 } ERROR_PLATFORM_SPECIFIC, *PERROR_PLATFORM_SPECIFIC;
01009 
01010 #define ERROR_PLATFORM_BUS_GUID {0xe429faf9, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
01011 
01012 typedef union _ERROR_PLATFORM_BUS_VALID {
01013   ULONGLONG Valid;
01014   _ANONYMOUS_STRUCT struct {
01015     ULONGLONG ErrorStatus:1;
01016     ULONGLONG RequestorId:1;
01017     ULONGLONG ResponderId:1;
01018     ULONGLONG TargetId:1;
01019     ULONGLONG BusSpecificData:1;
01020     ULONGLONG OemId:1;
01021     ULONGLONG OemData:1;
01022     ULONGLONG OemDevicePath:1;
01023     ULONGLONG Reserved:56;
01024   } DUMMYSTRUCTNAME;
01025 } ERROR_PLATFORM_BUS_VALID, *PERROR_PLATFORM_BUS_VALID;
01026 
01027 typedef struct _ERROR_PLATFORM_BUS {
01028   ERROR_SECTION_HEADER Header;
01029   ERROR_PLATFORM_BUS_VALID Valid;
01030   ERROR_STATUS ErrorStatus;
01031   ULONGLONG RequestorId;
01032   ULONGLONG ResponderId;
01033   ULONGLONG TargetId;
01034   ERROR_BUS_SPECIFIC_DATA BusSpecificData;
01035   UCHAR OemId[16];
01036   ERROR_OEM_DATA OemData;
01037 } ERROR_PLATFORM_BUS, *PERROR_PLATFORM_BUS;
01038 
01039 #define ERROR_PLATFORM_HOST_CONTROLLER_GUID {0xe429faf8, 0x3cb7, 0x11d4, {0xbc, 0xa7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81}}
01040 
01041 typedef union _ERROR_PLATFORM_HOST_CONTROLLER_VALID {
01042   ULONGLONG Valid;
01043   _ANONYMOUS_STRUCT struct {
01044     ULONGLONG ErrorStatus:1;
01045     ULONGLONG RequestorId:1;
01046     ULONGLONG ResponderId:1;
01047     ULONGLONG TargetId:1;
01048     ULONGLONG BusSpecificData:1;
01049     ULONGLONG OemId:1;
01050     ULONGLONG OemData:1;
01051     ULONGLONG OemDevicePath:1;
01052     ULONGLONG Reserved:56;
01053   } DUMMYSTRUCTNAME;
01054 } ERROR_PLATFORM_HOST_CONTROLLER_VALID, *PERROR_PLATFORM_HOST_CONTROLLER_VALID;
01055 
01056 typedef struct _ERROR_PLATFORM_HOST_CONTROLLER {
01057   ERROR_SECTION_HEADER Header;
01058   ERROR_PCI_COMPONENT_VALID Valid;
01059   ERROR_STATUS ErrorStatus;
01060   ULONGLONG RequestorId;
01061   ULONGLONG ResponderId;
01062   ULONGLONG TargetId;
01063   ERROR_BUS_SPECIFIC_DATA BusSpecificData;
01064   UCHAR OemId[16];
01065   ERROR_OEM_DATA OemData;
01066 } ERROR_PLATFORM_HOST_CONTROLLER, *PERROR_PLATFORM_HOST_CONTROLLER;
01067 
01068 typedef ERROR_RECORD_HEADER ERROR_LOGRECORD, *PERROR_LOGRECORD;
01069 typedef ERROR_RECORD_HEADER MCA_EXCEPTION, *PMCA_EXCEPTION;
01070 typedef ERROR_RECORD_HEADER CMC_EXCEPTION, *PCMC_EXCEPTION;
01071 typedef ERROR_RECORD_HEADER CPE_EXCEPTION, *PCPE_EXCEPTION;
01072 #if (NTDDI_VERSION > NTDDI_WINXP)
01073 typedef ERROR_RECORD_HEADER INIT_EXCEPTION, *PINIT_EXCEPTION;
01074 #endif
01075 
01076 #endif /* defined(_IA64_) */
01077 
01078 #endif /* defined(_X86_) || defined(_IA64_) || defined(_AMD64_) */

Generated on Sat May 26 2012 04:28:39 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.