dmi_apple_firmware_feature

Synopsis

#include <opendmi/entity/apple/firmware-volume.h>

typedef enum dmi_apple_firmware_feature {
    DMI_APPLE_FIRMWARE_FEATURE_CSM_LEGACY_MODE              = 0,
    DMI_APPLE_FIRMWARE_FEATURE_CD_DRIVE_BOOT                = 1,
    DMI_APPLE_FIRMWARE_FEATURE_TARGET_DISK_MODE             = 2,
    DMI_APPLE_FIRMWARE_FEATURE_NET_BOOT                     = 4,
    DMI_APPLE_FIRMWARE_FEATURE_SLING_SHOT                   = 5,
    DMI_APPLE_FIRMWARE_FEATURE_WIRELESS                     = 8,
    DMI_APPLE_FIRMWARE_FEATURE_SECURITY_POLICY_1            = 10,
    DMI_APPLE_FIRMWARE_FEATURE_SECURITY_POLICY_2            = 11,
    DMI_APPLE_FIRMWARE_FEATURE_FIRMWARE_LOCKED              = 12,
    DMI_APPLE_FIRMWARE_FEATURE_HIGH_SPEED_USB               = 14,
    DMI_APPLE_FIRMWARE_FEATURE_NO_USB_SUBSTITUTE_WORKAROUND = 17,
    DMI_APPLE_FIRMWARE_FEATURE_APFS                         = 19,
    DMI_APPLE_FIRMWARE_FEATURE_APFS_EXTRA                   = 20,
    DMI_APPLE_FIRMWARE_FEATURE_TRBX                         = 22,
    DMI_APPLE_FIRMWARE_FEATURE_SECURITY_POLICY              = 24,
    DMI_APPLE_FIRMWARE_FEATURE_EXTENDED_FEATURES            = 25,
    DMI_APPLE_FIRMWARE_FEATURE_NO_MBA_S4_WORKAROUND         = 28,
    DMI_APPLE_FIRMWARE_FEATURE_UEFI_WINDOWS_BOOT            = 29,
    DMI_APPLE_FIRMWARE_FEATURE_NO_BOOTSCRIPT_WORKAROUND     = 31
} dmi_apple_firmware_feature_t;

const char *dmi_apple_firmware_feature_name(dmi_apple_firmware_feature_t value);

Description

The dmi_apple_firmware_feature_t enumeration names the bits of the features field of dmi_apple_firmware_volume_t, by their numbers. The bits of no known meaning are named after their numbers, e.g. Unknown bit 3, the way OpenCore names them.

The dmi_apple_firmware_feature_name function returns the name of a value, as the command line tool shows it.

Values

DMI_APPLE_FIRMWARE_FEATURE_CSM_LEGACY_MODE

Supports booting legacy operating systems through the Compatibility Support Module (CSM).

DMI_APPLE_FIRMWARE_FEATURE_CD_DRIVE_BOOT

Supports booting from optical drives.

DMI_APPLE_FIRMWARE_FEATURE_TARGET_DISK_MODE

Supports target disk mode.

DMI_APPLE_FIRMWARE_FEATURE_NET_BOOT

Supports network boot.

DMI_APPLE_FIRMWARE_FEATURE_SLING_SHOT

Supports the recovery embedded into the firmware (SlingShot).

DMI_APPLE_FIRMWARE_FEATURE_WIRELESS

Supports wireless networks in the firmware.

DMI_APPLE_FIRMWARE_FEATURE_SECURITY_POLICY_1

Bit 0 of the platform security policy.

DMI_APPLE_FIRMWARE_FEATURE_SECURITY_POLICY_2

Bit 1 of the platform security policy.

DMI_APPLE_FIRMWARE_FEATURE_FIRMWARE_LOCKED

Firmware is locked.

DMI_APPLE_FIRMWARE_FEATURE_HIGH_SPEED_USB

Supports USB 2.0 in the firmware.

DMI_APPLE_FIRMWARE_FEATURE_NO_USB_SUBSTITUTE_WORKAROUND

USB ports are not substituted with others by macOS.

DMI_APPLE_FIRMWARE_FEATURE_APFS

Supports APFS.

DMI_APPLE_FIRMWARE_FEATURE_APFS_EXTRA

Supports APFS, unused by the known Macs.

DMI_APPLE_FIRMWARE_FEATURE_TRBX

Supports Apple tamper resistant boot X.

DMI_APPLE_FIRMWARE_FEATURE_SECURITY_POLICY

Supports the platform security policy.

DMI_APPLE_FIRMWARE_FEATURE_EXTENDED_FEATURES

Supports the extended features, see dmi_apple_extended_feature.

DMI_APPLE_FIRMWARE_FEATURE_NO_MBA_S4_WORKAROUND

Memory map is not adjusted by the boot loader on hibernation wake.

DMI_APPLE_FIRMWARE_FEATURE_UEFI_WINDOWS_BOOT

Supports UEFI Windows boot.

DMI_APPLE_FIRMWARE_FEATURE_NO_BOOTSCRIPT_WORKAROUND

Memory map is not adjusted by the boot loader for the boot script.

Return value

dmi_apple_firmware_feature_name returns the name of the value, translated to the language of the current locale when a translation is available, or nullptr if the value has no name. The returned string must not be modified or freed.

Errors

None.

Standards

Not part of the SMBIOS specification. Defined by the firmware of Macs, and laid out as the AppleSmBios.h header of OpenCore describes it.