lazybios 3.0.0
Lightweight SMBIOS/DMI parsing library
Loading...
Searching...
No Matches
Type 16: Physical Memory Array Guide

Physical memory array placement, purpose, capacity, and error handling.

Result set and ownership

lazybiosGetType16 returns a lazybiosType16Array_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 lazybiosFreeType16, or assign it to ctx->Type16 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, maximum_capacity, memory_error_correction, use). The raw value stays alongside it, so both the encoding and its meaning are available.

Location, use, and correction

Decode location, use, and memory_error_correction with decoded.location, decoded.use, and decoded.memory_error_correction. These values describe the physical placement, function, and primary hardware error handling of the complete array.

Capacity fields

maximum_capacity is expressed in KiB. The value 0x80000000 selects the SMBIOS 2.7 extended_maximum_capacity field, which is expressed in bytes. decoded.maximum_capacity applies this selection and returns a byte count. Extended capacity is encoded but unused when the legacy field is not 0x80000000.

Error information handle

memory_error_information_handle references a Type 18 or Type 33 error record. 0xFFFE means that the system does not provide an error-information structure. 0xFFFF means that no error was detected. Both values are preserved and report LAZYBIOS_FIELD_ABSENT because neither references an error-information structure.

Ownership

The returned structure array is allocated by the parser. Release it with lazybiosFreeType16 or assign it to lazybiosCTX::Type16 and use lazybiosCleanup.

See also
Type 16: Physical Memory Array