dmi_dell_revisions

Synopsis

#include <opendmi/entity/dell/revisions.h>

typedef struct dmi_dell_revisions {
    dmi_version_t implementation_version;
    uint16_t system_id;
    uint8_t hardware_revision;
    const char *manufacture_date;
    const char *first_poweron_date;
} dmi_dell_revisions_t;

Description

The dmi_dell_revisions_t structure holds the decoded Dell revisions and IDs structure (type 208): the revision of the Dell implementation of the firmware tables, the identifier and the hardware revision of the system, and the dates of its manufacture and first power-on.

The structure is returned by dmi_entity_info for the structures of type DMI_TYPE(dell_revisions), declared in <opendmi/module/dell.h>, and lives as long as the context it has been decoded in.

Fields

implementation_version

Revision of the Dell implementation, as a version number with the major and the minor numbers set and a revision number of 0.

system_id

Dell system identifier. When the one-byte identifier holds 0xFE, the structure carries the identifier in a 16-bit extension, which the field then holds; it stays 0xFE when the structure is too short to carry the extension.

hardware_revision

Hardware revision of the system.

manufacture_date

Manufacture date of the system, as a string in the format of the firmware. nullptr when the structure is too short to carry it, or carries no string.

first_poweron_date

Date the system was first powered on, as a string in the format of the firmware. nullptr when the structure is too short to carry it, or carries no string.

Examples

dmi_registry_t       *registry = dmi_get_registry(context);
dmi_entity_t         *entity   = dmi_registry_lookup_first(registry,
                                     DMI_TYPE(dell_revisions), true);
dmi_dell_revisions_t *rev      = dmi_entity_info(entity,
                                     DMI_TYPE(dell_revisions));

if (rev != nullptr) {
    printf("Dell implementation %u.%u, system ID 0x%04x\n",
           dmi_version_major(rev->implementation_version),
           dmi_version_minor(rev->implementation_version), rev->system_id);
}

Standards

Not part of the SMBIOS specification. Defined by Dell firmware, see the Dell Revisions and IDs (Type 208) chapter of the reference manual.