fwupd-enums: fwupd Reference Manual

## fwupd-enums fwupd-enums |

## Functions

const gchar * | fwupd_status_to_string ()
FwupdStatus | fwupd_status_from_string ()
const gchar * | fwupd_device_flag_to_string ()
FwupdDeviceFlags | fwupd_device_flag_from_string ()
const gchar * | fwupd_device_problem_to_string ()
FwupdDeviceProblem | fwupd_device_problem_from_string ()
const gchar * | fwupd_plugin_flag_to_string ()
FwupdPluginFlags | fwupd_plugin_flag_from_string ()
const gchar * | fwupd_release_flag_to_string ()
FwupdReleaseFlags | fwupd_release_flag_from_string ()
const gchar * | fwupd_release_urgency_to_string ()
FwupdReleaseUrgency | fwupd_release_urgency_from_string ()
const gchar * | fwupd_update_state_to_string ()
FwupdUpdateState | fwupd_update_state_from_string ()
const gchar * | fwupd_trust_flag_to_string ()
FwupdTrustFlags | fwupd_trust_flag_from_string ()
const gchar * | fwupd_feature_flag_to_string ()
FwupdFeatureFlags | fwupd_feature_flag_from_string ()
FwupdKeyringKind | fwupd_keyring_kind_from_string ()
const gchar * | fwupd_keyring_kind_to_string ()
FwupdVersionFormat | fwupd_version_format_from_string ()
const gchar * | fwupd_version_format_to_string ()

## Types and Values

enum | FwupdStatus
enum | FwupdTrustFlags
enum | FwupdFeatureFlags
#define | FWUPD_DEVICE_FLAG_NONE
#define | FWUPD_DEVICE_FLAG_INTERNAL
#define | FWUPD_DEVICE_FLAG_UPDATABLE
#define | FWUPD_DEVICE_FLAG_ONLY_OFFLINE
#define | FWUPD_DEVICE_FLAG_REQUIRE_AC
#define | FWUPD_DEVICE_FLAG_LOCKED
#define | FWUPD_DEVICE_FLAG_SUPPORTED
#define | FWUPD_DEVICE_FLAG_REGISTERED
#define | FWUPD_DEVICE_FLAG_NEEDS_REBOOT
#define | FWUPD_DEVICE_FLAG_REPORTED
#define | FWUPD_DEVICE_FLAG_NOTIFIED
#define | FWUPD_DEVICE_FLAG_USE_RUNTIME_VERSION
#define | FWUPD_DEVICE_FLAG_INSTALL_PARENT_FIRST
#define | FWUPD_DEVICE_FLAG_WAIT_FOR_REPLUG
#define | FWUPD_DEVICE_FLAG_IGNORE_VALIDATION
#define | FWUPD_DEVICE_FLAG_TRUSTED
#define | FWUPD_DEVICE_FLAG_NEEDS_SHUTDOWN
#define | FWUPD_DEVICE_FLAG_ANOTHER_WRITE_REQUIRED
#define | FWUPD_DEVICE_FLAG_NO_AUTO_INSTANCE_IDS
#define | FWUPD_DEVICE_FLAG_NEEDS_ACTIVATION
#define | FWUPD_DEVICE_FLAG_ENSURE_SEMVER
#define | FWUPD_DEVICE_FLAG_HISTORICAL
#define | FWUPD_DEVICE_FLAG_ONLY_SUPPORTED
#define | FWUPD_DEVICE_FLAG_WILL_DISAPPEAR
#define | FWUPD_DEVICE_FLAG_CAN_VERIFY
#define | FWUPD_DEVICE_FLAG_CAN_VERIFY_IMAGE
#define | FWUPD_DEVICE_FLAG_DUAL_IMAGE
#define | FWUPD_DEVICE_FLAG_SELF_RECOVERY
#define | FWUPD_DEVICE_FLAG_USABLE_DURING_UPDATE
#define | FWUPD_DEVICE_FLAG_VERSION_CHECK_REQUIRED
#define | FWUPD_DEVICE_FLAG_INSTALL_ALL_RELEASES
#define | FWUPD_DEVICE_FLAG_MD_SET_NAME
#define | FWUPD_DEVICE_FLAG_MD_SET_NAME_CATEGORY
#define | FWUPD_DEVICE_FLAG_MD_SET_VERFMT
#define | FWUPD_DEVICE_FLAG_ADD_COUNTERPART_GUIDS
#define | FWUPD_DEVICE_FLAG_NO_GUID_MATCHING
#define | FWUPD_DEVICE_FLAG_UPDATABLE_HIDDEN
#define | FWUPD_DEVICE_FLAG_SKIPS_RESTART
#define | FWUPD_DEVICE_FLAG_HAS_MULTIPLE_BRANCHES
#define | FWUPD_DEVICE_FLAG_BACKUP_BEFORE_INSTALL
#define | FWUPD_DEVICE_FLAG_MD_SET_ICON
#define | FWUPD_DEVICE_FLAG_WILDCARD_INSTALL
#define | FWUPD_DEVICE_FLAG_UNREACHABLE
#define | FWUPD_DEVICE_FLAG_AFFECTS_FDE
#define | FWUPD_DEVICE_FLAG_END_OF_LIFE
#define | FWUPD_DEVICE_FLAG_SIGNED_PAYLOAD
#define | FWUPD_DEVICE_FLAG_UNSIGNED_PAYLOAD
#define | FWUPD_DEVICE_FLAG_UNKNOWN
typedef | FwupdDeviceFlags
#define | FWUPD_DEVICE_PROBLEM_NONE
#define | FWUPD_DEVICE_PROBLEM_SYSTEM_POWER_TOO_LOW
#define | FWUPD_DEVICE_PROBLEM_UNREACHABLE
#define | FWUPD_DEVICE_PROBLEM_POWER_TOO_LOW
#define | FWUPD_DEVICE_PROBLEM_UPDATE_PENDING
#define | FWUPD_DEVICE_PROBLEM_REQUIRE_AC_POWER
#define | FWUPD_DEVICE_PROBLEM_UNKNOWN
typedef | FwupdDeviceProblem
#define | FWUPD_RELEASE_FLAG_NONE
#define | FWUPD_RELEASE_FLAG_TRUSTED_PAYLOAD
#define | FWUPD_RELEASE_FLAG_TRUSTED_METADATA
#define | FWUPD_RELEASE_FLAG_BLOCKED_VERSION
#define | FWUPD_RELEASE_FLAG_BLOCKED_APPROVAL
#define | FWUPD_RELEASE_FLAG_UNKNOWN
typedef | FwupdReleaseFlags
enum | FwupdReleaseUrgency
#define | FWUPD_PLUGIN_FLAG_NONE
#define | FWUPD_PLUGIN_FLAG_DISABLED
#define | FWUPD_PLUGIN_FLAG_USER_WARNING
#define | FWUPD_PLUGIN_FLAG_CLEAR_UPDATABLE
#define | FWUPD_PLUGIN_FLAG_NO_HARDWARE
#define | FWUPD_PLUGIN_FLAG_CAPSULES_UNSUPPORTED
#define | FWUPD_PLUGIN_FLAG_UNLOCK_REQUIRED
#define | FWUPD_PLUGIN_FLAG_EFIVAR_NOT_MOUNTED
#define | FWUPD_PLUGIN_FLAG_ESP_NOT_FOUND
#define | FWUPD_PLUGIN_FLAG_LEGACY_BIOS
#define | FWUPD_PLUGIN_FLAG_FAILED_OPEN
#define | FWUPD_PLUGIN_FLAG_REQUIRE_HWID
#define | FWUPD_PLUGIN_FLAG_KERNEL_TOO_OLD
#define | FWUPD_PLUGIN_FLAG_AUTH_REQUIRED
#define | FWUPD_PLUGIN_FLAG_UNKNOWN
typedef | FwupdPluginFlags
enum | FwupdInstallFlags
enum | FwupdSelfSignFlags
enum | FwupdUpdateState
enum | FwupdKeyringKind
enum | FwupdVersionFormat
#define | FWUPD_BATTERY_LEVEL_INVALID

