datahubgen.h

来自「EFI BIOS是Intel提出的下一代的BIOS标准。这里上传的Edk源代码是」· C头文件 代码 · 共 611 行 · 第 1/2 页

H
611
字号
  SMBIOS_TABLE_STRING   SerialNumber;
  SMBIOS_TABLE_STRING   AssetTag;
  SMBIOS_TABLE_STRING   PartNumber;
} SMBIOS_TABLE_TYPE17;

typedef struct {
  SMBIOS_TABLE_HEADER   Hdr;
  UINT8                 ErrorType;
  UINT8                 ErrorGranularity;
  UINT8                 ErrorOperation;
  UINT32                VendorSyndrome;
  UINT32                MemoryArrayErrorAddress;
  UINT32                DeviceErrorAddress;
  UINT32                ErrorResolution;
} SMBIOS_TABLE_TYPE18;

typedef struct {
  SMBIOS_TABLE_HEADER   Hdr;
  UINT32                StartingAddress;
  UINT32                EndingAddress;
  UINT16                MemoryArrayHandle;
  UINT8                 PartitionWidth;
} SMBIOS_TABLE_TYPE19;

typedef struct {
  SMBIOS_TABLE_HEADER   Hdr;
  UINT32                StartingAddress;
  UINT32                EndingAddress;
  UINT16                MemoryDeviceHandle;
  UINT16                MemoryArrayMappedAddressHandle;
  UINT8                 PartitionRowPosition;
  UINT8                 InterleavePosition;
  UINT8                 InterleavedDataDepth;
} SMBIOS_TABLE_TYPE20;

typedef struct {
  SMBIOS_TABLE_HEADER   Hdr;
  UINT8                 Type;
  UINT8                 Interface;
  UINT8                 NumberOfButtons;
} SMBIOS_TABLE_TYPE21;

typedef struct {
  SMBIOS_TABLE_HEADER   Hdr;
  SMBIOS_TABLE_STRING   Location;
  SMBIOS_TABLE_STRING   Manufacturer;
  SMBIOS_TABLE_STRING   ManufactureDate;
  SMBIOS_TABLE_STRING   SerialNumber;
  SMBIOS_TABLE_STRING   DeviceName;
  UINT8                 DeviceChemistry;
  UINT16                DeviceCapacity;
  UINT16                DesignVoltage;
  SMBIOS_TABLE_STRING   SBDSVersionNumber;
  UINT8                 MaximumErrorInBatteryData;
  UINT16                SBDSSerialNumber;
  UINT16                SBDSManufactureDate;
  SMBIOS_TABLE_STRING   SBDSDeviceChemistry;
  UINT8                 DesignCapacityMultiplier;
  UINT32                OEMSpecific;
} SMBIOS_TABLE_TYPE22;

typedef struct {
  SMBIOS_TABLE_HEADER   Hdr;
  UINT8                 Capabilities;
  UINT16                ResetCount;
  UINT16                ResetLimit;
  UINT16                TimerInterval;
  UINT16                Timeout;
} SMBIOS_TABLE_TYPE23;

typedef struct {
  SMBIOS_TABLE_HEADER   Hdr;
  UINT8                 HardwareSecuritySettings;
} SMBIOS_TABLE_TYPE24;

typedef struct {
  SMBIOS_TABLE_HEADER   Hdr;
  UINT8                 NextScheduledPowerOnMonth;
  UINT8                 NextScheduledPowerOnDayOfMonth;
  UINT8                 NextScheduledPowerOnHour;
  UINT8                 NextScheduledPowerOnMinute;
  UINT8                 NextScheduledPowerOnSecond;
} SMBIOS_TABLE_TYPE25;

typedef struct {
  SMBIOS_TABLE_HEADER   Hdr;
  SMBIOS_TABLE_STRING   Description;
  UINT8                 LocationAndStatus;
  UINT16                MaximumValue;
  UINT16                MinimumValue;
  UINT16                Resolution;
  UINT16                Tolerance;
  UINT16                Accuracy;
  UINT32                OEMDefined;
  UINT16                NominalValue;
} SMBIOS_TABLE_TYPE26;

