dmi_boot_status
Synopsis
#include <opendmi/entity/system-boot.h>
typedef enum dmi_boot_status {
DMI_BOOT_STATUS_NO_ERRORS_DETECTED = 0x00,
DMI_BOOT_STATUS_NO_BOOTABLE_MEDIA = 0x01,
DMI_BOOT_STATUS_OS_FAILED_TO_LOAD = 0x02,
DMI_BOOT_STATUS_FW_DETECTED_HW_FAILURE = 0x03,
DMI_BOOT_STATUS_OS_DETECTED_HW_FAILURE = 0x04,
DMI_BOOT_STATUS_USER_REQUESTED_BOOT = 0x05,
DMI_BOOT_STATUS_SYSTEM_SECURITY_VIOLATION = 0x06,
DMI_BOOT_STATUS_PREVIOUSLY_REQUESTED_IMAGE = 0x07,
DMI_BOOT_STATUS_SYSTEM_WDT_EXPIRED = 0x08,
__DMI_BOOT_STATUS_RESERVED_START = 0x09,
__DMI_BOOT_STATUS_RESERVED_END = 0x7F,
__DMI_BOOT_STATUS_VENDOR_SPECIFIC_START = 0x80,
__DMI_BOOT_STATUS_VENDOR_SPECIFIC_END = 0xBF,
__DMI_BOOT_STATUS_PRODUCT_SPECIFIC_START = 0xC0,
__DMI_BOOT_STATUS_PRODUCT_SPECIFIC_END = 0xFF
} dmi_boot_status_t;
const char *dmi_boot_status_name(dmi_boot_status_t value);
Description
The dmi_boot_status_t enumeration tells why the system has booted, as the
system boot information structure (type 32) of SMBIOS reports it, and is the
type of the status field of dmi_system_boot_t.
Only the codes 0x00 to 0x08 are defined. The codes 0x09 to 0x7F are reserved,
the codes 0x80 to 0xBF are specific to the vendor named by the manufacturer
string of the system information structure (type 1), and the codes 0xC0 to
0xFF are specific to the product named by its manufacturer and product name
strings. The hidden enumerators starting with _DMI_BOOT_STATUS bound
these ranges.
The dmi_boot_status_name function returns the printable name of a value, as
the command line tool shows it. The name is translated to the locale set with
dmi_set_locale, when the library is built with ICU4C support and has a
translation of it.
Values
DMI_BOOT_STATUS_NO_ERRORS_DETECTED-
No errors detected.
DMI_BOOT_STATUS_NO_BOOTABLE_MEDIA-
No bootable media.
DMI_BOOT_STATUS_OS_FAILED_TO_LOAD-
The normal operating system failed to load.
DMI_BOOT_STATUS_FW_DETECTED_HW_FAILURE-
The firmware detected a hardware failure, of a known kind or not.
DMI_BOOT_STATUS_OS_DETECTED_HW_FAILURE-
The operating system detected a hardware failure.
DMI_BOOT_STATUS_USER_REQUESTED_BOOT-
The user requested the boot, usually with a key.
DMI_BOOT_STATUS_SYSTEM_SECURITY_VIOLATION-
System security violation.
DMI_BOOT_STATUS_PREVIOUSLY_REQUESTED_IMAGE-
A boot image requested earlier, for example by software of the operating system; additional data may follow the code.
DMI_BOOT_STATUS_SYSTEM_WDT_EXPIRED-
The system watchdog timer expired, and rebooted the system.
__DMI_BOOT_STATUS_RESERVED_START-
First reserved code.
__DMI_BOOT_STATUS_RESERVED_END-
Last reserved code.
__DMI_BOOT_STATUS_VENDOR_SPECIFIC_START-
First vendor/OEM-specific code.
__DMI_BOOT_STATUS_VENDOR_SPECIFIC_END-
Last vendor/OEM-specific code.
__DMI_BOOT_STATUS_PRODUCT_SPECIFIC_START-
First product-specific code.
__DMI_BOOT_STATUS_PRODUCT_SPECIFIC_END-
Last product-specific code.
Return value
dmi_boot_status_name returns the name of the value, or nullptr if the value
has no name. The name is a static string, which must not be modified or freed.