## Description

## Functions

### fwupd_status_to_string ()

    const gchar *
    fwupd_status_to_string (FwupdStatus status);

Converts an enumerated status to a string.

#### Parameters

status | a status, e.g. `FWUPD_STATUS_DECOMPRESSING` |

#### Returns

identifier string

Since: 0.1.1

### fwupd_status_from_string ()

    FwupdStatus
    fwupd_status_from_string (const gchar *status);

Converts a string to an enumerated status.

#### Parameters

status | a string, e.g. `decompressing`. | [nullable]

#### Returns

enumerated value

Since: 0.1.1

### fwupd_device_flag_to_string ()

    const gchar *
    fwupd_device_flag_to_string (FwupdDeviceFlags device_flag);

Converts a device flag to a string.

#### Parameters

device_flag | a device flag, e.g. `FWUPD_DEVICE_FLAG_REQUIRE_AC` |

#### Returns

identifier string

Since: 0.7.0

### fwupd_device_flag_from_string ()

    FwupdDeviceFlags
    fwupd_device_flag_from_string (const gchar *device_flag);

Converts a string to an enumerated device flag.

#### Parameters

device_flag | a string, e.g. `require-ac`. | [nullable]

#### Returns

enumerated value

Since: 0.7.0

### fwupd_device_problem_to_string ()

    const gchar *
    fwupd_device_problem_to_string (FwupdDeviceProblem device_problem);

Converts a device inhibit kind to a string.

#### Parameters

device_problem | a device inhibit kind, e.g. `FWUPD_DEVICE_PROBLEM_SYSTEM_POWER_TOO_LOW` |

#### Returns

identifier string

Since: 1.8.1

### fwupd_device_problem_from_string ()

    FwupdDeviceProblem
    fwupd_device_problem_from_string (const gchar *device_problem);

Converts a string to a enumerated device inhibit kind.

#### Parameters

device_problem | a string, e.g. `require-ac`. | [nullable]

#### Returns

enumerated value

Since: 1.8.1

### fwupd_plugin_flag_to_string ()

    const gchar *
    fwupd_plugin_flag_to_string (FwupdPluginFlags plugin_flag);

Converts an enumerated plugin flag to a string.

#### Parameters

plugin_flag | plugin flags, e.g. `FWUPD_PLUGIN_FLAG_CLEAR_UPDATABLE` |

#### Returns

identifier string

Since: 1.5.0

### fwupd_plugin_flag_from_string ()

    FwupdPluginFlags
    fwupd_plugin_flag_from_string (const gchar *plugin_flag);

Converts a string to an enumerated plugin flag.

#### Parameters

plugin_flag | a string, e.g. `require-ac`. | [nullable]

#### Returns

enumerated value

Since: 1.5.0