typedef struct {
  SMBIOS_TABLE_HEADER   Hdr;
  UINT16                TemperatureProbeHandle;
  UINT8                 DeviceTypeAndStatus;
  UINT8                 CoolingUnitGroup;
  UINT32                OEMDefined;
  UINT16                NominalSpeed;
} SMBIOS_TABLE_TYPE27;

typedef struct {
  SMBIOS_TABLE_HEADER   Hdr;
  SMBIOS_TABLE_STRING   Description;
  UINT8                 LocationAndStatus;
  UINT16                MaximumValue;
  UINT16                MinimumValue;
  UINT16                Resolution;
  UINT16                Tolerance;
  UINT16                Accuracy;
  UINT32                OEMDefined;
  UINT16                NominalValue;
} SMBIOS_TABLE_TYPE28;

typedef struct {
  SMBIOS_TABLE_HEADER   Hdr;
  SMBIOS_TABLE_STRING   Description;
  UINT8                 LocationAndStatus;
  UINT16                MaximumValue;
  UINT16                MinimumValue;
  UINT16                Resolution;
  UINT16                Tolerance;
  UINT16                Accuracy;
  UINT32                OEMDefined;
  UINT16                NominalValue;
} SMBIOS_TABLE_TYPE29;

typedef struct {
  SMBIOS_TABLE_HEADER   Hdr;
  SMBIOS_TABLE_STRING   ManufacturerName;
  UINT8                 Connections;
} SMBIOS_TABLE_TYPE30;

typedef struct {
  SMBIOS_TABLE_HEADER   Hdr;
  UINT8                 Checksum;
  UINT8                 Reserved1;
  UINT16                Reserved2;
  UINT32                BisEntry16;
  UINT32                BisEntry32;
  UINT64                Reserved3;
  UINT32                Reserved4;
} SMBIOS_TABLE_TYPE31;

typedef struct {
  SMBIOS_TABLE_HEADER   Hdr;
  UINT8                 Reserved[6];
  UINT8                 BootStatus[1];
} SMBIOS_TABLE_TYPE32;

typedef struct {
  SMBIOS_TABLE_HEADER   Hdr;
  UINT8                 ErrorType;
  UINT8                 ErrorGranularity;
  UINT8                 ErrorOperation;
  UINT32                VendorSyndrome;
  UINT64                MemoryArrayErrorAddress;
  UINT64                DeviceErrorAddress;
  UINT32                ErrorResolution;
} SMBIOS_TABLE_TYPE33;

typedef struct {
  SMBIOS_TABLE_HEADER   Hdr;
  SMBIOS_TABLE_STRING   Description;
  UINT8                 Type;
  UINT32                Address;
  UINT8                 AddressType;
} SMBIOS_TABLE_TYPE34;

typedef struct {
  SMBIOS_TABLE_HEADER   Hdr;
  SMBIOS_TABLE_STRING   Description;
  UINT16                ManagementDeviceHandle;
  UINT16                ComponentHandle;
  UINT16                ThresholdHandle;
} SMBIOS_TABLE_TYPE35;

typedef struct {
  SMBIOS_TABLE_HEADER   Hdr;
  UINT16                LowerThresholdNonCritical;
  UINT16                UpperThresholdNonCritical;
  UINT16                LowerThresholdCritical;
  UINT16                UpperThresholdCritical;
  UINT16                LowerThresholdNonRecoverable;
  UINT16                UpperThresholdNonRecoverable;
} SMBIOS_TABLE_TYPE36;

typedef struct {
  UINT8                 DeviceLoad;
  UINT16                DeviceHandle;
} MEMORY_DEVICE;

typedef struct {
  SMBIOS_TABLE_HEADER   Hdr;
  UINT8                 ChannelType;
  UINT8                 MaximumChannelLoad;
  UINT8                 MemoryDeviceCount;
  MEMORY_DEVICE         MemoryDevice[1];
} SMBIOS_TABLE_TYPE37;

typedef struct {
  SMBIOS_TABLE_HEADER   Hdr;
  UINT8                 InterfaceType;
  UINT8                 IPMISpecificationRevision;
  UINT8                 I2CSlaveAddress;
  UINT8                 NVStorageDeviceAddress;
  UINT64                BaseAddress;
  UINT8                 BaseAddressModifier_InterruptInfo;
  UINT8                 InterruptNumber;
} SMBIOS_TABLE_TYPE38;

