lazybios 3.0.0
Lightweight SMBIOS/DMI parsing library
Loading...
Searching...
No Matches
Type 18: 32-Bit Memory Error Information Guide

Memory error classification, operation, syndrome, address, and resolution.

Result set and ownership

lazybiosGetType18 returns a lazybiosType18Array_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 lazybiosFreeType18, or assign it to ctx->Type18 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 (error_granularity, error_operation, error_type). The raw value stays alongside it, so both the encoding and its meaning are available.

Error classification

Decode error_type, error_granularity, and error_operation with decoded.error_type, decoded.error_granularity, and decoded.error_operation.

Syndrome and address fields

vendor_syndrome contains vendor-specific ECC syndrome or CRC information; zero means unknown. memory_array_error_address is relative to the memory array's bus, while device_error_address is relative to the failing memory device. error_resolution gives the byte range within which the error can be located. The value 0x80000000 means unknown for both addresses and the resolution. All of these special encodings remain present raw values.

Ownership

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

See also
Type 18: 32-Bit Memory Error Information