### fwupd_release_flag_to_string ()

    const gchar *
    fwupd_release_flag_to_string (FwupdReleaseFlags release_flag);

Converts an enumerated release flag to a string.

#### Parameters

release_flag | a release flag, e.g. `FWUPD_RELEASE_FLAG_TRUSTED_PAYLOAD` |

#### Returns

identifier string

Since: 1.2.6

### fwupd_release_flag_from_string ()

    FwupdReleaseFlags
    fwupd_release_flag_from_string (const gchar *release_flag);

Converts a string to an enumerated release flag.

#### Parameters

release_flag | a string, e.g. `trusted-payload`. | [nullable]

#### Returns

enumerated value

Since: 1.2.6

### fwupd_release_urgency_to_string ()

    const gchar *
    fwupd_release_urgency_to_string (FwupdReleaseUrgency release_urgency);

Converts an enumerated release urgency to a string.

#### Parameters

release_urgency | a release urgency, e.g. `FWUPD_RELEASE_URGENCY_HIGH` |

#### Returns

identifier string

Since: 1.4.0

### fwupd_release_urgency_from_string ()

    FwupdReleaseUrgency
    fwupd_release_urgency_from_string (const gchar *release_urgency);

Converts a string to an enumerated release urgency value.

#### Parameters

release_urgency | a string, e.g. `low`. | [nullable]

#### Returns

enumerated value

Since: 1.4.0

### fwupd_update_state_to_string ()

    const gchar *
    fwupd_update_state_to_string (FwupdUpdateState update_state);

Converts an enumerated update state to a string.

#### Parameters

update_state | the update state, e.g. `FWUPD_UPDATE_STATE_PENDING` |

#### Returns

identifier string

Since: 0.7.0

### fwupd_update_state_from_string ()

    FwupdUpdateState
    fwupd_update_state_from_string (const gchar *update_state);

Converts a string to an enumerated update state.

#### Parameters

update_state | a string, e.g. `pending`. | [nullable]

#### Returns

enumerated value

Since: 0.7.0

### fwupd_trust_flag_to_string ()

    const gchar *
    fwupd_trust_flag_to_string (FwupdTrustFlags trust_flag);

Converts an enumerated trust flag to a string.

#### Parameters

trust_flag | the trust flags, e.g. `FWUPD_TRUST_FLAG_PAYLOAD` |

#### Returns

identifier string

Since: 0.7.0

### fwupd_trust_flag_from_string ()

    FwupdTrustFlags
    fwupd_trust_flag_from_string (const gchar *trust_flag);

Converts a string to an enumerated trust flag.

#### Parameters

trust_flag | a string, e.g. `payload`. | [nullable]

#### Returns

enumerated value

Since: 0.7.0

### fwupd_feature_flag_to_string ()

    const gchar *
    fwupd_feature_flag_to_string (FwupdFeatureFlags feature_flag);

Converts a feature flag to a string.

#### Parameters

feature_flag | a single feature flag, e.g. `FWUPD_FEATURE_FLAG_DETACH_ACTION` |

#### Returns

identifier string

Since: 1.4.5

### fwupd_feature_flag_from_string ()

    FwupdFeatureFlags
    fwupd_feature_flag_from_string (const gchar *feature_flag);

Converts a string to an enumerated feature flag.

#### Parameters

feature_flag | a string, e.g. `detach-action`. | [nullable]

#### Returns

enumerated value

Since: 1.4.5

### fwupd_keyring_kind_from_string ()

    FwupdKeyringKind
    fwupd_keyring_kind_from_string (const gchar *keyring_kind);

Converts an printable string to an enumerated keyring kind.

#### Parameters

keyring_kind | a string, e.g. `gpg`. | [nullable]

#### Returns

keyring kind, e.g. `FWUPD_KEYRING_KIND_GPG`

Since: 0.9.7

### fwupd_keyring_kind_to_string ()

    const gchar *
    fwupd_keyring_kind_to_string (FwupdKeyringKind keyring_kind);

Converts an enumerated keyring kind to a printable string.

#### Parameters

keyring_kind | a FwupdKeyringKind, e.g. `FWUPD_KEYRING_KIND_GPG` |

#### Returns

a string, e.g. `gpg`

Since: 0.9.7

### fwupd_version_format_from_string ()

    FwupdVersionFormat
    fwupd_version_format_from_string (const gchar *str);

Converts text to a display version type.

#### Parameters

str | a string, e.g. `quad`. | [nullable]

#### Returns

an enumerated version format, e.g. `FWUPD_VERSION_FORMAT_TRIPLET`

Since: 1.2.9

### fwupd_version_format_to_string ()

    const gchar *
    fwupd_version_format_to_string (FwupdVersionFormat kind);

Converts an enumerated version format to text.

#### Parameters

kind | a version format, e.g. `FWUPD_VERSION_FORMAT_TRIPLET` |

#### Returns

a string, e.g. `quad`, or `NULL` if not known

Since: 1.2.9

## Types and Values

### enum FwupdStatus

The flags to show daemon status.

#### Members