typedef struct {
  SMBIOS_TABLE_HEADER   Hdr;
  UINT8                 PowerUnitGroup;
  SMBIOS_TABLE_STRING   Location;
  SMBIOS_TABLE_STRING   DeviceName;
  SMBIOS_TABLE_STRING   Manufacturer;
  SMBIOS_TABLE_STRING   SerialNumber;
  SMBIOS_TABLE_STRING   AssetTagNumber;
  SMBIOS_TABLE_STRING   ModelPartNumber;
  SMBIOS_TABLE_STRING   RevisionLevel;
  UINT16                MaxPowerCapacity;
  UINT16                PowerSupplyCharacteristics;
  UINT16                InputVoltageProbeHandle;
  UINT16                CoolingDeviceHandle;
  UINT16                InputCurrentProbeHandle;
} SMBIOS_TABLE_TYPE39;

typedef struct {
  SMBIOS_TABLE_HEADER   Hdr;
} SMBIOS_TABLE_TYPE126;

typedef struct {
  SMBIOS_TABLE_HEADER   Hdr;
} SMBIOS_TABLE_TYPE127;

typedef union {
  SMBIOS_TABLE_HEADER   *Hdr;
  SMBIOS_TABLE_TYPE0    *Type0;
  SMBIOS_TABLE_TYPE1    *Type1;
  SMBIOS_TABLE_TYPE2    *Type2;
  SMBIOS_TABLE_TYPE3    *Type3;
  SMBIOS_TABLE_TYPE4    *Type4;
  SMBIOS_TABLE_TYPE5    *Type5;
  SMBIOS_TABLE_TYPE6    *Type6;
  SMBIOS_TABLE_TYPE7    *Type7;
  SMBIOS_TABLE_TYPE8    *Type8;
  SMBIOS_TABLE_TYPE9    *Type9;
  SMBIOS_TABLE_TYPE10   *Type10;
  SMBIOS_TABLE_TYPE11   *Type11;
  SMBIOS_TABLE_TYPE12   *Type12;
  SMBIOS_TABLE_TYPE13   *Type13;
  SMBIOS_TABLE_TYPE14   *Type14;
  SMBIOS_TABLE_TYPE15   *Type15;
  SMBIOS_TABLE_TYPE16   *Type16;
  SMBIOS_TABLE_TYPE17   *Type17;
  SMBIOS_TABLE_TYPE18   *Type18;
  SMBIOS_TABLE_TYPE19   *Type19;
  SMBIOS_TABLE_TYPE20   *Type20;
  SMBIOS_TABLE_TYPE21   *Type21;
  SMBIOS_TABLE_TYPE22   *Type22;
  SMBIOS_TABLE_TYPE23   *Type23;
  SMBIOS_TABLE_TYPE24   *Type24;
  SMBIOS_TABLE_TYPE25   *Type25;
  SMBIOS_TABLE_TYPE26   *Type26;
  SMBIOS_TABLE_TYPE27   *Type27;
  SMBIOS_TABLE_TYPE28   *Type28;
  SMBIOS_TABLE_TYPE29   *Type29;
  SMBIOS_TABLE_TYPE30   *Type30;
  SMBIOS_TABLE_TYPE31   *Type31;
  SMBIOS_TABLE_TYPE32   *Type32;
  SMBIOS_TABLE_TYPE33   *Type33;
  SMBIOS_TABLE_TYPE34   *Type34;
  SMBIOS_TABLE_TYPE35   *Type35;
  SMBIOS_TABLE_TYPE36   *Type36;
  SMBIOS_TABLE_TYPE37   *Type37;
  SMBIOS_TABLE_TYPE38   *Type38;
  SMBIOS_TABLE_TYPE39   *Type39;
  SMBIOS_TABLE_TYPE126  *Type126;
  SMBIOS_TABLE_TYPE127  *Type127;
  UINT8                 *Raw;
} SMBIOS_STRUCTURE_POINTER;

#pragma pack()

SMBIOS_STRUCTURE_POINTER
GetSmbiosTableFromType (
  IN VOID                  *Smbios,
  IN UINT8                 Type,
  IN UINTN                 Index
  );

CHAR8 *
GetSmbiosString (
  IN SMBIOS_STRUCTURE_POINTER  SmbiosTable,
  IN SMBIOS_TABLE_STRING       String
  );

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?