Namespace

Fwupd – 2.0

Functionality exported by libfwupd for client applications

Version2.0.1
Authorsfwupd Development Team
LicenseLGPL-2.1-or-later
Websitehttps://www.fwupd.org
Sourcehttps://github.com/fwupd/fwupd

Build

C headersfwupd.h
pkg-config filesfwupd

Dependencies

GObject—2.0 The base type system library
Browse documentation
Gio—2.0 A modern, easy-to-use VFS API
Browse documentation
Json—1.0 API for efficient parsing and writing of JSON (JavaScript Object Notation) streams
Browse documentation

Additional documentation

Classes

BiosSetting

A BIOS setting that represents a setting in the firmware.

Client

Allow client code to call the daemon methods.

Device

A physical device on the host with optionally updatable firmware.

Plugin

A plugin which is used by fwupd to enumerate and update devices.

Release

A firmware release with a specific version.

Remote

A source of metadata that provides firmware.

Report

A firmware report from a vendor.

Request

A user request from the device.

SecurityAttr

A Host Security ID attribute that represents something that was measured.

Interfaces

Codec

A codec that can serialize and deserialize objects to formats such as text, JSON or GVariant.

Aliases

Enumerations

BiosSettingKind

The type of BIOS setting.

ReleaseUrgency

The release urgency.

RemoteKind

The kind of remote.

RequestKind

The kind of request we are asking of the user.

SecurityAttrLevel

The HSI level.

SecurityAttrResult

The HSI result.

Status

The flags to show daemon status.

UpdateState

The update state.

VersionFormat

The flags used when parsing version numbers.

Bitfields

ClientDownloadFlags

The options to use for downloading.

ClientUploadFlags

The options to use for uploading.

CodecFlags

The flags to use when converting data from one form to another.

DeviceFlags

Flags used to represent device attributes.

DeviceProblem

Problems are reasons why the device is not updatable.

FeatureFlags

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

GuidFlags

The flags to show how the data should be converted.

InstallFlags

Flags to set when performing the firmware update or install.

PluginFlags

Flags used to represent plugin attributes.

ReleaseFlags

Flags used to represent release attributes.

RemoteFlags

The flags available for the remote.

ReportFlags

Flags used to represent report attributes.

RequestFlags

Flags used to represent request attributes.

SecurityAttrFlags

The flags available for HSI attributes.

SelfSignFlags

Flags to set when performing the firmware update or install.

Error Domains

Error

The error code.

Functions

checksum_format_for_display

Formats a checksum for display.

since: 0.9.3

checksum_get_best

Gets a the best possible checksum kind.

since: 0.9.4

checksum_get_by_kind

Gets a specific checksum kind.

since: 0.9.4

checksum_guess_kind

Guesses the checksum kind based on the length of the hash.

since: 0.9.3

checksum_type_to_string_display

Formats a checksum type for display.

since: 1.9.6

error_convert

Convert the error to a FwupdError, if required.

since: 2.0.0

error_from_string

Converts a string to an enumerated error.

since: 0.7.0

error_quark

An error quark.

since: 0.1.1

error_to_string

Converts an enumerated error to a string.

since: 0.7.0

feature_flag_from_string

Converts a string to an enumerated feature flag.

since: 1.4.5

feature_flag_to_string

Converts a feature flag to a string.

since: 1.4.5

guid_from_string

Converts a string GUID into its binary encoding. All string GUIDs are formatted as big endian but on-disk can be encoded in different ways.

since: 1.2.5

guid_hash_data

Returns a GUID for some data. This uses a hash and so even small differences in the data will produce radically different return values.

since: 1.2.5

guid_hash_string

Returns a GUID for a given string. This uses a hash and so even small differences in the str will produce radically different return values.

since: 1.2.5

guid_is_valid

Checks the string is a valid GUID.

since: 1.2.5

guid_to_string

Returns a text GUID of mixed or BE endian for a packed buffer.

since: 1.2.5

install_flags_to_string

Converts an install flag to text.

since: 2.0.0

status_from_string

Converts a string to an enumerated status.

since: 0.1.1

status_to_string

Converts an enumerated status to a string.

since: 0.1.1

update_state_from_string

Converts a string to an enumerated update state.

since: 0.7.0

update_state_to_string

Converts an enumerated update state to a string.

since: 0.7.0

version_format_from_string

Converts text to a display version type.

since: 1.2.9

version_format_to_string

Converts an enumerated version format to text.

since: 1.2.9

version_string

Gets the libfwupd installed runtime version.

since: 1.6.1

Function Macros

CHECK_VERSION

Check whether a fwupd version equal to or greater than major.minor.micro.

Constants

BATTERY_LEVEL_INVALID

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

BIOS_SETTING_DEBUG_CMD

BIOS_SETTING_PENDING_REBOOT

