]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Foundation/Framework/Guid/DataHubRecords/DataHubSubClassMisc.h
EdkCompatibilityPkg: Remove EdkCompatibilityPkg
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Framework / Guid / DataHubRecords / DataHubSubClassMisc.h
diff --git a/EdkCompatibilityPkg/Foundation/Framework/Guid/DataHubRecords/DataHubSubClassMisc.h b/EdkCompatibilityPkg/Foundation/Framework/Guid/DataHubRecords/DataHubSubClassMisc.h
deleted file mode 100644 (file)
index d7545af..0000000
+++ /dev/null
@@ -1,1255 +0,0 @@
-/*++\r
\r
-Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials                          \r
-are licensed and made available under the terms and conditions of the BSD License         \r
-which accompanies this distribution.  The full text of the license may be found at        \r
-http://opensource.org/licenses/bsd-license.php                                            \r
-                                                                                          \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
-\r
-Module Name:\r
-\r
-  DataHubSubClassMisc.h\r
-    \r
-Abstract:\r
-\r
-  Definitions for Misc sub class data records\r
-\r
-Revision History\r
-\r
---*/\r
-\r
-#ifndef _DATAHUB_SUBCLASS_MISC_H_\r
-#define _DATAHUB_SUBCLASS_MISC_H_\r
-\r
-#include EFI_GUID_DEFINITION(DataHubRecords)\r
-\r
-#define EFI_MISC_SUBCLASS_GUID \\r
-{ 0x772484B2, 0x7482, 0x4b91, {0x9F, 0x9A, 0xAD, 0x43, 0xF8, 0x1C, 0x58, 0x81} }\r
-\r
-#define EFI_MISC_SUBCLASS_VERSION     0x0100\r
-\r
-#pragma pack(1)\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Last PCI Bus Number\r
-//\r
-#define EFI_MISC_LAST_PCI_BUS_RECORD_NUMBER   0x00000001\r
-\r
-typedef struct {\r
-  UINT8   LastPciBus;\r
-} EFI_MISC_LAST_PCI_BUS;\r
-\r
-typedef struct {\r
-  UINT8      FunctionNum  :3;\r
-  UINT8      DeviceNum    :5;\r
-} EFI_MISC_DEV_FUNC_NUM;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. BIOS Vendor - SMBIOS Type 0\r
-//\r
-#define EFI_MISC_BIOS_VENDOR_RECORD_NUMBER  0x00000002\r
-\r
-typedef struct {\r
-  UINT32  Reserved1                         :2;\r
-  UINT32  Unknown                           :1;\r
-  UINT32  BiosCharacteristicsNotSupported   :1;\r
-  UINT32  IsaIsSupported                    :1;\r
-  UINT32  McaIsSupported                    :1;\r
-  UINT32  EisaIsSupported                   :1;\r
-  UINT32  PciIsSupported                    :1;\r
-  UINT32  PcmciaIsSupported                 :1;\r
-  UINT32  PlugAndPlayIsSupported            :1;\r
-  UINT32  ApmIsSupported                    :1;\r
-  UINT32  BiosIsUpgradable                  :1;\r
-  UINT32  BiosShadowingAllowed              :1;\r
-  UINT32  VlVesaIsSupported                 :1;\r
-  UINT32  EscdSupportIsAvailable            :1;\r
-  UINT32  BootFromCdIsSupported             :1;\r
-  UINT32  SelectableBootIsSupported         :1;\r
-  UINT32  RomBiosIsSocketed                 :1;\r
-  UINT32  BootFromPcmciaIsSupported         :1;\r
-  UINT32  EDDSpecificationIsSupported       :1;\r
-  UINT32  JapaneseNecFloppyIsSupported      :1;\r
-  UINT32  JapaneseToshibaFloppyIsSupported  :1;\r
-  UINT32  Floppy525_360IsSupported          :1;\r
-  UINT32  Floppy525_12IsSupported           :1;\r
-  UINT32  Floppy35_720IsSupported           :1;\r
-  UINT32  Floppy35_288IsSupported           :1;\r
-  UINT32  PrintScreenIsSupported            :1;\r
-  UINT32  Keyboard8042IsSupported           :1;\r
-  UINT32  SerialIsSupported                 :1;\r
-  UINT32  PrinterIsSupported                :1;\r
-  UINT32  CgaMonoIsSupported                :1;\r
-  UINT32  NecPc98                           :1;\r
-  UINT32  AcpiIsSupported                   :1;\r
-  UINT32  UsbLegacyIsSupported              :1;\r
-  UINT32  AgpIsSupported                    :1;\r
-  UINT32  I20BootIsSupported                :1;\r
-  UINT32  Ls120BootIsSupported              :1;\r
-  UINT32  AtapiZipDriveBootIsSupported      :1;\r
-  UINT32  Boot1394IsSupported               :1;\r
-  UINT32  SmartBatteryIsSupported           :1;\r
-  UINT32  BiosBootSpecIsSupported           :1;\r
-  UINT32  FunctionKeyNetworkBootIsSupported :1;\r
-  UINT32  TargetContentDistributionEnabled  :1; \r
-  UINT32  Reserved                          :21;\r
-} EFI_MISC_BIOS_CHARACTERISTICS;\r
-\r
-typedef struct {\r
-  UINT32  BiosReserved                      :16;\r
-  UINT32  SystemReserved                    :16;\r
-  UINT32  Reserved                          :32;\r
-} EFI_MISC_BIOS_CHARACTERISTICS_EXTENSION;\r
-\r
-typedef struct {\r
-  STRING_REF                      BiosVendor;\r
-  STRING_REF                      BiosVersion;\r
-  STRING_REF                      BiosReleaseDate;\r
-  EFI_PHYSICAL_ADDRESS            BiosStartingAddress;\r
-  EFI_EXP_BASE2_DATA              BiosPhysicalDeviceSize;\r
-  EFI_MISC_BIOS_CHARACTERISTICS   BiosCharacteristics1;\r
-  EFI_MISC_BIOS_CHARACTERISTICS_EXTENSION  BiosCharacteristics2;\r
-  UINT8                           BiosMajorRelease;\r
-  UINT8                           BiosMinorRelease;\r
-  UINT8                           BiosEmbeddedFirmwareMajorRelease;\r
-  UINT8                           BiosEmbeddedFirmwareMinorRelease;\r
-} EFI_MISC_BIOS_VENDOR;       \r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. System Manufacturer - SMBIOS Type 1\r
-//\r
-#define EFI_MISC_SYSTEM_MANUFACTURER_RECORD_NUMBER 0x00000003\r
-\r
-typedef enum {  \r
-  EfiSystemWakeupTypeReserved = 0,\r
-  EfiSystemWakeupTypeOther = 1,\r
-  EfiSystemWakeupTypeUnknown = 2,\r
-  EfiSystemWakeupTypeApmTimer = 3,\r
-  EfiSystemWakeupTypeModemRing = 4,\r
-  EfiSystemWakeupTypeLanRemote = 5,\r
-  EfiSystemWakeupTypePowerSwitch = 6,\r
-  EfiSystemWakeupTypePciPme = 7,\r
-  EfiSystemWakeupTypeAcPowerRestored = 8\r
-} EFI_MISC_SYSTEM_WAKEUP_TYPE;\r
-\r
-typedef struct {\r
-  STRING_REF                      SystemManufacturer;\r
-  STRING_REF                      SystemProductName;\r
-  STRING_REF                      SystemVersion;\r
-  STRING_REF                      SystemSerialNumber;\r
-  EFI_GUID                        SystemUuid;\r
-  EFI_MISC_SYSTEM_WAKEUP_TYPE     SystemWakeupType;\r
-  STRING_REF                      SystemSKUNumber;\r
-  STRING_REF                      SystemFamily;\r
-} EFI_MISC_SYSTEM_MANUFACTURER;        \r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Base Board Manufacturer - SMBIOS Type 2\r
-//\r
-#define EFI_MISC_BASE_BOARD_MANUFACTURER_RECORD_NUMBER 0x00000004\r
-\r
-typedef struct {\r
-  UINT32  Motherboard           :1;\r
-  UINT32  RequiresDaughterCard  :1;\r
-  UINT32  Removable             :1;\r
-  UINT32  Replaceable           :1;\r
-  UINT32  HotSwappable          :1;\r
-  UINT32  Reserved              :27;\r
-} EFI_BASE_BOARD_FEATURE_FLAGS;\r
-\r
-typedef enum {  \r
-  EfiBaseBoardTypeUnknown = 1,\r
-  EfiBaseBoardTypeOther = 2,\r
-  EfiBaseBoardTypeServerBlade = 3,\r
-  EfiBaseBoardTypeConnectivitySwitch = 4,\r
-  EfiBaseBoardTypeSystemManagementModule = 5,\r
-  EfiBaseBoardTypeProcessorModule = 6,\r
-  EfiBaseBoardTypeIOModule = 7,\r
-  EfiBaseBoardTypeMemoryModule = 8,\r
-  EfiBaseBoardTypeDaughterBoard = 9,\r
-  EfiBaseBoardTypeMotherBoard = 0xA,\r
-  EfiBaseBoardTypeProcessorMemoryModule = 0xB,\r
-  EfiBaseBoardTypeProcessorIOModule = 0xC,\r
-  EfiBaseBoardTypeInterconnectBoard = 0xD\r
-} EFI_BASE_BOARD_TYPE;\r
-\r
-typedef struct {\r
-  STRING_REF                      BaseBoardManufacturer;\r
-  STRING_REF                      BaseBoardProductName;\r
-  STRING_REF                      BaseBoardVersion;\r
-  STRING_REF                      BaseBoardSerialNumber;\r
-  STRING_REF                      BaseBoardAssetTag;\r
-  STRING_REF                      BaseBoardChassisLocation;\r
-  EFI_BASE_BOARD_FEATURE_FLAGS    BaseBoardFeatureFlags;\r
-  EFI_BASE_BOARD_TYPE             BaseBoardType;\r
-  EFI_INTER_LINK_DATA             BaseBoardChassisLink;\r
-  UINT32                          BaseBoardNumberLinks;\r
-  EFI_INTER_LINK_DATA             LinkN;\r
-} EFI_MISC_BASE_BOARD_MANUFACTURER;       \r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. System/Chassis Enclosure - SMBIOS Type 3\r
-//\r
-#define EFI_MISC_CHASSIS_MANUFACTURER_RECORD_NUMBER  0x00000005\r
-\r
-typedef enum {  \r
-  EfiMiscChassisTypeOther = 0x1,\r
-  EfiMiscChassisTypeUnknown = 0x2,\r
-  EfiMiscChassisTypeDeskTop = 0x3,\r
-  EfiMiscChassisTypeLowProfileDesktop = 0x4,\r
-  EfiMiscChassisTypePizzaBox = 0x5,\r
-  EfiMiscChassisTypeMiniTower = 0x6,\r
-  EfiMiscChassisTypeTower = 0x7,\r
-  EfiMiscChassisTypePortable = 0x8,\r
-  EfiMiscChassisTypeLapTop = 0x9,\r
-  EfiMiscChassisTypeNotebook = 0xA,\r
-  EfiMiscChassisTypeHandHeld = 0xB,\r
-  EfiMiscChassisTypeDockingStation = 0xC,\r
-  EfiMiscChassisTypeAllInOne = 0xD,\r
-  EfiMiscChassisTypeSubNotebook = 0xE,\r
-  EfiMiscChassisTypeSpaceSaving = 0xF,\r
-  EfiMiscChassisTypeLunchBox = 0x10,\r
-  EfiMiscChassisTypeMainServerChassis = 0x11,\r
-  EfiMiscChassisTypeExpansionChassis = 0x12,\r
-  EfiMiscChassisTypeSubChassis = 0x13,\r
-  EfiMiscChassisTypeBusExpansionChassis = 0x14,\r
-  EfiMiscChassisTypePeripheralChassis = 0x15,\r
-  EfiMiscChassisTypeRaidChassis = 0x16,\r
-  EfiMiscChassisTypeRackMountChassis = 0x17,\r
-  EfiMiscChassisTypeSealedCasePc = 0x18,\r
-  EfiMiscChassisMultiSystemChassis = 0x19,\r
-  EfiMiscChassisCompactPCI = 0x1A,\r
-  EfiMiscChassisAdvancedTCA = 0x1B,\r
-  EfiMiscChassisBlade = 0x1C,\r
-  EfiMiscChassisBladeEnclosure = 0x1D\r
-} EFI_MISC_CHASSIS_TYPE;\r
-\r
-typedef struct {\r
-  UINT32  ChassisType       :16;\r
-  UINT32  ChassisLockPresent:1;\r
-  UINT32  Reserved          :15;\r
-} EFI_MISC_CHASSIS_STATUS;\r
-\r
-typedef enum {  \r
-  EfiChassisStateOther = 1,\r
-  EfiChassisStateUnknown = 2,\r
-  EfiChassisStateSafe = 3,\r
-  EfiChassisStateWarning = 4,\r
-  EfiChassisStateCritical = 5,\r
-  EfiChassisStateNonRecoverable = 6\r
-} EFI_MISC_CHASSIS_STATE;\r
-\r
-typedef enum {  \r
-  EfiChassisSecurityStatusOther = 1,\r
-  EfiChassisSecurityStatusUnknown = 2,\r
-  EfiChassisSecurityStatusNone = 3,\r
-  EfiChassisSecurityStatusExternalInterfaceLockedOut = 4,\r
-  EfiChassisSecurityStatusExternalInterfaceLockedEnabled = 5\r
-} EFI_MISC_CHASSIS_SECURITY_STATE;\r
-\r
-typedef struct {\r
-  UINT32  RecordType  :1;\r
-  UINT32  Type        :7;\r
-  UINT32  Reserved    :24;\r
-} EFI_MISC_ELEMENT_TYPE;\r
-\r
-typedef struct {\r
-  EFI_MISC_ELEMENT_TYPE   ChassisElementType;\r
-  EFI_INTER_LINK_DATA     ChassisElementStructure;\r
-  EFI_BASE_BOARD_TYPE     ChassisBaseBoard;\r
-  UINT32                  ChassisElementMinimum;\r
-  UINT32                  ChassisElementMaximum;\r
-} EFI_MISC_ELEMENTS; \r
-\r
-typedef struct {\r
-  STRING_REF                      ChassisManufacturer;\r
-  STRING_REF                      ChassisVersion;\r
-  STRING_REF                      ChassisSerialNumber;\r
-  STRING_REF                      ChassisAssetTag;\r
-  EFI_MISC_CHASSIS_STATUS         ChassisType;\r
-  EFI_MISC_CHASSIS_STATE          ChassisBootupState;\r
-  EFI_MISC_CHASSIS_STATE          ChassisPowerSupplyState;\r
-  EFI_MISC_CHASSIS_STATE          ChassisThermalState;\r
-  EFI_MISC_CHASSIS_SECURITY_STATE ChassisSecurityState;\r
-  UINT32                          ChassisOemDefined;\r
-  UINT32                          ChassisHeight;\r
-  UINT32                          ChassisNumberPowerCords;\r
-  UINT32                          ChassisElementCount;\r
-  UINT32                          ChassisElementRecordLength;//\r
-  EFI_MISC_ELEMENTS               ChassisElements;\r
-} EFI_MISC_CHASSIS_MANUFACTURER;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Port Connector Information - SMBIOS Type 8\r
-//\r
-#define EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_RECORD_NUMBER 0x00000006\r
-\r
-typedef enum {  \r
-  EfiPortConnectorTypeNone = 0x0,\r
-  EfiPortConnectorTypeCentronics = 0x1,\r
-  EfiPortConnectorTypeMiniCentronics = 0x2,\r
-  EfiPortConnectorTypeProprietary = 0x3,\r
-  EfiPortConnectorTypeDB25Male = 0x4,\r
-  EfiPortConnectorTypeDB25Female = 0x5,\r
-  EfiPortConnectorTypeDB15Male = 0x6,\r
-  EfiPortConnectorTypeDB15Female = 0x7,\r
-  EfiPortConnectorTypeDB9Male = 0x8,\r
-  EfiPortConnectorTypeDB9Female = 0x9,\r
-  EfiPortConnectorTypeRJ11 = 0xA,\r
-  EfiPortConnectorTypeRJ45 = 0xB,\r
-  EfiPortConnectorType50PinMiniScsi = 0xC,\r
-  EfiPortConnectorTypeMiniDin = 0xD,\r
-  EfiPortConnectorTypeMicriDin = 0xE,\r
-  EfiPortConnectorTypePS2 = 0xF,\r
-  EfiPortConnectorTypeInfrared = 0x10,\r
-  EfiPortConnectorTypeHpHil = 0x11,\r
-  EfiPortConnectorTypeUsb = 0x12,\r
-  EfiPortConnectorTypeSsaScsi = 0x13,\r
-  EfiPortConnectorTypeCircularDin8Male = 0x14,\r
-  EfiPortConnectorTypeCircularDin8Female = 0x15,\r
-  EfiPortConnectorTypeOnboardIde = 0x16,\r
-  EfiPortConnectorTypeOnboardFloppy = 0x17,\r
-  EfiPortConnectorType9PinDualInline = 0x18,\r
-  EfiPortConnectorType25PinDualInline = 0x19,\r
-  EfiPortConnectorType50PinDualInline = 0x1A,\r
-  EfiPortConnectorType68PinDualInline = 0x1B,\r
-  EfiPortConnectorTypeOnboardSoundInput = 0x1C,\r
-  EfiPortConnectorTypeMiniCentronicsType14 = 0x1D,\r
-  EfiPortConnectorTypeMiniCentronicsType26 = 0x1E,\r
-  EfiPortConnectorTypeHeadPhoneMiniJack = 0x1F,\r
-  EfiPortConnectorTypeBNC = 0x20,\r
-  EfiPortConnectorType1394 = 0x21,\r
-  EfiPortConnectorTypeSasSata = 0x22,\r
-  EfiPortConnectorTypePC98 = 0xA0,\r
-  EfiPortConnectorTypePC98Hireso = 0xA1,\r
-  EfiPortConnectorTypePCH98 = 0xA2,\r
-  EfiPortConnectorTypePC98Note = 0xA3,\r
-  EfiPortConnectorTypePC98Full = 0xA4,\r
-  EfiPortConnectorTypeOther = 0xFF\r
-} EFI_MISC_PORT_CONNECTOR_TYPE;\r
-\r
-typedef enum {  \r
-  EfiPortTypeNone = 0x0,\r
-  EfiPortTypeParallelXtAtCompatible = 0x1,\r
-  EfiPortTypeParallelPortPs2 = 0x2,\r
-  EfiPortTypeParallelPortEcp = 0x3,\r
-  EfiPortTypeParallelPortEpp = 0x4,\r
-  EfiPortTypeParallelPortEcpEpp = 0x5,\r
-  EfiPortTypeSerialXtAtCompatible = 0x6,\r
-  EfiPortTypeSerial16450Compatible = 0x7,\r
-  EfiPortTypeSerial16550Compatible = 0x8,\r
-  EfiPortTypeSerial16550ACompatible = 0x9,\r
-  EfiPortTypeScsi = 0xA,\r
-  EfiPortTypeMidi = 0xB,\r
-  EfiPortTypeJoyStick = 0xC,\r
-  EfiPortTypeKeyboard = 0xD,\r
-  EfiPortTypeMouse = 0xE,\r
-  EfiPortTypeSsaScsi = 0xF,\r
-  EfiPortTypeUsb = 0x10,\r
-  EfiPortTypeFireWire = 0x11,\r
-  EfiPortTypePcmciaTypeI = 0x12,\r
-  EfiPortTypePcmciaTypeII = 0x13,\r
-  EfiPortTypePcmciaTypeIII = 0x14,\r
-  EfiPortTypeCardBus = 0x15,\r
-  EfiPortTypeAccessBusPort = 0x16,\r
-  EfiPortTypeScsiII = 0x17,\r
-  EfiPortTypeScsiWide = 0x18,\r
-  EfiPortTypePC98 = 0x19,\r
-  EfiPortTypePC98Hireso = 0x1A,\r
-  EfiPortTypePCH98 = 0x1B,\r
-  EfiPortTypeVideoPort = 0x1C,\r
-  EfiPortTypeAudioPort = 0x1D,\r
-  EfiPortTypeModemPort = 0x1E,\r
-  EfiPortTypeNetworkPort = 0x1F,\r
-  EfiPortTypeSata = 0x20,\r
-  EfiPortTypeSas = 0x21,\r
-  EfiPortType8251Compatible = 0xA0,\r
-  EfiPortType8251FifoCompatible = 0xA1,\r
-  EfiPortTypeOther = 0xFF\r
-} EFI_MISC_PORT_TYPE;\r
-\r
-\r
-typedef struct {\r
-  EFI_STRING_TOKEN              PortInternalConnectorDesignator;\r
-  EFI_STRING_TOKEN              PortExternalConnectorDesignator;\r
-  EFI_MISC_PORT_CONNECTOR_TYPE  PortInternalConnectorType;\r
-  EFI_MISC_PORT_CONNECTOR_TYPE  PortExternalConnectorType;\r
-  EFI_MISC_PORT_TYPE            PortType;\r
-  EFI_MISC_PORT_DEVICE_PATH      PortPath;\r
-} EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR;      \r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. System Slots - SMBIOS Type 9\r
-//\r
-#define EFI_MISC_SYSTEM_SLOT_DESIGNATION_RECORD_NUMBER 0x00000007\r
-\r
-typedef enum {  \r
-  EfiSlotTypeOther = 0x1,\r
-  EfiSlotTypeUnknown = 0x2,\r
-  EfiSlotTypeIsa = 0x3,\r
-  EfiSlotTypeMca = 0x4,\r
-  EfiSlotTypeEisa = 0x5,\r
-  EfiSlotTypePci = 0x6,\r
-  EfiSlotTypePcmcia = 0x7,\r
-  EfiSlotTypeVlVesa = 0x8,\r
-  EfiSlotTypeProprietary = 0x9,\r
-  EfiSlotTypeProcessorCardSlot = 0xA,\r
-  EfiSlotTypeProprietaryMemoryCardSlot = 0xB,\r
-  EfiSlotTypeIORiserCardSlot = 0xC,\r
-  EfiSlotTypeNuBus = 0xD,\r
-  EfiSlotTypePci66MhzCapable = 0xE,\r
-  EfiSlotTypeAgp = 0xF,\r
-  EfiSlotTypeApg2X = 0x10,\r
-  EfiSlotTypeAgp4X = 0x11,\r
-  EfiSlotTypePciX = 0x12,\r
-  EfiSlotTypeAgp8X = 0x13,\r
-  EfiSlotTypePC98C20 = 0xA0,\r
-  EfiSlotTypePC98C24 = 0xA1,\r
-  EfiSlotTypePC98E = 0xA2,\r
-  EfiSlotTypePC98LocalBus = 0xA3,\r
-  EfiSlotTypePC98Card = 0xA4,\r
-  EfiSlotTypePciExpress = 0xA5,\r
-  EfiSlotTypePciExpressX1 = 0xA6,\r
-  EfiSlotTypePciExpressX2 = 0xA7,\r
-  EfiSlotTypePciExpressX4 = 0xA8,\r
-  EfiSlotTypePciExpressX8 = 0xA9,\r
-  EfiSlotTypePciExpressX16 = 0xAA,\r
-  EfiSlotTypePciExpressGen2    = 0xAB,\r
-  EfiSlotTypePciExpressGen2X1  = 0xAC,\r
-  EfiSlotTypePciExpressGen2X2  = 0xAD,\r
-  EfiSlotTypePciExpressGen2X4  = 0xAE,\r
-  EfiSlotTypePciExpressGen2X8  = 0xAF,\r
-  EfiSlotTypePciExpressGen2X16 = 0xB0\r
-} EFI_MISC_SLOT_TYPE;\r
-\r
-typedef enum {  \r
-  EfiSlotDataBusWidthOther = 1,\r
-  EfiSlotDataBusWidthUnknown = 2,\r
-  EfiSlotDataBusWidth8Bit = 3,\r
-  EfiSlotDataBusWidth16Bit = 4,\r
-  EfiSlotDataBusWidth32Bit = 5,\r
-  EfiSlotDataBusWidth64Bit = 6,\r
-  EfiSlotDataBusWidth128Bit = 7,\r
-  EfiSlotDataBusWidth1xOrx1 = 8,\r
-  EfiSlotDataBusWidth2xOrx2 = 9,\r
-  EfiSlotDataBusWidth4xOrx4 = 0xA,\r
-  EfiSlotDataBusWidth8xOrx8 = 0xB,\r
-  EfiSlotDataBusWidth12xOrx12 = 0xC,\r
-  EfiSlotDataBusWidth16xOrx16 = 0xD,\r
-  EfiSlotDataBusWidth32xOrx32 = 0xE\r
-} EFI_MISC_SLOT_DATA_BUS_WIDTH;\r
-\r
-typedef enum {  \r
-  EfiSlotUsageOther = 1,\r
-  EfiSlotUsageUnknown = 2,\r
-  EfiSlotUsageAvailable = 3,\r
-  EfiSlotUsageInUse = 4\r
-} EFI_MISC_SLOT_USAGE;\r
-  \r
-typedef enum {  \r
-  EfiSlotLengthOther = 1,\r
-  EfiSlotLengthUnknown = 2,\r
-  EfiSlotLengthShort = 3,\r
-  EfiSlotLengthLong = 4\r
-} EFI_MISC_SLOT_LENGTH;\r
-\r
-typedef struct {\r
-  UINT32  CharacteristicsUnknown  :1;\r
-  UINT32  Provides50Volts         :1;\r
-  UINT32  Provides33Volts         :1;\r
-  UINT32  SharedSlot              :1;\r
-  UINT32  PcCard16Supported       :1;\r
-  UINT32  CardBusSupported        :1;\r
-  UINT32  ZoomVideoSupported      :1;\r
-  UINT32  ModemRingResumeSupported:1;\r
-  UINT32  PmeSignalSupported      :1;\r
-  UINT32  HotPlugDevicesSupported :1;\r
-  UINT32  SmbusSignalSupported    :1;\r
-  UINT32  Reserved                :21;\r
-} EFI_MISC_SLOT_CHARACTERISTICS;\r
-\r
-typedef struct {\r
-  STRING_REF                    SlotDesignation;\r
-  EFI_MISC_SLOT_TYPE            SlotType;\r
-  EFI_MISC_SLOT_DATA_BUS_WIDTH  SlotDataBusWidth;\r
-  EFI_MISC_SLOT_USAGE           SlotUsage;\r
-  EFI_MISC_SLOT_LENGTH          SlotLength;\r
-  UINT16                        SlotId;\r
-  EFI_MISC_SLOT_CHARACTERISTICS SlotCharacteristics;\r
-  EFI_DEVICE_PATH_PROTOCOL      SlotDevicePath;\r
-  UINT16                        SegmentGroupNum;\r
-  UINT8                         BusNum;\r
-  EFI_MISC_DEV_FUNC_NUM         DevFuncNum;\r
-} EFI_MISC_SYSTEM_SLOT_DESIGNATION;      \r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Onboard Device - SMBIOS Type 10\r
-//\r
-#define EFI_MISC_ONBOARD_DEVICE_RECORD_NUMBER 0x00000008\r
-\r
-typedef enum {  \r
-  EfiOnBoardDeviceTypeOther = 1,\r
-  EfiOnBoardDeviceTypeUnknown = 2,\r
-  EfiOnBoardDeviceTypeVideo = 3,\r
-  EfiOnBoardDeviceTypeScsiController = 4,\r
-  EfiOnBoardDeviceTypeEthernet = 5,\r
-  EfiOnBoardDeviceTypeTokenRing = 6,\r
-  EfiOnBoardDeviceTypeSound = 7,\r
-  EfiOnBoardDeviceTypePataController = 8,\r
-  EfiOnBoardDeviceTypeSataController = 9,\r
-  EfiOnBoardDeviceTypeSasController = 10\r
-} EFI_MISC_ONBOARD_DEVICE_TYPE;\r
-\r
-typedef struct {\r
-  UINT32  DeviceType    :16;\r
-  UINT32  DeviceEnabled :1;\r
-  UINT32  Reserved      :15;\r
-} EFI_MISC_ONBOARD_DEVICE_STATUS;\r
-\r
-typedef struct {\r
-  STRING_REF                      OnBoardDeviceDescription;\r
-  EFI_MISC_ONBOARD_DEVICE_STATUS  OnBoardDeviceStatus;\r
-  EFI_DEVICE_PATH_PROTOCOL        OnBoardDevicePath;\r
-} EFI_MISC_ONBOARD_DEVICE;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. BIOS Language Information - SMBIOS Type 11\r
-//\r
-#define EFI_MISC_OEM_STRING_RECORD_NUMBER 0x00000009\r
-\r
-typedef struct {\r
-  STRING_REF                          OemStringRef[1];\r
-} EFI_MISC_OEM_STRING;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. System Options - SMBIOS Type 12\r
-//\r
-typedef struct {\r
-  STRING_REF                          SystemOptionStringRef[1];\r
-} EFI_MISC_SYSTEM_OPTION_STRING;      \r
-\r
-#define EFI_MISC_SYSTEM_OPTION_STRING_RECORD_NUMBER 0x0000000A\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Number of Installable Languages - SMBIOS Type 13\r
-//\r
-#define EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES_RECORD_NUMBER 0x0000000B\r
-\r
-typedef struct {\r
-  UINT32                              AbbreviatedLanguageFormat :1;\r
-  UINT32                              Reserved                  :31;\r
-} EFI_MISC_LANGUAGE_FLAGS;\r
-\r
-typedef struct {\r
-  UINT16                              NumberOfInstallableLanguages;\r
-  EFI_MISC_LANGUAGE_FLAGS             LanguageFlags;\r
-  UINT16                              CurrentLanguageNumber;\r
-} EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES;       \r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. System Language String\r
-//\r
-#define EFI_MISC_SYSTEM_LANGUAGE_STRING_RECORD_NUMBER 0x0000000C\r
-\r
-typedef struct {\r
-  UINT16                              LanguageId;\r
-  STRING_REF                          SystemLanguageString;\r
-} EFI_MISC_SYSTEM_LANGUAGE_STRING;      \r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-//  Misc. Group Associations  - SMBIOS Type 14\r
-//\r
-#define EFI_MISC_GROUP_NAME_RECORD_NUMBER 0x0000000D\r
-\r
-typedef struct {\r
-  STRING_REF                          GroupName;\r
-  UINT16                              NumberGroupItems;\r
-  UINT16                              GroupId;\r
-} EFI_MISC_GROUP_NAME_DATA;\r
-\r
-#define EFI_MISC_GROUP_ITEM_SET_RECORD_NUMBER 0x0000000E\r
-\r
-typedef struct {\r
-  EFI_GUID            SubClass;\r
-  EFI_INTER_LINK_DATA GroupLink;\r
-  UINT16              GroupId;\r
-  UINT16              GroupElementId;\r
-  UINT8               ItemType;\r
-} EFI_MISC_GROUP_ITEM_SET_DATA;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-//  Misc. Pointing Device Type - SMBIOS Type 21\r
-//\r
-#define EFI_MISC_POINTING_DEVICE_TYPE_RECORD_NUMBER 0x0000000F\r
-\r
-typedef enum { \r
-  EfiPointingDeviceTypeOther = 1,\r
-  EfiPointingDeviceTypeUnknown = 2,\r
-  EfiPointingDeviceTypeMouse = 3,\r
-  EfiPointingDeviceTypeTrackBall = 4,\r
-  EfiPointingDeviceTypeTrackPoint = 5,\r
-  EfiPointingDeviceTypeGlidePoint = 6,\r
-  EfiPointingDeviceTouchPad = 7,\r
-  EfiPointingDeviceTouchScreen = 8,\r
-  EfiPointingDeviceOpticalSensor = 9\r
-} EFI_MISC_POINTING_DEVICE_TYPE;\r
-\r
-typedef enum {  \r
-  EfiPointingDeviceInterfaceOther = 1,\r
-  EfiPointingDeviceInterfaceUnknown = 2,\r
-  EfiPointingDeviceInterfaceSerial = 3,\r
-  EfiPointingDeviceInterfacePs2 = 4,\r
-  EfiPointingDeviceInterfaceInfrared = 5,\r
-  EfiPointingDeviceInterfaceHpHil = 6,\r
-  EfiPointingDeviceInterfaceBusMouse = 7,\r
-  EfiPointingDeviceInterfaceADB = 8,\r
-  EfiPointingDeviceInterfaceBusMouseDB9 = 0xA0,\r
-  EfiPointingDeviceInterfaceBusMouseMicroDin = 0xA1,\r
-  EfiPointingDeviceInterfaceUsb = 0xA2\r
-} EFI_MISC_POINTING_DEVICE_INTERFACE;\r
-\r
-typedef struct {\r
-  EFI_MISC_POINTING_DEVICE_TYPE       PointingDeviceType;\r
-  EFI_MISC_POINTING_DEVICE_INTERFACE  PointingDeviceInterface;\r
-  UINT16                              NumberPointingDeviceButtons;\r
-  EFI_DEVICE_PATH_PROTOCOL            PointingDevicePath;\r
-} EFI_MISC_ONBOARD_DEVICE_TYPE_DATA;      \r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-//  Misc. Portable Battery - SMBIOS Type 22\r
-//\r
-#define EFI_MISC_PORTABLE_BATTERY_RECORD_NUMBER 0x00000010\r
-\r
-typedef enum {  \r
-  EfiPortableBatteryDeviceChemistryOther = 1,\r
-  EfiPortableBatteryDeviceChemistryUnknown = 2,\r
-  EfiPortableBatteryDeviceChemistryLeadAcid = 3,\r
-  EfiPortableBatteryDeviceChemistryNickelCadmium = 4,\r
-  EfiPortableBatteryDeviceChemistryNickelMetalHydride = 5,\r
-  EfiPortableBatteryDeviceChemistryLithiumIon = 6,\r
-  EfiPortableBatteryDeviceChemistryZincAir = 7,\r
-  EfiPortableBatteryDeviceChemistryLithiumPolymer = 8\r
-} EFI_MISC_PORTABLE_BATTERY_DEVICE_CHEMISTRY;\r
-\r
-typedef struct {\r
-  STRING_REF                                  Location;\r
-  STRING_REF                                  Manufacturer;\r
-  STRING_REF                                  ManufactureDate;\r
-  STRING_REF                                  SerialNumber;\r
-  STRING_REF                                  DeviceName;\r
-  EFI_MISC_PORTABLE_BATTERY_DEVICE_CHEMISTRY  DeviceChemistry;\r
-  UINT16                                      DesignCapacity;\r
-  UINT16                                      DesignVoltage;\r
-  STRING_REF                                  SBDSVersionNumber;\r
-  UINT8                                       MaximumError;\r
-  UINT16                                      SBDSSerialNumber;\r
-  UINT16                                      SBDSManufactureDate;\r
-  STRING_REF                                  SBDSDeviceChemistry;\r
-  UINT8                                       DesignCapacityMultiplier;\r
-  UINT32                                      OEMSpecific;  \r
-  UINT8                                       BatteryNumber; // Temporary   \r
-  BOOLEAN                                     Valid; // Is entry valid - Temporary\r
-} EFI_MISC_PORTABLE_BATTERY;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Reset Capabilities - SMBIOS Type 23\r
-//\r
-#define EFI_MISC_RESET_CAPABILITIES_RECORD_NUMBER 0x00000011\r
-\r
-typedef struct {\r
-  UINT32  Status              :1;\r
-  UINT32  BootOption          :2;\r
-  UINT32  BootOptionOnLimit   :2;\r
-  UINT32  WatchdogTimerPresent:1;\r
-  UINT32  Reserved            :26;\r
-} EFI_MISC_RESET_CAPABILITIES_TYPE;\r
-\r
-typedef struct {\r
-  EFI_MISC_RESET_CAPABILITIES_TYPE  ResetCapabilities;\r
-  UINT16                            ResetCount;\r
-  UINT16                            ResetLimit;\r
-  UINT16                            ResetTimerInterval;\r
-  UINT16                            ResetTimeout;\r
-} EFI_MISC_RESET_CAPABILITIES;\r
\r
-typedef struct {\r
-    EFI_MISC_RESET_CAPABILITIES   ResetCapabilities;\r
-    UINT16                        ResetCount;\r
-    UINT16                        ResetLimit;\r
-    UINT16                        ResetTimerInterval;\r
-    UINT16                        ResetTimeout;\r
-} EFI_MISC_RESET_CAPABILITIES_DATA;       \r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Hardware Security - SMBIOS Type 24\r
-//\r
-#define EFI_MISC_HARDWARE_SECURITY_RECORD_NUMBER 0x00000012\r
-\r
-//\r
-// Backward Compatibility\r
-//\r
-#define EFI_MISC_HARDWARE_SECURITY_SETTINGS_DATA_RECORD_NUMBER  EFI_MISC_HARDWARE_SECURITY_RECORD_NUMBER\r
-\r
-typedef enum {\r
-  EfiHardwareSecurityStatusDisabled = 0,\r
-  EfiHardwareSecurityStatusEnabled = 1,\r
-  EfiHardwareSecurityStatusNotImplemented = 2,\r
-  EfiHardwareSecurityStatusUnknown = 3\r
-} EFI_MISC_HARDWARE_SECURITY_STATUS; \r
-\r
-typedef struct {\r
-  EFI_MISC_HARDWARE_SECURITY_STATUS   FrontPanelResetStatus   :2;  \r
-  EFI_MISC_HARDWARE_SECURITY_STATUS   AdministratorPasswordStatus   :2;  \r
-  EFI_MISC_HARDWARE_SECURITY_STATUS   KeyboardPasswordStatus :2;  \r
-  EFI_MISC_HARDWARE_SECURITY_STATUS   PowerOnPasswordStatus :2;  \r
-  EFI_MISC_HARDWARE_SECURITY_STATUS   Reserved :24;  \r
-} EFI_MISC_HARDWARE_SECURITY_SETTINGS;\r
-\r
-typedef struct {\r
-  EFI_MISC_HARDWARE_SECURITY_SETTINGS HardwareSecuritySettings;\r
-} EFI_MISC_HARDWARE_SECURITY_SETTINGS_DATA;       \r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. System Power Controls - SMBIOS Type 25\r
-//\r
-#define EFI_MISC_SCHEDULED_POWER_ON_MONTH_RECORD_NUMBER 0x00000013\r
-\r
-typedef struct {\r
-  UINT8     ScheduledPoweronMonth;\r
-  UINT8     ScheduledPoweronDayOfMonth;\r
-  UINT8     ScheduledPoweronHour;\r
-  UINT8     ScheduledPoweronMinute;\r
-  UINT8     ScheduledPoweronSecond;\r
-} EFI_MISC_SCHEDULED_POWER_ON_MONTH;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Voltage Probe - SMBIOS Type 26\r
-//\r
-#define EFI_MISC_VOLTAGE_PROBE_DESCRIPTION_RECORD_NUMBER 0x00000014\r
-\r
-typedef struct {\r
-  UINT32    VoltageProbeSite :5;\r
-  UINT32    VoltageProbeStatus :3;\r
-  UINT32    Reserved :24;\r
-} EFI_MISC_VOLTAGE_PROBE_LOCATION;\r
-\r
-typedef struct {\r
-  STRING_REF                        VoltageProbeDescription;\r
-  EFI_MISC_VOLTAGE_PROBE_LOCATION   VoltageProbeLocation;\r
-  UINT16                            VoltageProbeMaximumValue;\r
-  UINT16                            VoltageProbeMinimumValue;\r
-  UINT16                            VoltageProbeResolution;\r
-  UINT16                            VoltageProbeTolerance;\r
-  UINT16                            VoltageProbeAccuracy;\r
-  UINT16                            VoltageProbeNominalValue;\r
-  UINT16                            MDLowerNoncriticalThreshold;\r
-  UINT16                            MDUpperNoncriticalThreshold;\r
-  UINT16                            MDLowerCriticalThreshold;\r
-  UINT16                            MDUpperCriticalThreshold;\r
-  UINT16                            MDLowerNonrecoverableThreshold;\r
-  UINT16                            MDUpperNonrecoverableThreshold;\r
-  UINT32                            VoltageProbeOemDefined;\r
-} EFI_MISC_VOLTAGE_PROBE_DESCRIPTION;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Cooling Device - SMBIOS Type 27\r
-//\r
-#define EFI_MISC_COOLING_DEVICE_TEMP_LINK_RECORD_NUMBER 0x00000015\r
-\r
-typedef struct {\r
-  UINT32 CoolingDevice :5;\r
-  UINT32 CoolingDeviceStatus :3;\r
-  UINT32 Reserved :24;\r
-} EFI_MISC_COOLING_DEVICE_TYPE;\r
-\r
-typedef struct {\r
-  EFI_MISC_COOLING_DEVICE_TYPE  CoolingDeviceType;\r
-  EFI_INTER_LINK_DATA           CoolingDeviceTemperatureLink;\r
-  UINT8                         CoolingDeviceUnitGroup;\r
-  UINT16                        CoolingDeviceNominalSpeed;\r
-  UINT32                        CoolingDeviceOemDefined;\r
-} EFI_MISC_COOLING_DEVICE_TEMP_LINK;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Temperature Probe - SMBIOS Type 28\r
-//\r
-#define EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION_RECORD_NUMBER 0x00000016\r
-\r
-typedef struct {\r
-  UINT32 TemperatureProbeSite :5;\r
-  UINT32 TemperatureProbeStatus :3;\r
-  UINT32 Reserved :24;\r
-} EFI_MISC_TEMPERATURE_PROBE_LOCATION;\r
-\r
-typedef struct {\r
-  STRING_REF                            TemperatureProbeDescription;\r
-  EFI_MISC_TEMPERATURE_PROBE_LOCATION   TemperatureProbeLocation;\r
-  UINT16                                TemperatureProbeMaximumValue;\r
-  UINT16                                TemperatureProbeMinimumValue;\r
-  UINT16                                TemperatureProbeResolution;\r
-  UINT16                                TemperatureProbeTolerance;\r
-  UINT16                                TemperatureProbeAccuracy;\r
-  UINT16                                TemperatureProbeNominalValue;\r
-  UINT16                                MDLowerNoncriticalThreshold;\r
-  UINT16                                MDUpperNoncriticalThreshold;\r
-  UINT16                                MDLowerCriticalThreshold;\r
-  UINT16                                MDUpperCriticalThreshold;\r
-  UINT16                                MDLowerNonrecoverableThreshold;\r
-  UINT16                                MDUpperNonrecoverableThreshold;\r
-  UINT32                                TemperatureProbeOemDefined;\r
-} EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Electrical Current Probe - SMBIOS Type 29\r
-//\r
-#define EFI_MISC_ELECTRICAL_CURRENT_PROBE_DESCRIPTION_RECORD_NUMBER 0x00000017\r
-\r
-typedef struct {\r
-  UINT32 ElectricalCurrentProbeSite :5;\r
-  UINT32 ElectricalCurrentProbeStatus :3;\r
-  UINT32 Reserved :24;\r
-} EFI_MISC_ELECTRICAL_CURRENT_PROBE_LOCATION;\r
-\r
-typedef struct {\r
-  STRING_REF                                  ElectricalCurrentProbeDescription;\r
-  EFI_MISC_ELECTRICAL_CURRENT_PROBE_LOCATION  ElectricalCurrentProbeLocation;\r
-  UINT16                                      ElectricalCurrentProbeMaximumValue;\r
-  UINT16                                      ElectricalCurrentProbeMinimumValue;\r
-  UINT16                                      ElectricalCurrentProbeResolution;\r
-  UINT16                                      ElectricalCurrentProbeTolerance;\r
-  UINT16                                      ElectricalCurrentProbeAccuracy;\r
-  UINT16                                      ElectricalCurrentProbeNominalValue;\r
-  UINT16                                      MDLowerNoncriticalThreshold;\r
-  UINT16                                      MDUpperNoncriticalThreshold;\r
-  UINT16                                      MDLowerCriticalThreshold;\r
-  UINT16                                      MDUpperCriticalThreshold;\r
-  UINT16                                      MDLowerNonrecoverableThreshold;\r
-  UINT16                                      MDUpperNonrecoverableThreshold;\r
-  UINT32                                      ElectricalCurrentProbeOemDefined;\r
-} EFI_MISC_ELECTRICAL_CURRENT_PROBE_DESCRIPTION;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Out-of-Band Remote Access - SMBIOS Type 30\r
-//\r
-#define EFI_MISC_REMOTE_ACCESS_MANUFACTURER_DESCRIPTION_RECORD_NUMBER 0x00000018\r
-\r
-typedef struct {\r
-  UINT32 InboundConnectionEnabled :1;\r
-  UINT32 OutboundConnectionEnabled :1;\r
-  UINT32 Reserved :30;\r
-} EFI_MISC_REMOTE_ACCESS_CONNECTIONS;\r
-\r
-typedef struct {\r
-  STRING_REF                          RemoteAccessManufacturerNameDescription;\r
-  EFI_MISC_REMOTE_ACCESS_CONNECTIONS  RemoteAccessConnections;\r
-} EFI_MISC_REMOTE_ACCESS_MANUFACTURER_DESCRIPTION;\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. BIS Entry Point - SMBIOS Type 31\r
-//\r
-#define EFI_MISC_BIS_ENTRY_POINT_RECORD_NUMBER          0x00000019\r
-\r
-typedef struct {\r
-  EFI_PHYSICAL_ADDRESS       BisEntryPoint;\r
-} EFI_MISC_BIS_ENTRY_POINT;    \r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Boot Information - SMBIOS Type 32\r
-//\r
-#define EFI_MISC_BOOT_INFORMATION_STATUS_RECORD_NUMBER  0x0000001A\r
-\r
-typedef enum {  \r
-  EfiBootInformationStatusNoError = 0,\r
-  EfiBootInformationStatusNoBootableMedia = 1,\r
-  EfiBootInformationStatusNormalOSFailedLoading = 2,\r
-  EfiBootInformationStatusFirmwareDetectedFailure = 3,\r
-  EfiBootInformationStatusOSDetectedFailure = 4,\r
-  EfiBootInformationStatusUserRequestedBoot = 5,\r
-  EfiBootInformationStatusSystemSecurityViolation = 6,\r
-  EfiBootInformationStatusPreviousRequestedImage = 7,\r
-  EfiBootInformationStatusWatchdogTimerExpired = 8,\r
-  EfiBootInformationStatusStartReserved = 9,\r
-  EfiBootInformationStatusStartOemSpecific = 128,\r
-  EfiBootInformationStatusStartProductSpecific = 192\r
-} EFI_MISC_BOOT_INFORMATION_STATUS_TYPE;\r
-\r
-typedef struct {\r
-    EFI_MISC_BOOT_INFORMATION_STATUS_TYPE BootInformationStatus;\r
-    UINT8                                 BootInformationData[9];\r
-} EFI_MISC_BOOT_INFORMATION_STATUS;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Management Device - SMBIOS Type 34\r
-//\r
-#define EFI_MISC_MANAGEMENT_DEVICE_DESCRIPTION_RECORD_NUMBER 0x0000001B\r
-\r
-typedef enum {\r
-  EfiManagementDeviceTypeOther     = 1,\r
-  EfiManagementDeviceTypeUnknown   = 2,\r
-  EfiManagementDeviceTypeLm75      = 3,\r
-  EfiManagementDeviceTypeLm78      = 4,\r
-  EfiManagementDeviceTypeLm79      = 5,\r
-  EfiManagementDeviceTypeLm80      = 6,\r
-  EfiManagementDeviceTypeLm81      = 7,\r
-  EfiManagementDeviceTypeAdm9240   = 8,\r
-  EfiManagementDeviceTypeDs1780    = 9,\r
-  EfiManagementDeviceTypeMaxim1617 = 0xA,\r
-  EfiManagementDeviceTypeGl518Sm   = 0xB,\r
-  EfiManagementDeviceTypeW83781D   = 0xC,\r
-  EfiManagementDeviceTypeHt82H791  = 0xD\r
-} EFI_MISC_MANAGEMENT_DEVICE_TYPE;\r
-\r
-typedef enum {\r
-  EfiManagementDeviceAddressTypeOther   = 1,\r
-  EfiManagementDeviceAddressTypeUnknown = 2,\r
-  EfiManagementDeviceAddressTypeIOPort  = 3,\r
-  EfiManagementDeviceAddressTypeMemory  = 4,\r
-  EfiManagementDeviceAddressTypeSmbus   = 5\r
-} EFI_MISC_MANAGEMENT_DEVICE_ADDRESS_TYPE;\r
-\r
-typedef struct {\r
-  STRING_REF                              ManagementDeviceDescription;\r
-  EFI_MISC_MANAGEMENT_DEVICE_TYPE         ManagementDeviceType;\r
-  UINTN                                   ManagementDeviceAddress;\r
-  EFI_MISC_MANAGEMENT_DEVICE_ADDRESS_TYPE ManagementDeviceAddressType;\r
-} EFI_MISC_MANAGEMENT_DEVICE_DESCRIPTION;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Misc. Management Device Component - SMBIOS Type 35\r
-//\r
-#define EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION_RECORD_NUMBER 0x0000001C\r
-\r
-typedef struct {\r
-  STRING_REF            ManagementDeviceComponentDescription;\r
-  EFI_INTER_LINK_DATA   ManagementDeviceLink;\r
-  EFI_INTER_LINK_DATA   ManagementDeviceComponentLink;\r
-  EFI_INTER_LINK_DATA   ManagementDeviceThresholdLink;\r
-  UINT8                 ComponentType;\r
-} EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// IPMI Data Record - SMBIOS Type 38\r
-//\r
-typedef enum {  \r
-  EfiIpmiOther = 0,\r
-  EfiIpmiKcs = 1,\r
-  EfiIpmiSmic = 2,\r
-  EfiIpmiBt = 3\r
-} EFI_MISC_IPMI_INTERFACE_TYPE;\r
-\r
-typedef struct {\r
-  UINT16  IpmiSpecLeastSignificantDigit:4;\r
-  UINT16  IpmiSpecMostSignificantDigit:4;\r
-  UINT16  Reserved:8;\r
-} EFI_MISC_IPMI_SPECIFICATION_REVISION;\r
-\r
-typedef struct {\r
-  EFI_MISC_IPMI_INTERFACE_TYPE          IpmiInterfaceType;\r
-  EFI_MISC_IPMI_SPECIFICATION_REVISION  IpmiSpecificationRevision;\r
-  UINT16                                IpmiI2CSlaveAddress;\r
-  UINT16                                IpmiNvDeviceAddress;\r
-  UINT64                                IpmiBaseAddress;\r
-  EFI_DEVICE_PATH_PROTOCOL              IpmiDevicePath;\r
-} EFI_MISC_IPMI_INTERFACE_TYPE_DATA;\r
-       \r
-#define EFI_MISC_IPMI_INTERFACE_TYPE_RECORD_NUMBER  0x0000001D\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-//System Power supply Record - SMBIOS Type 39\r
-//\r
-typedef struct {\r
-  UINT16  PowerSupplyHotReplaceable  :1;\r
-  UINT16  PowerSupplyPresent         :1;\r
-  UINT16  PowerSupplyUnplugged       :1;\r
-  UINT16  InputVoltageRangeSwitch    :4;\r
-  UINT16  PowerSupplyStatus           :3;\r
-  UINT16  PowerSupplyType             :4;\r
-  UINT16  Reserved                   :2;\r
-} POWER_SUPPLY_CHARACTERISTICS;\r
-\r
-typedef struct {\r
-  UINT16                          PowerUnitGroup;\r
-  STRING_REF                      PowerSupplyLocation;\r
-  STRING_REF                      PowerSupplyDeviceName;\r
-  STRING_REF                      PowerSupplyManufacturer;\r
-  STRING_REF                      PowerSupplySerialNumber;\r
-  STRING_REF                      PowerSupplyAssetTagNumber;\r
-  STRING_REF                      PowerSupplyModelPartNumber;\r
-  STRING_REF                      PowerSupplyRevisionLevel;\r
-  UINT16                          PowerSupplyMaxPowerCapacity;\r
-  POWER_SUPPLY_CHARACTERISTICS    PowerSupplyCharacteristics;\r
-  EFI_INTER_LINK_DATA             PowerSupplyInputVoltageProbeLink;\r
-  EFI_INTER_LINK_DATA             PowerSupplyCoolingDeviceLink;\r
-  EFI_INTER_LINK_DATA             PowerSupplyInputCurrentProbeLink;\r
-} EFI_MISC_SYSTEM_POWER_SUPPLY;\r
-\r
-#define EFI_MISC_SYSTEM_POWER_SUPPLY_RECORD_NUMBER 0x0000001E\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-//Additional Information Record - SMBIOS Type 40\r
-//\r
-typedef struct {                       \r
-  UINT8                   EntryLength; \r
-  UINT8                   ReferencedSmbiosType;\r
-  EFI_INTER_LINK_DATA     ReferencedLink;\r
-  UINT8                   ReferencedOffset;\r
-  STRING_REF              EntryString;\r
-  EFI_PHYSICAL_ADDRESS    ValueAddress;\r
-} EFI_MISC_ADDITIONAL_INFORMATION_ENTRY;                               \r
-                                   \r
-typedef struct {\r
-  UINT8                                  NumberOfAdditionalInformationEntries;\r
-  EFI_PHYSICAL_ADDRESS                   AdditionalInfoEntriesAddr;\r
-} EFI_MISC_ADDITIONAL_INFORMATION;\r
-\r
-#define EFI_MISC_ADDITIONAL_INFORMATION_RECORD_NUMBER 0x00000022\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-//Onboard Devices Extended Infomation Record - SMBIOS Type 41\r
-//\r
-typedef struct {\r
-  UINT8     TypeOfDevice:7;\r
-  UINT8     DeviceStatus:1;\r
-} EFI_MISC_DEVICE_TYPE;\r
-\r
-typedef struct {\r
-  STRING_REF              ReferenceDesignation;\r
-  EFI_MISC_DEVICE_TYPE    DeviceType;\r
-  UINT8                   DeviceTypeInstance;\r
-  UINT16                  SegmentGroupNum;\r
-  UINT8                   BusNum;\r
-  EFI_MISC_DEV_FUNC_NUM   DevFuncNum;\r
-} EFI_MISC_ONBOARD_DEVICES_EXTENDED_INFORMATION;\r
-\r
-#define EFI_MISC_ONBOARD_DEVICES_EXTENDED_INFORMATION_RECORD_NUMBER 0x00000023\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Generic Data Record - All SMBIOS Type\r
-// Put smbios raw data into one datahub record directly. Smbios driver would\r
-// copy smbios raw data into smbios table but not take any translation.\r
-//\r
-typedef struct {\r
-  UINT8       Type;\r
-  UINT8       Length;\r
-  UINT16      Handle;\r
-} SMBIOS_STRUCTURE_HDR;\r
-\r
-typedef struct {\r
-  SMBIOS_STRUCTURE_HDR          Header;\r
-  UINT8                         RawData[1];\r
-} EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION; \r
-\r
-#define EFI_MISC_SMBIOS_STRUCT_ENCAP_RECORD_NUMBER  0x0000001F \r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-//  Misc. System Event Log  - SMBIOS Type 15\r
-//\r
-#define EFI_MISC_SYSTEM_EVENT_LOG_RECORD_NUMBER 0x00000020\r
-\r
-typedef enum {  \r
-  EfiEventLogTypeReserved1                          = 0,\r
-  EfiEventLogTypeSingleBitEccMemoryError            = 1,\r
-  EfiEventLogTypeMultiBitEccMemoryError             = 2,\r
-  EfiEventLogTypeParityMemoryError                  = 3,\r
-  EfiEventLogTypeBusTimeOut                         = 4,\r
-  EfiEventLogTypeIoChannelCheck                     = 5,\r
-  EfiEventLogTypeSoftwareNmi                        = 6,\r
-  EfiEventLogTypePostMemoryResize                   = 7,\r
-  EfiEventLogTypePostError                          = 8,\r
-  EfiEventLogTypePciParityError                     = 9,\r
-  EfiEventLogTypePciSystemError                     = 0xA,\r
-  EfiEventLogTypeCpuFailure                         = 0xB,\r
-  EfiEventLogTypeEisaFailSafeTimerTimeOut           = 0xC,\r
-  EfiEventLogTypeCorrectableMemoryLogDisabled       = 0xD,\r
-  EfiEventLogTypeLoggingDisabled                    = 0xE,\r
-  EfiEventLogTypeReserved2                          = 0xF,\r
-  EfiEventLogTypeSystemLimitExceeded                = 0x10,\r
-  EfiEventLogTypeAsynchronousHardwareTimerExpired   = 0x11,\r
-  EfiEventLogTypeSystemConfigurationInformation     = 0x12,\r
-  EfiEventLogTypeHardDiskInformation                = 0x13,\r
-  EfiEventLogTypeSystemReconfigured                 = 0x14,\r
-  EfiEventLogTypeUncorrectableCpuComplexError       = 0x15,\r
-  EfiEventLogTypeLogAreaResetCleared                = 0x16,\r
-  EfiEventLogTypeSystemBoot                         = 0x17,\r
-  EfiEventLogTypeEndOfLog                           = 0xFF\r
-} EFI_MISC_LOG_TYPE;\r
-\r
-typedef enum {  \r
-  EfiEventLogDataFormatTypeNone = 0,\r
-  EfiEventLogDataFormatTypeHandle = 1,\r
-  EfiEventLogDataFormatTypeMultipleEvent = 2,\r
-  EfiEventLogDataFormatTypeMultipleEventHandle = 3,\r
-  EfiEventLogDataFormatTypePostResultsBitmap = 4,\r
-  EfiEventLogDataFormatTypeSystemManagement = 5,\r
-  EfiEventLogDataFormatTypeMultipleEventSystemManagement = 6\r
-} EFI_MISC_VARIABLE_DATA_FORMAT_TYPE;\r
-\r
-typedef struct {\r
-  UINT8                 LogType;\r
-  UINT8                 DataFormatType;\r
-} EFI_MISC_EVENT_LOG_TYPE;\r
-\r
-typedef struct {\r
-  UINT16                    LogAreaLength;\r
-  UINT16                    LogHeaderStartOffset;\r
-  UINT16                    LogDataStartOffset;\r
-  UINT8                     AccessMethod;\r
-  UINT8                     LogStatus;\r
-  UINT32                    LogChangeToken;\r
-  UINT32                    AccessMethodAddress;\r
-  UINT8                     LogHeaderFormat;\r
-  UINT8                     NumberOfSupportedLogType;\r
-  UINT8                     LengthOfLogDescriptor;\r
-  EFI_PHYSICAL_ADDRESS      EventLogTypeDescriptors; // Pointer to EFI_MISC_EVENT_LOG_TYPE\r
-} EFI_MISC_SYSTEM_EVENT_LOG;\r
-\r
-//\r
-// Access Method.\r
-//  0x00~0x04:  as following definition\r
-//  0x05~0x7f:  Available for future assignment.\r
-//  0x80~0xff:  BIOS Vendor/OEM-specific.\r
-// \r
-#define ACCESS_INDEXIO_1INDEX8BIT_DATA8BIT    0x00\r
-#define ACCESS_INDEXIO_2INDEX8BIT_DATA8BIT    0X01\r
-#define ACCESS_INDEXIO_1INDEX16BIT_DATA8BIT   0X02\r
-#define ACCESS_MEMORY_MAPPED                  0x03\r
-#define ACCESS_GPNV                           0x04\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-//Management Device Threshold Data Record - SMBIOS Type 36\r
-//\r
-#define EFI_MISC_MANAGEMENT_DEVICE_THRESHOLD_RECORD_NUMBER  0x00000021\r
-\r
-typedef struct {\r
-  UINT16                          LowerThresNonCritical;\r
-  UINT16                          UpperThresNonCritical;\r
-  UINT16                          LowerThresCritical;\r
-  UINT16                          UpperThresCritical;\r
-  UINT16                          LowerThresNonRecover;\r
-  UINT16                          UpperThresNonRecover;\r
-} EFI_MISC_MANAGEMENT_DEVICE_THRESHOLD;\r
-\r
-//\r
-//////////////////////////////////////////////////////////////////////////////\r
-//\r
-//\r
-//\r
-typedef union {\r
-  EFI_MISC_LAST_PCI_BUS                                 LastPciBus;\r
-  EFI_MISC_BIOS_VENDOR                                  MiscBiosVendor;\r
-  EFI_MISC_SYSTEM_MANUFACTURER                          MiscSystemManufacturer;\r
-  EFI_MISC_BASE_BOARD_MANUFACTURER                      MiscBaseBoardManufacturer;\r
-  EFI_MISC_CHASSIS_MANUFACTURER                         MiscChassisManufacturer;  \r
-  EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR           MiscPortInternalConnectorDesignator;\r
-  EFI_MISC_SYSTEM_SLOT_DESIGNATION                      MiscSystemSlotDesignation;\r
-  EFI_MISC_ONBOARD_DEVICE                               MiscOnboardDevice;\r
-  EFI_MISC_OEM_STRING                                   MiscOemString;\r
-  EFI_MISC_SYSTEM_OPTION_STRING                         MiscOptionString;\r
-  EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES              NumberOfInstallableLanguages;\r
-  EFI_MISC_SYSTEM_LANGUAGE_STRING                       MiscSystemLanguageString;\r
-  EFI_MISC_GROUP_NAME_DATA                              MiscGroupNameData;\r
-  EFI_MISC_GROUP_ITEM_SET_DATA                          MiscGroupItemSetData;\r
-  EFI_MISC_SYSTEM_EVENT_LOG                             MiscSystemEventLog;\r
-  EFI_MISC_ONBOARD_DEVICE_TYPE_DATA                     MiscOnboardDeviceTypeData;\r
-  EFI_MISC_PORTABLE_BATTERY                             MiscPortableBattery;\r
-  EFI_MISC_RESET_CAPABILITIES_DATA                      MiscResetCapablilitiesData;\r
-  EFI_MISC_HARDWARE_SECURITY_SETTINGS_DATA              MiscHardwareSecuritySettingsData;\r
-  EFI_MISC_SCHEDULED_POWER_ON_MONTH                     MiscScheduledPowerOnMonth;\r
-  EFI_MISC_VOLTAGE_PROBE_DESCRIPTION                    MiscVoltageProbeDescription;\r
-  EFI_MISC_COOLING_DEVICE_TEMP_LINK                     MiscCoolingDeviceTempLink;\r
-  EFI_MISC_TEMPERATURE_PROBE_DESCRIPTION                MiscTemperatureProbeDescription;\r
-  EFI_MISC_ELECTRICAL_CURRENT_PROBE_DESCRIPTION         MiscElectricalCurrentProbeDescription;\r
-  EFI_MISC_REMOTE_ACCESS_MANUFACTURER_DESCRIPTION       MiscRemoteAccessManufacturerDescription;  \r
-  EFI_MISC_BIS_ENTRY_POINT                              MiscBisEntryPoint;\r
-  EFI_MISC_BOOT_INFORMATION_STATUS                      MiscBootInformationStatus;\r
-  EFI_MISC_MANAGEMENT_DEVICE_DESCRIPTION                MiscManagementDeviceDescription;\r
-  EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION      MiscManagementDeviceComponentDescription;\r
-  EFI_MISC_IPMI_INTERFACE_TYPE_DATA                     MiscIpmiInterfaceTypeData;\r
-  EFI_MISC_SYSTEM_POWER_SUPPLY                          MiscPowerSupplyInfo;\r
-  EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION                  MiscSmbiosStructEncapsulation; \r
-  EFI_MISC_MANAGEMENT_DEVICE_THRESHOLD                  MiscManagementDeviceThreshold;\r
-  EFI_MISC_ADDITIONAL_INFORMATION                       MiscAdditionalInformation;\r
-  EFI_MISC_ONBOARD_DEVICES_EXTENDED_INFORMATION         MiscOnBoardDevicesExtendedInformation;\r
-} EFI_MISC_SUBCLASS_RECORDS;\r
-\r
-//\r
-//\r
-//\r
-typedef struct {\r
-  EFI_SUBCLASS_TYPE1_HEADER       Header;\r
-  EFI_MISC_SUBCLASS_RECORDS       Record;\r
-} EFI_MISC_SUBCLASS_DRIVER_DATA;\r
-\r
-#pragma pack()\r
-\r
-#endif /* _DATAHUB_SUBCLASS_MISC_H_ */\r
-/* eof - DataHubSubClassMisc.h */\r