FWUPD_STATUS_UNKNOWN | Unknown state |
FWUPD_STATUS_IDLE | Idle |
FWUPD_STATUS_LOADING | Loading a resource |
FWUPD_STATUS_DECOMPRESSING | Decompressing firmware |
FWUPD_STATUS_DEVICE_RESTART | Restarting the device |
FWUPD_STATUS_DEVICE_WRITE | Writing to a device |
FWUPD_STATUS_DEVICE_VERIFY | Verifying (reading) a device |
FWUPD_STATUS_SCHEDULING | Scheduling an offline update |
FWUPD_STATUS_DOWNLOADING | A file is downloading |
FWUPD_STATUS_DEVICE_READ | Reading from a device |
FWUPD_STATUS_DEVICE_ERASE | Erasing a device |
FWUPD_STATUS_WAITING_FOR_AUTH | Waiting for authentication |
FWUPD_STATUS_DEVICE_BUSY | The device is busy |
FWUPD_STATUS_SHUTDOWN | The daemon is shutting down |

### enum FwupdTrustFlags

The flags to show the level of trust.

#### Members

FWUPD_TRUST_FLAG_NONE | No trust |
FWUPD_TRUST_FLAG_PAYLOAD | The firmware is trusted |
FWUPD_TRUST_FLAG_METADATA | The metadata is trusted |

### enum FwupdFeatureFlags

The flags to the feature capabilities of the front-end client.

#### Members

FWUPD_FEATURE_FLAG_NONE | No trust |
FWUPD_FEATURE_FLAG_CAN_REPORT | Can upload a report of the update back to the server |
FWUPD_FEATURE_FLAG_DETACH_ACTION | Can perform detach action, typically showing text |
FWUPD_FEATURE_FLAG_UPDATE_ACTION | Can perform update action, typically showing text |
FWUPD_FEATURE_FLAG_SWITCH_BRANCH | Can switch the firmware branch |
FWUPD_FEATURE_FLAG_REQUESTS | Can show interactive requests |
FWUPD_FEATURE_FLAG_FDE_WARNING | Can warn about full disk encryption |
FWUPD_FEATURE_FLAG_COMMUNITY_TEXT | Can show information about community supported |
FWUPD_FEATURE_FLAG_SHOW_PROBLEMS | Can show problems when getting the update list |

### FWUPD_DEVICE_FLAG_NONE

    #define FWUPD_DEVICE_FLAG_NONE (0u)

No flags set

Since 0.1.3

### FWUPD_DEVICE_FLAG_INTERNAL

    #define FWUPD_DEVICE_FLAG_INTERNAL (1u << 0)

Device is internal to the platform and cannot be removed easily.

Since 0.1.3

### FWUPD_DEVICE_FLAG_UPDATABLE

    #define FWUPD_DEVICE_FLAG_UPDATABLE (1u << 1)

Device has the ability to be updated in this or any other mode.

Since 0.9.7

### FWUPD_DEVICE_FLAG_ONLY_OFFLINE

    #define FWUPD_DEVICE_FLAG_ONLY_OFFLINE (1u << 2)

Update can only be done from a limited functionality OS (offline mode).

Since 0.9.7

### FWUPD_DEVICE_FLAG_REQUIRE_AC

    #define FWUPD_DEVICE_FLAG_REQUIRE_AC (1u << 3)

Device requires an external power source to be connected or the battery level at a minimum threshold to update.

Since 0.6.3

### FWUPD_DEVICE_FLAG_LOCKED

    #define FWUPD_DEVICE_FLAG_LOCKED (1u << 4)

The device can not be updated without manual user interaction.

Since 0.6.3

### FWUPD_DEVICE_FLAG_SUPPORTED

    #define FWUPD_DEVICE_FLAG_SUPPORTED (1u << 5)

The device is found in metadata loaded into the daemon.

Since 0.7.1

### FWUPD_DEVICE_FLAG_REGISTERED

    #define FWUPD_DEVICE_FLAG_REGISTERED (1u << 7)

The device has been registered with other plugins.

Since 0.9.7

### FWUPD_DEVICE_FLAG_NEEDS_REBOOT

    #define FWUPD_DEVICE_FLAG_NEEDS_REBOOT (1u << 8)

The device requires a system reboot to apply firmware or to reload hardware.

Since 0.9.7

### FWUPD_DEVICE_FLAG_REPORTED

    #define FWUPD_DEVICE_FLAG_REPORTED (1u << 9)

The success or failure of a previous update has been reported to a metadata server.

Since: 1.0.4

### FWUPD_DEVICE_FLAG_NOTIFIED

    #define FWUPD_DEVICE_FLAG_NOTIFIED (1u << 10)

The user has been notified about a change in the device state.

Since: 1.0.5

### FWUPD_DEVICE_FLAG_USE_RUNTIME_VERSION

    #define FWUPD_DEVICE_FLAG_USE_RUNTIME_VERSION (1u << 11)

The device will always display use the runtime version rather than the bootloader version.

Since: 1.0.6

### FWUPD_DEVICE_FLAG_INSTALL_PARENT_FIRST

    #define FWUPD_DEVICE_FLAG_INSTALL_PARENT_FIRST (1u << 12)

The composite device requires installation of composite firmware on the parent before the child. Normally the child is installed before the parent.

Since: 1.0.8

### FWUPD_DEVICE_FLAG_WAIT_FOR_REPLUG

    #define FWUPD_DEVICE_FLAG_WAIT_FOR_REPLUG (1u << 14)

The device is in the middle of and update and the hardware is waiting to be probed/replugged.

Since: 1.1.2

### FWUPD_DEVICE_FLAG_IGNORE_VALIDATION

    #define FWUPD_DEVICE_FLAG_IGNORE_VALIDATION (1u << 15)

When processing an update for the device, plugins should ignore all validation safety checks.

Since: 1.1.2

