show

Synopsis

opendmi [global options] show [command options] [filter options]

Description

The show command decodes the SMBIOS structures and prints their fields in human-readable form, one structure after another, in the order of the table.

Every field is decoded to its meaning rather than to the bytes holding it: enumerations are named, bit sets are listed bit by bit, sizes and speeds carry their units, and versions are formatted according to the fields which define them. Handles are resolved into references to the structures they point to, so that a cache of a processor or an array of a memory device is named rather than numbered.

Structures which cannot be decoded completely are still shown, along with whatever has been read from them; --verbose tells such structures apart.

Strings come from the firmware as they are, so the control characters they hold, which a terminal would take for commands, are shown as escapes: \xNN for the C0 control characters (tabs and line breaks included) and DEL, \u00NN for the C1 control characters, and \xNN for every byte which is not valid UTF-8. Backslashes are shown as they are. opendmi-export writes the strings as the output format represents them.

Which structures are shown is decided by the filter options, which are common to opendmi-list and opendmi-export. By default the standard and the OEM-specific structures are shown, and the inactive and the unknown ones are not.

Options

-?, -h, --help

Print help and exit.

-q, --quiet

Hide the meta-data of the structures and the references between them, leaving the decoded fields alone.

-V, --verbose

Show the handle, the type, the length and the version of every structure, along with the state of its decoding: decoded for a structure which has been read completely, incomplete for one which matches no version of its specification, and partial for one which has been decoded only in part.

-D, --dump

Show the raw bytes of the structures instead of decoding them.

Filter options

-H handle, --handle=handle

Only show the structures with the given handle, which is read as a hexadecimal number, with or without the 0x prefix. The option may be given several times.

-t type, --type=type

Only show the structures of the given type, which is either a number or a code name, e.g. 4 or processor. The option may be given several times. See opendmi-types for the types and their codes.

-s, --standard

Show the structures of the types the specification defines.

-S, --no-standard

Do not show the structures of the types the specification defines.

-e, --oem

Show the OEM-specific structures, which are the ones of types 128 to 255.

-E, --no-oem

Do not show the OEM-specific structures.

-i, --inactive

Show the structures which the firmware has marked as inactive (type 126).

-I, --no-inactive

Do not show the inactive structures.

-u, --unknown

Show the structures of the types no enabled module describes, which are left as raw data.

-U, --no-unknown

Do not show the structures of the unknown types.

-m module, --module=module

Only show the structures described by the named module, whatever type numbers the platform places them at. The module has to be enabled, either for the platform or with the global --module option, or else nothing it describes is decoded. The option may be given several times.

-M, --all-modules

Only show the structures described by the enabled modules.

-a, --all

Show every structure, including the inactive and the unknown ones.

Exit status

0

Data has been shown.

1

Data could not be read, or the output could not be written.

2

Command line is invalid.

Examples

Show every structure of the local platform:

$ opendmi show

Show the memory devices only:

$ opendmi show -t memory-device

Show a single structure by its handle:

$ opendmi show -H 0x0010

Show the versions and the decoding states of the structures, to find the ones the firmware writes differently from the specification:

$ opendmi show -V

Decode the structures of a vendor, and show those alone:

$ opendmi -m dell show -m dell