At my former job I encountered the problem: the absence of a C library providing direct access to SMBIOS structures. Existing ones were either outdated or incomplete. The solution used in the company was parsing dmidecode's output.
I decided to develop my own framework for SMBIOS, which would not only be able to display data, but would also allow working with it directly. Now, after a few months of work, I'm almost ready to release version 0.1 of OpenDMI.
There is still a lot of work to be done: write manual pages, implement all announced features, vendor-specific extensions, and language bindings, write backends for FreeBSD and Windows, stabilize API, set up automatic building of packages, etc.
However, most of the basic functions are ready:
- Almost full support of SMBIOS specification up to version 3.9.
- Backends for Linux, MacOS and dmidecode-compatible dump files.
- Unified endianness-agnostic decoding of most of the SMBIOS structures, including validation and linking of them.
- EAV framework for future implementation of JSON/XML output formats.
- Simple dmidecode-like command line tool for displaying data.
The nearest tasks in the roadmap:
- Implement OEM-specific extensions and decoders (Dell, Intel, etc).
- Finalize and improve the command line tool.
- Add XML/JSON output for automation purposes.
- Implement bindings for the Python language.
I plan to release version 0.1 by the end of this year. I will be glad if this project is useful to someone. Anyway, I would appreciate your feedback.
SOCIAL SHARE CARD GENERATOR