### FWUPD_DEVICE_FLAG_TRUSTED

    #define FWUPD_DEVICE_FLAG_TRUSTED (1u << 16)

A trusted client is reading information about the device. Extra metadata such as serial number can be exposed about this device.

Since: 1.1.2

### FWUPD_DEVICE_FLAG_NEEDS_SHUTDOWN

    #define FWUPD_DEVICE_FLAG_NEEDS_SHUTDOWN (1u << 17)

The device requires the system to be shutdown to finish application of new firmware.

Since: 1.2.4

### FWUPD_DEVICE_FLAG_ANOTHER_WRITE_REQUIRED

    #define FWUPD_DEVICE_FLAG_ANOTHER_WRITE_REQUIRED (1u << 18)

The device requires the update to be retried, possibly with a different plugin.

Since: 1.2.5

### FWUPD_DEVICE_FLAG_NO_AUTO_INSTANCE_IDS

    #define FWUPD_DEVICE_FLAG_NO_AUTO_INSTANCE_IDS (1u << 19)

Deprecated, no not use

Since: 1.2.5

### FWUPD_DEVICE_FLAG_NEEDS_ACTIVATION

    #define FWUPD_DEVICE_FLAG_NEEDS_ACTIVATION (1u << 20)

The device update needs to be separately activated. This process may occur automatically on shutdown in some operating systems or when the device is unplugged with some devices.

Since: 1.2.6

### FWUPD_DEVICE_FLAG_ENSURE_SEMVER

    #define FWUPD_DEVICE_FLAG_ENSURE_SEMVER (1u << 21)

Deprecated, no not use

Since: 1.2.9

### FWUPD_DEVICE_FLAG_HISTORICAL

    #define FWUPD_DEVICE_FLAG_HISTORICAL (1u << 22)

The device is used for historical data only.

Since: 1.3.2

### FWUPD_DEVICE_FLAG_ONLY_SUPPORTED

    #define FWUPD_DEVICE_FLAG_ONLY_SUPPORTED (1u << 23)

Deprecated, no not use

Since: 1.3.3

### FWUPD_DEVICE_FLAG_WILL_DISAPPEAR

    #define FWUPD_DEVICE_FLAG_WILL_DISAPPEAR (1u << 24)

The device will disappear after the update is complete and success or failure can't be verified.

Since: 1.3.3

### FWUPD_DEVICE_FLAG_CAN_VERIFY

    #define FWUPD_DEVICE_FLAG_CAN_VERIFY (1u << 25)

The device checksums can be compared against metadata.

Since: 1.3.3

### FWUPD_DEVICE_FLAG_CAN_VERIFY_IMAGE

    #define FWUPD_DEVICE_FLAG_CAN_VERIFY_IMAGE (1u << 26)

The device application firmware image can be dumped from device for verification.

Since: 1.3.3

### FWUPD_DEVICE_FLAG_DUAL_IMAGE

    #define FWUPD_DEVICE_FLAG_DUAL_IMAGE (1u << 27)

The device firmware update architecture uses a redundancy mechanism such as A/B partitions for updates.

Since: 1.3.3

### FWUPD_DEVICE_FLAG_SELF_RECOVERY

    #define FWUPD_DEVICE_FLAG_SELF_RECOVERY (1u << 28)

In flashing mode, the device will only accept intended payloads and will revert back to a valid firmware image if an invalid or incomplete payload was sent.

Since: 1.3.3

### FWUPD_DEVICE_FLAG_USABLE_DURING_UPDATE

    #define FWUPD_DEVICE_FLAG_USABLE_DURING_UPDATE (1u << 29)

The device remains usable while the update flashes or schedules the update. The update will implicitly be applied next time the device is power cycled or possibly activated.

Since: 1.3.3

### FWUPD_DEVICE_FLAG_VERSION_CHECK_REQUIRED

    #define FWUPD_DEVICE_FLAG_VERSION_CHECK_REQUIRED (1u << 30)

All firmware updates for this device require a firmware version check.

Since: 1.3.7

### FWUPD_DEVICE_FLAG_INSTALL_ALL_RELEASES

    #define FWUPD_DEVICE_FLAG_INSTALL_ALL_RELEASES (1u << 31)

Install each intermediate releases for the device rather than jumping directly to the newest.

Since: 1.3.7

### FWUPD_DEVICE_FLAG_MD_SET_NAME

    #define FWUPD_DEVICE_FLAG_MD_SET_NAME (1llu << 32)

Deprecated, no not use

Since: 1.4.0

### FWUPD_DEVICE_FLAG_MD_SET_NAME_CATEGORY

    #define FWUPD_DEVICE_FLAG_MD_SET_NAME_CATEGORY (1llu << 33)

Deprecated, no not use

Since: 1.4.0

### FWUPD_DEVICE_FLAG_MD_SET_VERFMT

    #define FWUPD_DEVICE_FLAG_MD_SET_VERFMT (1llu << 34)

Deprecated, no not use

Since: 1.4.0

### FWUPD_DEVICE_FLAG_ADD_COUNTERPART_GUIDS

    #define FWUPD_DEVICE_FLAG_ADD_COUNTERPART_GUIDS (1llu << 35)

The device will add counterpart GUIDs from an alternate mode like bootloader. This flag is typically specified in a quirk.

Since: 1.4.0

### FWUPD_DEVICE_FLAG_NO_GUID_MATCHING

    #define FWUPD_DEVICE_FLAG_NO_GUID_MATCHING (1llu << 36)

