dmi_hpe_version

Synopsis

#include <opendmi/entity/hpe/version.h>

typedef struct dmi_hpe_version {
    dmi_hpe_firmware_type_t firmware_type;
    const char *firmware_name;
    const char *version_string;
    uint8_t data_format;
    uint8_t version_data[12];
    char *version;
    uint16_t unique_id;
} dmi_hpe_version_t;

Description

The dmi_hpe_version_t structure holds the decoded HP/HPE version indicator record, which tells the version of a firmware component of the server, e.g. of a CPLD or of a power management controller. There is a record for each component.

The structure is returned by dmi_entity_info for the structures decoded by dmi_hpe_version_spec, of type DMI_TYPE(hpe_version), declared in <opendmi/module/hpe.h>, once the HPE extension module (dmi_hpe_module) is enabled, which it is for HP and HPE servers from Gen8 onwards. It lives as long as the context it has been decoded in.

The version data is formatted into version the way HPE tools show it. Format 5 is laid out differently on Gen9 and on Gen10 and Gen10 Plus servers, and is not formatted on the others.

Fields

firmware_type

Firmware component, see dmi_hpe_firmware_type.

firmware_name

Name of the firmware.

version_string

Version of the firmware, as a string.

data_format

Format of version_data, zero if there is none.

version_data

Version of the firmware, in the format data_format tells.

version

Version of the firmware formatted from version_data, or nullptr if there is none or its format is not known. The string belongs to the structure, and is freed along with it.

unique_id

Unique ID of the firmware flash, zero if none.

Standards

Not part of the SMBIOS specification. Defined by HP and HPE for their servers; the layout is the one dmidecode documents.