Memory error classification, operation, syndrome, address, and resolution.
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.
Decode error_type, error_granularity, and error_operation with decoded.error_type, decoded.error_granularity, and decoded.error_operation.
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.
The returned structure array is allocated by the parser. Release it with lazybiosFreeType18 or assign it to lazybiosCTX::Type18 and use lazybiosCleanup.