About this manual

This manual covers OpenDMI as a whole, from the command line tool and the interfaces for the programming languages to the layouts of the structures it decodes.

1. Organization

The manual is divided into parts:

Introduction

What OpenDMI is, what the data it reads is made of, and how to read this manual.

Getting started

How to build OpenDMI from sources, the commands of the tool most often used, and how a program reads the data through the library.

Command line tool

The opendmi tool and its commands.

C library

The functions and the types of the libopendmi library, grouped by the headers declaring them. The interfaces for the other programming languages are given parts of their own as they are completed.

Behind the scenes

How the library works inside: how the data is read and decoded, how a structure type is described to the library, and how it is extended.

File formats

The documents opendmi export writes in YAML, JSON and XML: how they are structured and how the values of the attributes are written in them.

Specifications

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

The pages of the command line tool and of the library are the manual pages installed along with them, and are read with man(1) as well. The manual itself is available as a PDF and on the website of the project.

2. Conventions

Code, commands, file names and literal values are set in monospace. Manual pages of this manual are referred to by their names, which link to the pages, e.g. opendmi or dmi_open. Other manual pages, e.g. the ones of the system, are referred to by their names and sections, e.g. man(1).

Numbers written with the 0x prefix, e.g. 0x1F, are hexadecimal, and the rest are decimal.

Features which are partly implemented are marked as (in progress), and the ones scheduled for a later release as (planned).

The way the layouts of the structures are given is explained at the beginning of the specifications, see Reading the layouts.