BIOS_SETTING_RESET_BIOS

DBUS_INTERFACE

The dbus interface.

DBUS_PATH

The dbus path.

DBUS_SERVICE

The dbus service.

DEVICE_ID_ANY

Wildcard used for matching all device ids in fwupd.

MAJOR_VERSION

The compile-time major version.

MICRO_VERSION

The compile-time micro version.

MINOR_VERSION

The compile-time minor version.

REQUEST_ID_DO_NOT_POWER_OFF

Show the user a message not to unplug the machine from the AC power, e.g. “Do not turn off your computer or remove the AC adaptor until you are sure the update has completed.”.

REQUEST_ID_INSERT_USB_CABLE

The user needs to insert the cable to complete the update, e.g. “The update will continue when the device USB cable has been re-inserted.”.

REQUEST_ID_PRESS_UNLOCK

The user needs to press unlock on the device to continue, e.g. “Press unlock on the device to continue the update process.”.

REQUEST_ID_REMOVE_REPLUG

The user needs to remove and reinsert the device to complete the update, e.g. “The update will continue when the device USB cable has been unplugged and then re-inserted.”.

REQUEST_ID_REMOVE_USB_CABLE

The user needs to remove the device to complete the update, e.g. “The update will continue when the device USB cable has been unplugged.”.

REQUEST_ID_REPLUG_INSTALL

Show the user a message to replug the device and then install the firmware, e.g. “Unplug and replug the device, to continue the update process.”.

REQUEST_ID_REPLUG_POWER

Show the user a message to replug the power connector, e.g. “The update will continue when the device power cable has been unplugged and then re-inserted.”.

REQUEST_ID_RESTART_DAEMON

Show the user a message that they need to restart the daemon, e.g. “Please restart the fwupd service.”.

RESULT_KEY_APPSTREAM_ID

Result key to represent AppstreamId.

RESULT_KEY_BATTERY_LEVEL

Result key to represent the current battery level in percent. Expressed from 0-100%, or 101 for invalid or unset.

RESULT_KEY_BATTERY_THRESHOLD

Result key to represent the minimum battery level required to perform an update. Expressed from 0-100%, or 101 for invalid or unset.

RESULT_KEY_BIOS_SETTING_CURRENT_VALUE

Result key to represent the current value of BIOS setting.

RESULT_KEY_BIOS_SETTING_ID

Result key to represent the unique identifier of the BIOS setting.

RESULT_KEY_BIOS_SETTING_LOWER_BOUND

Result key to represent the upper bound for an integer BIOS setting. or minimum length for string BIOS setting. The D-Bus type signature string is ‘t’ i.e. a unsigned 64 bit integer.

RESULT_KEY_BIOS_SETTING_POSSIBLE_VALUES

Result key to represent possible values.

RESULT_KEY_BIOS_SETTING_READ_ONLY

Result key to represent whether BIOS setting is read only.

RESULT_KEY_BIOS_SETTING_SCALAR_INCREMENT

Result key to represent the scalar increment for an integer BIOS setting.

RESULT_KEY_BIOS_SETTING_TARGET_VALUE

Result key to represent the value that would enable this attribute.

RESULT_KEY_BIOS_SETTING_TYPE

Result key to represent the type of BIOS setting. 0 is invalid, 1+ represent an attribute type.

RESULT_KEY_BIOS_SETTING_UPPER_BOUND

Result key to represent the lower bound for an integer BIOS setting or maximum length for string BIOS setting.

RESULT_KEY_BRANCH

Result key to represent Branch.

RESULT_KEY_CATEGORIES

Result key to represent Categories.

RESULT_KEY_CHECKSUM

Result key to represent Checksum.

RESULT_KEY_COMPOSITE_ID

Result key to represent CompositeId.

RESULT_KEY_CREATED

Result key to represent Created.

RESULT_KEY_DESCRIPTION

Result key to represent Description.

RESULT_KEY_DETACH_CAPTION

Result key to represent DetachCaption.

RESULT_KEY_DETACH_IMAGE

Result key to represent DetachImage.

RESULT_KEY_DETAILS_URL

Result key to represent DetailsUrl.

RESULT_KEY_DEVICE_ID

Result key to represent DeviceId.

RESULT_KEY_DEVICE_NAME

Result key to represent the device name.

RESULT_KEY_DISTRO_ID

Result key to represent the distribution ID.

RESULT_KEY_DISTRO_VARIANT

Result key to represent the distribution variant.

RESULT_KEY_DISTRO_VERSION

Result key to represent the distribution version.

RESULT_KEY_FILENAME

Result key to represent Filename.

RESULT_KEY_FLAGS

Result key to represent Flags.

RESULT_KEY_FLASHES_LEFT

Result key to represent FlashesLeft.

RESULT_KEY_GUID

Result key to represent Guid.