Deprecated, no not use

Since: 1.4.1

### FWUPD_DEVICE_FLAG_UPDATABLE_HIDDEN

    #define FWUPD_DEVICE_FLAG_UPDATABLE_HIDDEN (1llu << 37)

The device is updatable but is currently inhbitied from updates in the client. Reasons include but are not limited to low power or requiring reboot from a previous update.

Since: 1.4.1

### FWUPD_DEVICE_FLAG_SKIPS_RESTART

    #define FWUPD_DEVICE_FLAG_SKIPS_RESTART (1llu << 38)

The device relies upon activation or power cycle to load firmware.

Since: 1.5.0

### FWUPD_DEVICE_FLAG_HAS_MULTIPLE_BRANCHES

    #define FWUPD_DEVICE_FLAG_HAS_MULTIPLE_BRANCHES (1llu << 39)

The device supports switching to a different stream of firmware.

Since: 1.5.0

### FWUPD_DEVICE_FLAG_BACKUP_BEFORE_INSTALL

    #define FWUPD_DEVICE_FLAG_BACKUP_BEFORE_INSTALL (1llu << 40)

The device firmware should be saved before installing firmware.

Since: 1.5.0

### FWUPD_DEVICE_FLAG_MD_SET_ICON

    #define FWUPD_DEVICE_FLAG_MD_SET_ICON (1llu << 41)

Deprecated, no not use

Since: 1.5.2

### FWUPD_DEVICE_FLAG_WILDCARD_INSTALL

    #define FWUPD_DEVICE_FLAG_WILDCARD_INSTALL (1llu << 42)

All devices with matching GUIDs will be updated at the same time.

For some devices it is not possible to have different versions of firmware for hardware of the same type. Updating one device will force update of others with exactly the same instance IDs.

Since: 1.6.2

### FWUPD_DEVICE_FLAG_UNREACHABLE

    #define FWUPD_DEVICE_FLAG_UNREACHABLE (1llu << 44)

The device is currently unreachable, perhaps because it is in a lower power state or is out of wireless range.

Since 1.7.0

### FWUPD_DEVICE_FLAG_AFFECTS_FDE

    #define FWUPD_DEVICE_FLAG_AFFECTS_FDE (1llu << 45)

The device is warning that a volume with full-disk-encryption was found on this machine, typically a Windows NTFS partition with BitLocker. Updating the firmware on this device may invalidate secrets used to decrypt the volume, and the recovery key may be required.

Supported clients will display this information as a warning to the user.

Since: 1.7.1

### FWUPD_DEVICE_FLAG_END_OF_LIFE

    #define FWUPD_DEVICE_FLAG_END_OF_LIFE (1llu << 46)

The device is no longer supported by the original hardware vendor as it is considered end-of-life. It it unlikely to receive firmware updates, even for security issues.

Since: 1.7.5

### FWUPD_DEVICE_FLAG_SIGNED_PAYLOAD

    #define FWUPD_DEVICE_FLAG_SIGNED_PAYLOAD (1llu << 47)

The firmware payload is verified on-device the payload using strong cryptography such as RSA, AES or ECC.

It is usually not possible to modify or flash custom firmware not provided by the vendor.

Since: 1.7.6

### FWUPD_DEVICE_FLAG_UNSIGNED_PAYLOAD

    #define FWUPD_DEVICE_FLAG_UNSIGNED_PAYLOAD (1llu << 48)

The firmware payload is unsigned and it is possible to modify and flash custom firmware.

Since: 1.7.6

### FWUPD_DEVICE_FLAG_UNKNOWN

    #define FWUPD_DEVICE_FLAG_UNKNOWN G_MAXUINT64

This flag is not defined, this typically will happen from mismatched fwupd library and clients.

Since 0.7.3

### FwupdDeviceFlags

    typedef guint64 FwupdDeviceFlags;

Flags used to represent device attributes

### FWUPD_DEVICE_PROBLEM_NONE

    #define FWUPD_DEVICE_PROBLEM_NONE (0u)

No device problems detected.

Since 1.8.1

### FWUPD_DEVICE_PROBLEM_SYSTEM_POWER_TOO_LOW

    #define FWUPD_DEVICE_PROBLEM_SYSTEM_POWER_TOO_LOW (1u << 0)

The system power is too low to perform the update.

Since 1.8.1

### FWUPD_DEVICE_PROBLEM_UNREACHABLE

    #define FWUPD_DEVICE_PROBLEM_UNREACHABLE (1u << 1)

The device is unreachable, or out of wireless range.

Since 1.8.1

### FWUPD_DEVICE_PROBLEM_POWER_TOO_LOW

    #define FWUPD_DEVICE_PROBLEM_POWER_TOO_LOW (1u << 2)

The device battery power is too low.

Since 1.8.1

### FWUPD_DEVICE_PROBLEM_UPDATE_PENDING

    #define FWUPD_DEVICE_PROBLEM_UPDATE_PENDING (1u << 3)

The device is waiting for the update to be applied.

Since 1.8.1

### FWUPD_DEVICE_PROBLEM_REQUIRE_AC_POWER

    #define FWUPD_DEVICE_PROBLEM_REQUIRE_AC_POWER (1u << 4)

The device requires AC power to be connected.

Since 1.8.1

### FWUPD_DEVICE_PROBLEM_UNKNOWN

    #define FWUPD_DEVICE_PROBLEM_UNKNOWN G_MAXUINT64

