Temperature-probe placement, health, range, and measurement precision.
lazybiosGetType28 returns a lazybiosType28Array_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 lazybiosFreeType28, or assign it to ctx->Type28 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 (location, status). The raw value stays alongside it, so both the encoding and its meaning are available.
location_and_status combines a five-bit physical location and a three-bit monitored-temperature status. Decode them independently with decoded.location and decoded.status.
maximum_value, minimum_value, tolerance, and nominal_value are expressed in tenths of a degree C. minimum_value is exposed as an int16_t, allowing a probe's lower readable limit to represent a temperature below zero. Its INT16_MIN representation is the raw SMBIOS value 0x8000, which means unknown and is not a temperature. resolution is expressed in thousandths of a degree C, and accuracy is expressed in hundredths of a percent. For the other 16-bit measurement fields, the raw value 0x8000 likewise means unknown and remains present. nominal_value is optional and its availability is determined by the formatted structure length.
Release the returned array and its description strings with lazybiosFreeType28, or assign it to lazybiosCTX::Type28 and use lazybiosCleanup.