OpenDMI: Cross-platform DMI/SMBIOS framework
Source: Dev.to
Overview
At my former job I encountered the problem of lacking a C library that provides direct access to SMBIOS structures. Existing libraries were either outdated or incomplete, so the company resorted to parsing dmidecode’s output. I decided to develop my own framework for SMBIOS that not only displays data but also allows direct manipulation. After several months of work, version 0.1 of OpenDMI is nearly ready for release.
Current Status
Most of the basic functions are ready:
- Almost full support of the SMBIOS specification up to version 3.9.
- Backends for Linux, macOS, and dmidecode‑compatible dump files.
- Unified, endianness‑agnostic decoding of most SMBIOS structures, including validation and linking.
- EAV framework for future implementation of JSON/XML output formats.
- Simple
dmidecode‑like command‑line tool for displaying data.
Roadmap
Near‑term tasks
- 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.
Longer‑term goals
- Write manual pages.
- Implement all announced features and vendor‑specific extensions.
- Develop backends for FreeBSD and Windows.
- Stabilize the API.
- Set up automatic building of packages.
Release Plan
I plan to release version 0.1 by the end of this year. I hope this project will be useful to someone, and I would appreciate any feedback.