datahubsubclassmisc.h
来自「EFI BIOS是Intel提出的下一代的BIOS标准。这里上传的Edk源代码是」· C头文件 代码 · 共 844 行 · 第 1/2 页
H
844 行
EfiSlotDataBusWidth64Bit = 6,
EfiSlotDataBusWidth128Bit = 7,
EfiSlotDataBusWidth1xOrx1 = 8,
EfiSlotDataBusWidth2xOrx2 = 9,
EfiSlotDataBusWidth4xOrx4 = 0xA,
EfiSlotDataBusWidth8xOrx8 = 0xB,
EfiSlotDataBusWidth12xOrx12 = 0xC,
EfiSlotDataBusWidth16xOrx16 = 0xD,
EfiSlotDataBusWidth32xOrx32 = 0xE,
} EFI_MISC_SLOT_DATA_BUS_WIDTH;
typedef enum {
EfiSlotUsageOther = 1,
EfiSlotUsageUnknown = 2,
EfiSlotUsageAvailable = 3,
EfiSlotUsageInUse = 4,
} EFI_MISC_SLOT_USAGE;
typedef enum {
EfiSlotLengthOther = 1,
EfiSlotLengthUnknown = 2,
EfiSlotLengthShort = 3,
EfiSlotLengthLong = 4
} EFI_MISC_SLOT_LENGTH;
typedef struct {
UINT32 CharacteristicsUnknown :1;
UINT32 Provides50Volts :1;
UINT32 Provides33Volts :1;
UINT32 SharedSlot :1;
UINT32 PcCard16Supported :1;
UINT32 CardBusSupported :1;
UINT32 ZoomVideoSupported :1;
UINT32 ModemRingResumeSupported:1;
UINT32 PmeSignalSupported :1;
UINT32 HotPlugDevicesSupported :1;
UINT32 SmbusSignalSupported :1;
UINT32 Reserved :21;
} EFI_MISC_SLOT_CHARACTERISTICS;
typedef struct {
STRING_REF SlotDesignation;
EFI_MISC_SLOT_TYPE SlotType;
EFI_MISC_SLOT_DATA_BUS_WIDTH SlotDataBusWidth;
EFI_MISC_SLOT_USAGE SlotUsage;
EFI_MISC_SLOT_LENGTH SlotLength;
UINT16 SlotId;
EFI_MISC_SLOT_CHARACTERISTICS SlotCharacteristics;
EFI_DEVICE_PATH_PROTOCOL SlotDevicePath;
} EFI_MISC_SYSTEM_SLOT_DESIGNATION;
//
//////////////////////////////////////////////////////////////////////////////
//
// Misc. Onboard Device - SMBIOS Type 10
//
#define EFI_MISC_ONBOARD_DEVICE_RECORD_NUMBER 0x00000008
typedef enum {
EfiOnBoardDeviceTypeOther = 1,
EfiOnBoardDeviceTypeUnknown = 2,
EfiOnBoardDeviceTypeVideo = 3,
EfiOnBoardDeviceTypeScsiController = 4,
EfiOnBoardDeviceTypeEthernet = 5,
EfiOnBoardDeviceTypeTokenRing = 6,
EfiOnBoardDeviceTypeSound = 7,
} EFI_MISC_ONBOARD_DEVICE_TYPE;
typedef struct {
UINT32 DeviceType :16;
UINT32 DeviceEnabled :1;
UINT32 Reserved :15;
} EFI_MISC_ONBOARD_DEVICE_STATUS;
typedef struct {
STRING_REF OnBoardDeviceDescription;
EFI_MISC_ONBOARD_DEVICE_STATUS OnBoardDeviceStatus;
EFI_DEVICE_PATH_PROTOCOL OnBoardDevicePath;
} EFI_MISC_ONBOARD_DEVICE;
//
//////////////////////////////////////////////////////////////////////////////
//
// Misc. BIOS Language Information - SMBIOS Type 11
//
#define EFI_MISC_OEM_STRING_RECORD_NUMBER 0x00000009
typedef struct {
STRING_REF OemStringRef[1];
} EFI_MISC_OEM_STRING;
//
//////////////////////////////////////////////////////////////////////////////
//
// Misc. System Options - SMBIOS Type 12
//
typedef struct {
STRING_REF SystemOptionStringRef[1];
} EFI_MISC_SYSTEM_OPTION_STRING;
#define EFI_MISC_SYSTEM_OPTION_STRING_RECORD_NUMBER 0x0000000A
//
//////////////////////////////////////////////////////////////////////////////
//
// Misc. Number of Installable Languages - SMBIOS Type 13
//
#define EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES_RECORD_NUMBER 0x0000000B
typedef struct {
UINT32 AbbreviatedLanguageFormat :1;
UINT32 Reserved :31;
} EFI_MISC_LANGUAGE_FLAGS;
typedef struct {
UINT16 NumberOfInstallableLanguages;
EFI_MISC_LANGUAGE_FLAGS LanguageFlags;
UINT16 CurrentLanguageNumber;
} EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES;
//
//////////////////////////////////////////////////////////////////////////////
//
// Misc. System Language String
//
#define EFI_MISC_SYSTEM_LANGUAGE_STRING_RECORD_NUMBER 0x0000000C
typedef struct {
UINT16 LanguageId;
STRING_REF SystemLanguageString;
} EFI_MISC_SYSTEM_LANGUAGE_STRING;
//
//////////////////////////////////////////////////////////////////////////////
//
// Misc. System Event Log - SMBIOS Type 15
//
#define EFI_MISC_SYSTEM_EVENT_LOG_RECORD_NUMBER 0x0000000D
typedef struct {
//SMBIOS_STRUCTURE_HDR Header;
UINT16 LogAreaLength;
UINT16 LogHeaderStartOffset;
UINT16 LogDataStartOffset;
UINT8 AccessMethod;
UINT8 LogStatus;
UINT32 LogChangeToken;
UINT32 AccessMethodAddress;
UINT8 LogHeaderFormat;
UINT8 NumberOfSupportedLogType;
UINT8 LengthOfLogDescriptor;
} EFI_MISC_SYSTEM_EVENT_LOG;
//
// Access Method.
// 0x00~0x04: as following definition
// 0x05~0x7f: Available for future assignment.
// 0x80~0xff: BIOS Vendor/OEM-specific.
//
#define ACCESS_INDEXIO_1INDEX8BIT_DATA8BIT 0x00
#define ACCESS_INDEXIO_2INDEX8BIT_DATA8BIT 0X01
#define ACCESS_INDEXIO_1INDEX16BIT_DATA8BIT 0X02
#define ACCESS_MEMORY_MAPPED 0x03
#define ACCESS_GPNV 0x04
//
//////////////////////////////////////////////////////////////////////////////
//
// Misc. Pointing Device Type - SMBIOS Type 21
//
#define EFI_MISC_POINTING_DEVICE_TYPE_RECORD_NUMBER 0x0000000F
typedef enum {
EfiPointingDeviceTypeOther = 1,
EfiPointingDeviceTypeUnknown = 2,
EfiPointingDeviceTypeMouse = 3,
EfiPointingDeviceTypeTrackBall = 4,
EfiPointingDeviceTypeTrackPoint = 5,
EfiPointingDeviceTypeGlidePoint = 6,
EfiPointingDeviceTouchPad = 7,
EfiPointingDeviceTouchScreen = 8,
EfiPointingDeviceOpticalSensor = 9,
} EFI_MISC_POINTING_DEVICE_TYPE;
typedef enum {
EfiPointingDeviceInterfaceOther = 1,
EfiPointingDeviceInterfaceUnknown = 2,
EfiPointingDeviceInterfaceSerial = 3,
EfiPointingDeviceInterfacePs2 = 4,
EfiPointingDeviceInterfaceInfrared = 5,
EfiPointingDeviceInterfaceHpHil = 6,
EfiPointingDeviceInterfaceBusMouse = 7,
EfiPointingDeviceInterfaceADB = 8,
EfiPointingDeviceInterfaceBusMouseDB9 = 0xA0,
EfiPointingDeviceInterfaceBusMouseMicroDin = 0xA1,
EfiPointingDeviceInterfaceUsb = 0xA2,
} EFI_MISC_POINTING_DEVICE_INTERFACE;
typedef struct {
EFI_MISC_POINTING_DEVICE_TYPE PointingDeviceType;
EFI_MISC_POINTING_DEVICE_INTERFACE PointingDeviceInterface;
UINT16 NumberPointingDeviceButtons;
EFI_DEVICE_PATH_PROTOCOL PointingDevicePath;
} EFI_MISC_ONBOARD_DEVICE_TYPE_DATA;
//
//////////////////////////////////////////////////////////////////////////////
//
// Misc. Reset Capabilities - SMBIOS Type 23
//
#define EFI_MISC_RESET_CAPABILITIES_RECORD_NUMBER 0x00000011
typedef struct {
UINT32 Status :1;
UINT32 BootOption :2;
UINT32 BootOptionOnLimit :2;
UINT32 WatchdogTimerPresent:1;
UINT32 Reserved :26;
} EFI_MISC_RESET_CAPABILITIES_TYPE;
typedef struct {
EFI_MISC_RESET_CAPABILITIES_TYPE ResetCapabilities;
UINT16 ResetCount;
UINT16 ResetLimit;
UINT16 ResetTimerInterval;
UINT16 ResetTimeout;
} EFI_MISC_RESET_CAPABILITIES;
typedef struct {
EFI_MISC_RESET_CAPABILITIES ResetCapabilities;
UINT16 ResetCount;
UINT16 ResetLimit;
UINT16 ResetTimerInterval;
UINT16 ResetTimeout;
} EFI_MISC_RESET_CAPABILITIES_DATA;
//
//////////////////////////////////////////////////////////////////////////////
//
// Misc. Hardware Security - SMBIOS Type 24
//
#define EFI_MISC_HARDWARE_SECURITY_RECORD_NUMBER 0x00000012
typedef enum {
EfiHardwareSecurityStatusDisabled = 0,
EfiHardwareSecurityStatusEnabled = 1,
EfiHardwareSecurityStatusNotImplemented = 2,
EfiHardwareSecurityStatusUnknown = 3
} EFI_MISC_HARDWARE_SECURITY_STATUS;
typedef struct {
EFI_MISC_HARDWARE_SECURITY_STATUS FrontPanelResetStatus :2;
EFI_MISC_HARDWARE_SECURITY_STATUS AdministratorPasswordStatus :2;
EFI_MISC_HARDWARE_SECURITY_STATUS KeyboardPasswordStatus :2;
EFI_MISC_HARDWARE_SECURITY_STATUS PowerOnPasswordStatus :2;
EFI_MISC_HARDWARE_SECURITY_STATUS Reserved :24;
} EFI_MISC_HARDWARE_SECURITY_SETTINGS;
typedef struct {
EFI_MISC_HARDWARE_SECURITY_SETTINGS HardwareSecuritySettings;
} EFI_MISC_HARDWARE_SECURITY_SETTINGS_DATA;
//
//////////////////////////////////////////////////////////////////////////////
//
// Misc. BIS Entry Point - SMBIOS Type 31
//
#define EFI_MISC_BIS_ENTRY_POINT_RECORD_NUMBER 0x00000019
typedef struct {
EFI_PHYSICAL_ADDRESS BisEntryPoint;
} EFI_MISC_BIS_ENTRY_POINT;
//
//////////////////////////////////////////////////////////////////////////////
//
// Misc. Boot Information - SMBIOS Type 32
//
#define EFI_MISC_BOOT_INFORMATION_STATUS_RECORD_NUMBER 0x0000001A
typedef enum {
EfiBootInformationStatusNoError = 0,
EfiBootInformationStatusNoBootableMedia = 1,
EfiBootInformationStatusNormalOSFailedLoading = 2,
EfiBootInformationStatusFirmwareDetectedFailure = 3,
EfiBootInformationStatusOSDetectedFailure = 4,
EfiBootInformationStatusUserRequestedBoot = 5,
EfiBootInformationStatusSystemSecurityViolation = 6,
EfiBootInformationStatusPreviousRequestedImage = 7,
EfiBootInformationStatusWatchdogTimerExpired = 8,
EfiBootInformationStatusStartReserved = 9,
EfiBootInformationStatusStartOemSpecific = 128,
EfiBootInformationStatusStartProductSpecific = 192,
} EFI_MISC_BOOT_INFORMATION_STATUS_TYPE;
typedef struct {
EFI_MISC_BOOT_INFORMATION_STATUS_TYPE BootInformationStatus;
UINT8 BootInformationData[9];
} EFI_MISC_BOOT_INFORMATION_STATUS;
//
//////////////////////////////////////////////////////////////////////////////
//
// IPMI Data Record - SMBIOS Type 38
//
typedef enum {
EfiIpmiOther = 0,
EfiIpmiKcs = 1,
EfiIpmiSmic = 2,
EfiIpmiBt = 3,
} EFI_MISC_IPMI_INTERFACE_TYPE;
typedef struct {
UINT16 IpmiSpecLeastSignificantDigit:4;
UINT16 IpmiSpecMostSignificantDigit:4;
UINT16 Reserved:8;
} EFI_MISC_IPMI_SPECIFICATION_REVISION;
typedef struct {
EFI_MISC_IPMI_INTERFACE_TYPE IpmiInterfaceType;
EFI_MISC_IPMI_SPECIFICATION_REVISION IpmiSpecificationRevision;
UINT16 IpmiI2CSlaveAddress;
UINT16 IpmiNvDeviceAddress;
UINT64 IpmiBaseAddress;
EFI_DEVICE_PATH_PROTOCOL IpmiDevicePath;
} EFI_MISC_IPMI_INTERFACE_TYPE_DATA;
#define EFI_MISC_IPMI_INTERFACE_TYPE_RECORD_NUMBER 0x0000001D
//
//////////////////////////////////////////////////////////////////////////////
//
//System Power supply Record - SMBIOS Type 39
//
typedef struct {
UINT16 PowerSupplyHotReplaceable :1;
UINT16 PowerSupplyPresent :1;
UINT16 PowerSupplyUnplugged :1;
UINT16 InputVoltageRangeSwitch :4;
UINT16 PowerSupplyStatus :3;
UINT16 PowerSupplyType :4;
UINT16 Reserved :2;
} POWER_SUPPLY_CHARACTERISTICS;
typedef struct {
UINT16 PowerUnitGroup;
STRING_REF PowerSupplyLocation;
STRING_REF PowerSupplyDeviceName;
STRING_REF PowerSupplyManufacturer;
STRING_REF PowerSupplySerialNumber;
STRING_REF PowerSupplyAssetTagNumber;
STRING_REF PowerSupplyModelPartNumber;
STRING_REF PowerSupplyRevisionLevel;
UINT16 PowerSupplyMaxPowerCapacity;
POWER_SUPPLY_CHARACTERISTICS PowerSupplyCharacteristics;
EFI_INTER_LINK_DATA PowerSupplyInputVoltageProbeLink;
EFI_INTER_LINK_DATA PowerSupplyCoolingDeviceLink;
EFI_INTER_LINK_DATA PowerSupplyInputCurrentProbeLink;
} EFI_MISC_SYSTEM_POWER_SUPPLY;
#define EFI_MISC_SYSTEM_POWER_SUPPLY_RECORD_NUMBER 0x0000001E
//
//////////////////////////////////////////////////////////////////////////////
//
// Generic Data Record - All SMBIOS Type
// Put smbios raw data into one datahub record directly. Smbios driver would
// copy smbios raw data into smbios table but not take any translation.
//
typedef struct {
UINT8 Type;
UINT8 Length;
UINT16 Handle;
} SMBIOS_STRUCTURE_HDR;
typedef struct {
SMBIOS_STRUCTURE_HDR Header;
UINT8 RawData[1];
} EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION;
#define EFI_MISC_SMBIOS_STRUCT_ENCAP_RECORD_NUMBER 0x0000001F
//
//////////////////////////////////////////////////////////////////////////////
//
//
//
typedef union {
EFI_MISC_LAST_PCI_BUS LastPciBus;
EFI_MISC_BIOS_VENDOR MiscBiosVendor;
EFI_MISC_SYSTEM_MANUFACTURER MiscSystemManufacturer;
EFI_MISC_BASE_BOARD_MANUFACTURER MiscBaseBoardManufacturer;
EFI_MISC_CHASSIS_MANUFACTURER MiscChassisManufacturer;
EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR MiscPortInternalConnectorDesignator;
EFI_MISC_SYSTEM_SLOT_DESIGNATION MiscSystemSlotDesignation;
EFI_MISC_ONBOARD_DEVICE MiscOnboardDevice;
EFI_MISC_OEM_STRING MiscOemString;
EFI_MISC_SYSTEM_OPTION_STRING MiscOptionString;
EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES NumberOfInstallableLanguages;
EFI_MISC_SYSTEM_LANGUAGE_STRING MiscSystemLanguageString;
EFI_MISC_SYSTEM_EVENT_LOG MiscSystemEventLog;
EFI_MISC_ONBOARD_DEVICE_TYPE_DATA MiscOnboardDeviceTypeData;
EFI_MISC_RESET_CAPABILITIES_DATA MiscResetCapablilitiesData;
EFI_MISC_HARDWARE_SECURITY_SETTINGS_DATA MiscHardwareSecuritySettingsData;
EFI_MISC_BIS_ENTRY_POINT MiscBisEntryPoint;
EFI_MISC_BOOT_INFORMATION_STATUS MiscBootInformationStatus;
EFI_MISC_IPMI_INTERFACE_TYPE_DATA MiscIpmiInterfaceTypeData;
EFI_MISC_SYSTEM_POWER_SUPPLY MiscPowerSupplyInfo;
EFI_MISC_SMBIOS_STRUCT_ENCAPSULATION MiscSmbiosStructEncapsulation;
} EFI_MISC_SUBCLASS_RECORDS;
//
//
//
typedef struct {
EFI_SUBCLASS_TYPE1_HEADER Header;
EFI_MISC_SUBCLASS_RECORDS Record;
} EFI_MISC_SUBCLASS_DRIVER_DATA;
#pragma pack()
#endif /* _DATAHUB_SUBCLASS_MISC_H_ */
/* eof - DataHubSubClassMisc.h */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?