Owns raw DMI table data and its parsed SMBIOS entry point. More...
#include <lazybios.h>
Data Structures | |
| union | [union].entry_union |
Data Fields | |
| uint8_t * | dmi_data |
| size_t | dmi_len |
| uint8_t * | entry_data |
| size_t | entry_len |
| lazybiosSMBIOSVersionTag | entry_tag |
| union | entry_union |
| lazybiosTypeIndex_t | index [256] |
| int | index_valid |
Owns raw DMI table data and its parsed SMBIOS entry point.
Definition at line 218 of file lazybios.h.
| uint8_t* lazybiosDMI_t::dmi_data |
Definition at line 219 of file lazybios.h.
| size_t lazybiosDMI_t::dmi_len |
Definition at line 220 of file lazybios.h.
| uint8_t* lazybiosDMI_t::entry_data |
Definition at line 238 of file lazybios.h.
| size_t lazybiosDMI_t::entry_len |
Definition at line 239 of file lazybios.h.
| lazybiosSMBIOSVersionTag lazybiosDMI_t::entry_tag |
Definition at line 240 of file lazybios.h.
| union lazybiosDMI_t::[union].entry_union lazybiosDMI_t::entry_union |
| lazybiosTypeIndex_t lazybiosDMI_t::index[256] |
Per-type location cache, built once when the table is loaded. A type byte is a single octet, so 256 entries cover every possible type. Without it, each parser had to walk the whole table just to size its result array, which dominated parse time.
Definition at line 228 of file lazybios.h.
| int lazybiosDMI_t::index_valid |
Non-zero once index describes dmi_data. A zero-initialized or hand-assembled container leaves this clear, and the parsers fall back to walking the table, so the cache is an optimization rather than a precondition. Clear it if dmi_data is replaced.
Definition at line 236 of file lazybios.h.