Minimal workflows for reading SMBIOS data and accessing parsed structures.
Every ordinary workflow follows the same ownership sequence:
lazybiosInit is the only loader. Its two path arguments select where the data comes from:
| Call | Source |
|---|---|
| lazybiosInit(ctx, NULL, NULL) | this machine, through the platform backend |
| lazybiosInit(ctx, NULL, "dump.bin") | one merged file holding both parts |
| lazybiosInit(ctx, "smbios_entry_point", "DMI") | two separate raw files |
The entry point comes first because it describes the table that follows. Passing an entry point with no table is rejected. File modes need no privileges and behave identically on every platform, which makes them the practical choice for tests and for reproducing a report from another machine.
Every getter returns a result set holding an entries array and its count, so the two can never drift apart. A non-NULL set whose count is zero means the table holds no structure of that type; NULL means the call itself failed.
When an application wants the whole table rather than a few types, lazybiosParseAll fills every context member in one call. It skips members that are already populated, so calling it after parsing some types by hand does not strand the earlier results.
Continue with Backends and Input Modes for backend behavior, Core Concepts and Ownership for ownership and field-status rules, and Standard SMBIOS Type Guides for field interpretation. The complete declarations are organized under Public API.