RESULT_KEY_HOMEPAGE

Result key to represent Homepage.

RESULT_KEY_HSI_LEVEL

Result key to represent HsiLevel.

RESULT_KEY_HSI_RESULT

Result key to represent HsiResult.

RESULT_KEY_HSI_RESULT_FALLBACK

Result key to represent the fallback HsiResult.

RESULT_KEY_HSI_RESULT_SUCCESS

Result key to represent the desired HsiResult.

RESULT_KEY_ICON

Result key to represent Icon.

RESULT_KEY_INSTALL_DURATION

Result key to represent InstallDuration.

RESULT_KEY_INSTANCE_IDS

Result key to represent InstanceIds.

RESULT_KEY_ISSUES

Result key to represent Issues.

RESULT_KEY_KERNEL_CURRENT_VALUE

Result key to represent the current kernel setting.

RESULT_KEY_KERNEL_TARGET_VALUE

Result key to represent the target kernel setting.

RESULT_KEY_LICENSE

Result key to represent License.

RESULT_KEY_LOCATIONS

Result key to represent Locations.

RESULT_KEY_METADATA

Result key to represent Metadata.

RESULT_KEY_MODIFIED

Result key to represent Modified.

RESULT_KEY_NAME

Result key to represent Name.

RESULT_KEY_NAME_VARIANT_SUFFIX

Result key to represent NameVariantSuffix.

RESULT_KEY_PARENT_DEVICE_ID

Result key to represent ParentDeviceId.

RESULT_KEY_PERCENTAGE

Result key to represent progress percentage, typically installation or verification.

RESULT_KEY_PLUGIN

Result key to represent Plugin.

RESULT_KEY_PROBLEMS

Result key to represent problems.

RESULT_KEY_PROTOCOL

Result key to represent Protocol.

RESULT_KEY_RELEASE

Result key to represent Release.

RESULT_KEY_RELEASE_ID

Result key to represent the release ID.

RESULT_KEY_REMOTE_ID

Result key to represent RemoteId.

RESULT_KEY_REPORTS

Result key to represent an array of reports.

RESULT_KEY_REQUEST_FLAGS

Result key to represent RequestFlags.

RESULT_KEY_REQUEST_KIND

Result key to represent RequestKind.

RESULT_KEY_SERIAL

Result key to represent Serial.

RESULT_KEY_SIZE

Result key to represent Size.

RESULT_KEY_SOURCE_URL

Result key to represent SourceUrl.

RESULT_KEY_STATUS

Result key to represent Status.

RESULT_KEY_SUMMARY

Result key to represent Summary.

RESULT_KEY_TAGS

Result key to represent release tags.

RESULT_KEY_TRUST_FLAGS

Result key to represent TrustFlags.

RESULT_KEY_UPDATE_ERROR

Result key to represent UpdateError.

RESULT_KEY_UPDATE_IMAGE

Result key to represent UpdateImage.

RESULT_KEY_UPDATE_MESSAGE

Result key to represent UpdateMessage.

RESULT_KEY_UPDATE_STATE

Result key to represent UpdateState.

RESULT_KEY_URGENCY

Result key to represent Urgency.

RESULT_KEY_URI

Result key to represent Uri.

RESULT_KEY_VENDOR

Result key to represent Vendor.

RESULT_KEY_VENDOR_ID

Result key to represent VendorId.

RESULT_KEY_VERSION

Result key to represent Version.

RESULT_KEY_VERSION_BOOTLOADER

Result key to represent VersionBootloader.

RESULT_KEY_VERSION_BOOTLOADER_RAW

Result key to represent VersionBootloaderRaw.

RESULT_KEY_VERSION_BUILD_DATE

Result key to represent VersionBuildDate.

RESULT_KEY_VERSION_FORMAT

Result key to represent VersionFormat.

RESULT_KEY_VERSION_LOWEST

Result key to represent VersionLowest.

RESULT_KEY_VERSION_LOWEST_RAW

Result key to represent VersionLowestRaw.

RESULT_KEY_VERSION_OLD

Result key to represent the old version string.

RESULT_KEY_VERSION_RAW

Result key to represent VersionRaw.

SECURITY_ATTR_ID_AMD_ROLLBACK_PROTECTION

Host Security ID attribute for Rollback protection of AMD platform firmware.

SECURITY_ATTR_ID_AMD_SPI_REPLAY_PROTECTION

Host Security ID attribute for SPI replay protection.

SECURITY_ATTR_ID_AMD_SPI_WRITE_PROTECTION

Host Security ID attribute for SPI Write protection.

SECURITY_ATTR_ID_BIOS_CAPSULE_UPDATES

Host Security ID attribute indicating Capsule updates are supported by the BIOS.

SECURITY_ATTR_ID_BIOS_ROLLBACK_PROTECTION

