show
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:
decodedfor a structure which has been read completely,incompletefor one which matches no version of its specification, andpartialfor 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
0xprefix. 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.
4orprocessor. The option may be given several times. Seeopendmi-typesfor 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