lazybios 3.0.0
Lightweight SMBIOS/DMI parsing library
Loading...
Searching...
No Matches
Type 27: Cooling Device Guide

Cooling-device classification, health, redundancy, and speed information.

Result set and ownership

lazybiosGetType27 returns a lazybiosType27Array_t holding every matching structure. Iterate entries using count. A non-NULL result whose count is zero means the table contains no structure of this type; NULL means the arguments were unusable or an allocation failed. Release the set with lazybiosFreeType27, or assign it to ctx->Type27 and let lazybiosCleanup own it.

Every record carries its own SMBIOS handle and the structure length the firmware reported.

Encoded fields are decoded during parsing into decoded, which mirrors the raw member names (device_type, status). The raw value stays alongside it, so both the encoding and its meaning are available.

Device type and status

device_type_and_status combines a five-bit cooling-device type and a three-bit device status. Decode them independently with decoded.device_type and decoded.status.

Relationships and redundancy

temperature_probe_handle identifies the Type 28 probe monitoring the cooling device. A zero cooling_unit_group means that the device is not a member of a redundant cooling unit. Matching nonzero group values identify cooling devices in the same redundant unit. A temperature-probe handle of 0xFFFF is preserved and marked absent.

Speed and description

nominal_speed is expressed in revolutions per minute. The raw value 0x8000 means that the speed is unknown or that the device does not rotate. The description field is available in SMBIOS 2.7 and newer when the formatted structure is at least 0Fh bytes long.

Ownership

Release the returned array and its description strings with lazybiosFreeType27, or assign it to lazybiosCTX::Type27 and use lazybiosCleanup.

See also
Type 27: Cooling Device