This problem is not defined, this typically will happen from mismatched fwupd library and clients.

Since 1.8.1

### FwupdDeviceProblem

    typedef guint64 FwupdDeviceProblem;

Problems are reasons why the device is not updatable.

All problems have to be fixable by the user, rather than the plugin author.

### FWUPD_RELEASE_FLAG_NONE

    #define FWUPD_RELEASE_FLAG_NONE (0u)

No flags are set.

Since: 1.2.6

### FWUPD_RELEASE_FLAG_TRUSTED_PAYLOAD

    #define FWUPD_RELEASE_FLAG_TRUSTED_PAYLOAD (1u << 0)

The payload binary is trusted.

Since: 1.2.6

### FWUPD_RELEASE_FLAG_TRUSTED_METADATA

    #define FWUPD_RELEASE_FLAG_TRUSTED_METADATA (1u << 1)

The payload metadata is trusted.

Since: 1.2.6

### FWUPD_RELEASE_FLAG_BLOCKED_VERSION

    #define FWUPD_RELEASE_FLAG_BLOCKED_VERSION (1u << 4)

The installation of the release is blocked as below device version-lowest.

Since: 1.2.6

### FWUPD_RELEASE_FLAG_BLOCKED_APPROVAL

    #define FWUPD_RELEASE_FLAG_BLOCKED_APPROVAL (1u << 5)

The installation of the release is blocked as release not approved by an administrator.

Since: 1.2.6

### FWUPD_RELEASE_FLAG_UNKNOWN

    #define FWUPD_RELEASE_FLAG_UNKNOWN G_MAXUINT64

The release flag is unknown, typically caused by using mismatched client and daemon.

Since: 1.2.6

### FwupdReleaseFlags

    typedef guint64 FwupdReleaseFlags;

Flags used to represent release attributes

### enum FwupdReleaseUrgency

The release urgency.

#### Members

FWUPD_RELEASE_URGENCY_UNKNOWN | Unknown |
FWUPD_RELEASE_URGENCY_LOW | Low |
FWUPD_RELEASE_URGENCY_MEDIUM | Medium |
FWUPD_RELEASE_URGENCY_HIGH | High |
FWUPD_RELEASE_URGENCY_CRITICAL | Critical, e.g. a security fix |

### FWUPD_PLUGIN_FLAG_NONE

    #define FWUPD_PLUGIN_FLAG_NONE (0u)

No plugin flags are set.

Since: 1.5.0

### FWUPD_PLUGIN_FLAG_DISABLED

    #define FWUPD_PLUGIN_FLAG_DISABLED (1u << 0)

The plugin has been disabled, either by daemon configuration or a problem.

Since: 1.5.0

### FWUPD_PLUGIN_FLAG_USER_WARNING

    #define FWUPD_PLUGIN_FLAG_USER_WARNING (1u << 1)

The plugin has a problem and would like to show a user warning to a supported client.

Since: 1.5.0

### FWUPD_PLUGIN_FLAG_CLEAR_UPDATABLE

    #define FWUPD_PLUGIN_FLAG_CLEAR_UPDATABLE (1u << 2)

When the plugin loads it should clear the UPDATABLE flag from any devices. This typically happens when the device requires a system restart.

Since: 1.5.0

### FWUPD_PLUGIN_FLAG_NO_HARDWARE

    #define FWUPD_PLUGIN_FLAG_NO_HARDWARE (1u << 3)

The plugin won't load because no supported hardware was found. This typically happens with plugins designed for a specific platform design (such as the dell plugin only works on Dell systems).

Since: 1.5.0

### FWUPD_PLUGIN_FLAG_CAPSULES_UNSUPPORTED

    #define FWUPD_PLUGIN_FLAG_CAPSULES_UNSUPPORTED (1u << 4)

The plugin discovered that UEFI UpdateCapsule are unsupported. Supported clients will display this information to a user.

Since: 1.5.0

### FWUPD_PLUGIN_FLAG_UNLOCK_REQUIRED

    #define FWUPD_PLUGIN_FLAG_UNLOCK_REQUIRED (1u << 5)

The plugin discovered that hardware unlock is required. Supported clients will display this information to a user.

Since: 1.5.0

### FWUPD_PLUGIN_FLAG_EFIVAR_NOT_MOUNTED

    #define FWUPD_PLUGIN_FLAG_EFIVAR_NOT_MOUNTED (1u << 6)

The plugin discovered the efivar filesystem is not found and is required for this plugin. Supported clients will display this information to a user.

Since: 1.5.0

### FWUPD_PLUGIN_FLAG_ESP_NOT_FOUND

    #define FWUPD_PLUGIN_FLAG_ESP_NOT_FOUND (1u << 7)

The plugins discovered that the EFI system partition was not found. Supported clients will display this information to a user.

Since: 1.5.0

### FWUPD_PLUGIN_FLAG_LEGACY_BIOS

    #define FWUPD_PLUGIN_FLAG_LEGACY_BIOS (1u << 8)

The plugin discovered the system is running in legacy CSM mode. Supported clients will display this information to a user.

Since: 1.5.0

### FWUPD_PLUGIN_FLAG_FAILED_OPEN

    #define FWUPD_PLUGIN_FLAG_FAILED_OPEN (1u << 9)

Failed to open plugin (missing dependency). Supported clients will display this information to a user.

Since: 1.5.0

### FWUPD_PLUGIN_FLAG_REQUIRE_HWID

    #define FWUPD_PLUGIN_FLAG_REQUIRE_HWID (1u << 10)

