OpenDMI

OpenDMI: desktop management interface

OpenDMI reads DMI/SMBIOS data and gives it back as structured data instead of text to parse: a C library, command line tools, machine-readable output and bindings for Go, Python and Rust. Every field has a code, a type and a unit, so the same data reads the same way in the terminal, in JSON and through the API.

Reference manual

The reference manual covers OpenDMI as a whole, and is available as a PDF too:

Introduction

What OpenDMI is, what DMI/SMBIOS data is made of, and how to read the manual.

Getting started

Building OpenDMI from sources, and the first steps with the tool and the library.

Command line tool

The opendmi tool, its commands and the extension modules.

C library

Functions and types of the libopendmi library, grouped by the headers declaring them.

Behind the scenes

How the library works inside, and how it is extended with structure types of its own.

File formats

Layout of the YAML, JSON and XML documents the tool exports, and the schemas describing them.

Specifications

Layout of the structures OpenDMI decodes, field by field, including the ones the vendors define.