dmi_hpe_drive
Synopsis
#include <opendmi/entity/hpe/drive.h>
typedef struct dmi_hpe_drive {
dmi_handle_t correlation_handle;
dmi_hpe_drive_type_t drive_type;
uint64_t unique_id;
uint32_t legacy_capacity;
uint64_t power_on_hours;
uint8_t power;
dmi_hpe_drive_form_factor_t form_factor;
dmi_hpe_drive_health_t health;
const char *serial_number;
const char *model_number;
const char *firmware_revision;
const char *location;
dmi_hpe_encryption_t encryption;
uint64_t capacity;
uint32_t block_size;
uint16_t rotation_speed;
uint16_t negotiated_speed;
uint16_t capable_speed;
} dmi_hpe_drive_t;
Description
The dmi_hpe_drive_t structure holds the decoded HP/HPE hard drive inventory
record, which describes an NVMe or SATA drive attached to the system directly,
which the firmware has found at boot. Drives behind a storage controller, e.g.
a Smart Array one, and the ones plugged in later are not described.
The structure is returned by dmi_entity_info for the structures decoded
by dmi_hpe_drive_spec, of type DMI_TYPE(hpe_drive), 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 Gen10 onwards. It lives as
long as the context it has been decoded in.
The older structures hold the capacity in megabytes only, and capacity is
then zero.
Fields
correlation_handle-
Handle of the device correlation record (type 203).
drive_type-
Type of the drive, see
dmi_hpe_drive_type. unique_id-
Unique ID of the drive: WWID of SATA drives, and IEEE extended unique identifier of NVMe ones.
legacy_capacity-
Capacity of the drive in megabytes.
power_on_hours-
Number of the hours the drive has been powered on for.
power-
Power of the drive in watts, zero if unknown.
form_factor-
Form factor of the drive, see
dmi_hpe_drive_form_factor. health-
Health status of the drive, see
dmi_hpe_drive_health. serial_number-
Serial number of the drive.
model_number-
Model number of the drive.
firmware_revision-
Firmware revision of the drive.
location-
Location of the drive.
encryption-
Encryption status of the drive, as the firmware tells it, see
dmi_hpe_encryption. Set toUINT8_MAXwhen the structure holds none. capacity-
Capacity of the drive in bytes, zero if the structure holds none.
block_size-
Size of a logical block in bytes, zero if the structure holds none.
rotation_speed-
Nominal rotation speed in RPM: zero if not reported, and one for solid state drives.
negotiated_speed-
Negotiated speed of the bus in Gbit/s, zero if unknown.
capable_speed-
Fastest speed of the bus the drive is capable of in Gbit/s, zero if unknown.