Host Security ID attribute for Rollback protection of BIOS firmware.

SECURITY_ATTR_ID_CET_ACTIVE

Host Security ID attribute for Intel CET active.

SECURITY_ATTR_ID_CET_ENABLED

Host Security ID attribute for Intel CET enabled.

SECURITY_ATTR_ID_ENCRYPTED_RAM

Host Security ID attribute indicating encrypted RAM available.

SECURITY_ATTR_ID_FWUPD_ATTESTATION

Host Security ID attribute for attestation.

SECURITY_ATTR_ID_FWUPD_PLUGINS

Host Security ID attribute for plugins.

SECURITY_ATTR_ID_FWUPD_UPDATES

Host Security ID attribute for updates.

SECURITY_ATTR_ID_HOST_EMULATION

Host Security ID attribute for host emulation.

SECURITY_ATTR_ID_INTEL_BOOTGUARD_ACM

Host Security ID attribute for Intel Bootguard ACM.

SECURITY_ATTR_ID_INTEL_BOOTGUARD_ENABLED

Host Security ID attribute for Intel Bootguard enabled.

SECURITY_ATTR_ID_INTEL_BOOTGUARD_OTP

Host Security ID attribute for Intel Bootguard OTP fuse.

SECURITY_ATTR_ID_INTEL_BOOTGUARD_POLICY

Host Security ID attribute for Intel Bootguard policy.

SECURITY_ATTR_ID_INTEL_BOOTGUARD_VERIFIED

Host Security ID attribute for Intel Bootguard verified.

SECURITY_ATTR_ID_INTEL_GDS

Host Security ID attribute indicating the processor is safe against Gather Data Sampling.

SECURITY_ATTR_ID_IOMMU

Host Security ID attribute for IOMMU.

SECURITY_ATTR_ID_KERNEL_LOCKDOWN

Host Security ID attribute for kernel lockdown.

SECURITY_ATTR_ID_KERNEL_SWAP

Host Security ID attribute for kernel swap.

SECURITY_ATTR_ID_KERNEL_TAINTED

Host Security ID attribute for kernel taint.

SECURITY_ATTR_ID_MEI_KEY_MANIFEST

Host Security ID attribute for Intel ME Key Manifest.

SECURITY_ATTR_ID_MEI_MANUFACTURING_MODE

Host Security ID attribute for Intel ME manufacturing mode.

SECURITY_ATTR_ID_MEI_OVERRIDE_STRAP

Host Security ID attribute for Intel ME override strap.

SECURITY_ATTR_ID_MEI_VERSION

Host Security ID attribute for Intel ME version.

SECURITY_ATTR_ID_PLATFORM_DEBUG_ENABLED

Host Security ID attribute for parts with debugging capabilities enabled.

SECURITY_ATTR_ID_PLATFORM_DEBUG_LOCKED

Host Security ID attribute for parts locked from debugging.

SECURITY_ATTR_ID_PLATFORM_FUSED

Host Security ID attribute for fused parts.

SECURITY_ATTR_ID_PREBOOT_DMA_PROTECTION

Host Security ID attribute for Pre-boot DMA protection.

SECURITY_ATTR_ID_SMAP

Host Security ID attribute for SMAP.

SECURITY_ATTR_ID_SPI_BIOSWE

Host Security ID attribute for Intel SPI BIOSWE configuration.

SECURITY_ATTR_ID_SPI_BLE

Host Security ID attribute for Intel SPI BLE configuration.

SECURITY_ATTR_ID_SPI_DESCRIPTOR

Host Security ID attribute for Intel SPI descriptor.

SECURITY_ATTR_ID_SPI_SMM_BWP

Host Security ID attribute for Intel SPI SMM BWP.

SECURITY_ATTR_ID_SUPPORTED_CPU

Host Security ID attribute for Supported CPU.

SECURITY_ATTR_ID_SUSPEND_TO_IDLE

Host Security ID attribute for Suspend to Idle.

SECURITY_ATTR_ID_SUSPEND_TO_RAM

Host Security ID attribute for Suspend to RAM.

SECURITY_ATTR_ID_TPM_EMPTY_PCR

Host Security ID attribute for empty PCR.

SECURITY_ATTR_ID_TPM_RECONSTRUCTION_PCR0

Host Security ID attribute for TPM PCR0 reconstruction.

SECURITY_ATTR_ID_TPM_VERSION_20

Host Security ID attribute for TPM 2.0.

SECURITY_ATTR_ID_UEFI_BOOTSERVICE_VARS

Host Security ID attribute indicating if Bootservice-only variables are hidden.

SECURITY_ATTR_ID_UEFI_PK

Host Security ID attribute for UEFI PK.

SECURITY_ATTR_ID_UEFI_SECUREBOOT

Host Security ID attribute for UEFI secure boot.