A specific HWID is required to use this plugin.

Since: 1.5.8

### FWUPD_PLUGIN_FLAG_KERNEL_TOO_OLD

    #define FWUPD_PLUGIN_FLAG_KERNEL_TOO_OLD (1u << 11)

The feature is not supported as the kernel is too old.

Since: 1.6.2

### FWUPD_PLUGIN_FLAG_AUTH_REQUIRED

    #define FWUPD_PLUGIN_FLAG_AUTH_REQUIRED (1u << 12)

The plugin requires the user to provide authentication details. Supported clients will display this information to a user.

Since: 1.6.2

### FWUPD_PLUGIN_FLAG_UNKNOWN

    #define FWUPD_PLUGIN_FLAG_UNKNOWN G_MAXUINT64

The plugin flag is Unknown. This is usually caused by a mismatched libfwupdplugin and daemon.

Since: 1.5.0

### FwupdPluginFlags

    typedef guint64 FwupdPluginFlags;

Flags used to represent plugin attributes

### enum FwupdInstallFlags

Flags to set when performing the firmware update or install.

#### Members

FWUPD_INSTALL_FLAG_NONE | No flags set |
FWUPD_INSTALL_FLAG_OFFLINE | Schedule this for next boot |
FWUPD_INSTALL_FLAG_ALLOW_REINSTALL | Allow reinstalling the same version |
FWUPD_INSTALL_FLAG_ALLOW_OLDER | Allow downgrading firmware |
FWUPD_INSTALL_FLAG_FORCE | Force the update even if not a good idea |
FWUPD_INSTALL_FLAG_NO_HISTORY | Do not write to the history database |
FWUPD_INSTALL_FLAG_ALLOW_BRANCH_SWITCH | Allow firmware branch switching |
FWUPD_INSTALL_FLAG_IGNORE_CHECKSUM | Ignore firmware CRCs and checksums |
FWUPD_INSTALL_FLAG_IGNORE_VID_PID | Ignore firmware vendor and project checks |
FWUPD_INSTALL_FLAG_IGNORE_POWER | Ignore requirement of external power source (Deprecated since 1.7.0) |
FWUPD_INSTALL_FLAG_NO_SEARCH | Do not use heuristics when parsing the image |

### enum FwupdSelfSignFlags

Flags to set when performing the firmware update or install.

#### Members

FWUPD_SELF_SIGN_FLAG_NONE | No flags set |
FWUPD_SELF_SIGN_FLAG_ADD_TIMESTAMP | Add the timestamp to the detached signature |
FWUPD_SELF_SIGN_FLAG_ADD_CERT | Add the certificate to the detached signature |

### enum FwupdUpdateState

The update state.

#### Members

FWUPD_UPDATE_STATE_UNKNOWN | Unknown |
FWUPD_UPDATE_STATE_PENDING | Update is pending |
FWUPD_UPDATE_STATE_SUCCESS | Update was successful |
FWUPD_UPDATE_STATE_FAILED | Update failed |
FWUPD_UPDATE_STATE_NEEDS_REBOOT | Waiting for a reboot to apply |
FWUPD_UPDATE_STATE_FAILED_TRANSIENT | Update failed due to transient issue, e.g. AC power required |

### enum FwupdKeyringKind

Type of keyring used on a remote.

#### Members

FWUPD_KEYRING_KIND_UNKNOWN | Unknown |
FWUPD_KEYRING_KIND_NONE | No verification |
FWUPD_KEYRING_KIND_GPG | Verification using GPG |
FWUPD_KEYRING_KIND_PKCS7 | Verification using PKCS7 |
FWUPD_KEYRING_KIND_JCAT | Verification using Jcat |

### enum FwupdVersionFormat

The flags used when parsing version numbers.

If no verification is required then `FWUPD_VERSION_FORMAT_PLAIN` should be used to signify an unparsable text string.

#### Members

FWUPD_VERSION_FORMAT_UNKNOWN | Unknown version format |
FWUPD_VERSION_FORMAT_PLAIN | An unidentified format text string |
FWUPD_VERSION_FORMAT_NUMBER | A single integer version number |
FWUPD_VERSION_FORMAT_PAIR | Two AABB.CCDD version numbers |
FWUPD_VERSION_FORMAT_TRIPLET | Microsoft-style AA.BB.CCDD version numbers |
FWUPD_VERSION_FORMAT_QUAD | UEFI-style AA.BB.CC.DD version numbers |
FWUPD_VERSION_FORMAT_BCD | Binary coded decimal notation |
FWUPD_VERSION_FORMAT_INTEL_ME | Intel ME-style bitshifted notation |
FWUPD_VERSION_FORMAT_INTEL_ME2 | Intel ME-style A.B.CC.DDDD notation notation |
FWUPD_VERSION_FORMAT_SURFACE_LEGACY | Legacy Microsoft Surface 10b.12b.10b |
FWUPD_VERSION_FORMAT_SURFACE | Microsoft Surface 8b.16b.8b |
FWUPD_VERSION_FORMAT_DELL_BIOS | Dell BIOS BB.CC.DD style |
FWUPD_VERSION_FORMAT_HEX | Hexadecimal 0xAABCCDD style |

### FWUPD_BATTERY_LEVEL_INVALID

    #define FWUPD_BATTERY_LEVEL_INVALID 101

This value signifies the battery level is either unset, or the value cannot be discovered.