lazybios 3.0.0
Lightweight SMBIOS/DMI parsing library
Loading...
Searching...
No Matches
Type 5: Memory Controller Information Guide

Legacy memory-controller capability and module-socket information.

Result set and ownership

lazybiosGetType5 returns a lazybiosType5Array_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 lazybiosFreeType5, or assign it to ctx->Type5 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 (current_interleave, error_detecting_method, supported_interleave). The raw value stays alongside it, so both the encoding and its meaning are available.

Array result and handles

lazybiosGetType5 returns every Memory Controller Information structure into a result set. number_of_associated_memory_slots determines the number of entries in memory_module_configuration_handles. Each handle references an obsolete Type 6 Memory Module Information structure. The handle array is available only when the complete declared array is encoded.

Capabilities

Decode error_detecting_method with decoded.error_detecting_method. Supported and enabled correction flags use decoded.error_correcting_capability. Interleave values, speeds, memory types, and socket voltages have corresponding Type 5 decoder functions. maximum_memory_module_size is an exponent: 2^n is the maximum supported module size per slot in MiB.

enabled_error_correcting_capabilities is present only in the SMBIOS 2.1 layout. Its offset follows the variable-length handle array.

Ownership

Release the returned structures and their handle arrays with lazybiosFreeType5, or assign them to lazybiosCTX::Type5 and use lazybiosCleanup.

See also
Type 5: Memory Controller Information (Obsolete)