Namespace

FwupdPlugin – 1.0

Functionality available to fwupd plugins

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

Build

C headersfwupdplugin.h
pkg-config filesfwupdplugin

Dependencies

GObject—2.0 The base type system library
Browse documentation
Gio—2.0 A modern, easy-to-use VFS API
Browse documentation
Fwupd—2.0 Firmware update daemon client library
Browse documentation

Additional documentation

Classes

AcpiTable

An generic ACPI table.

Archive

An in-memory archive decompressor.

ArchiveFirmware

An archive firmware image, typically for nested firmware volumes.

Backend

An device discovery backend, for instance USB, BlueZ or UDev.

BiosSettings

BluezDevice

A BlueZ Bluetooth device.

Cabinet

Cabinet archive parser and writer.

CfiDevice

A chip conforming to the Common Flash Memory Interface, typically a SPI flash chip.

CfuOffer

A CFU offer. This is a 16 byte blob which contains enough data for the device to either accept or refuse a firmware payload. The offer may be loaded from disk, network, or even constructed manually. There is much left to how the specific firmware implements CFU, and it’s expected that multiple different plugins will use this offer in different ways.

CfuPayload

A CFU payload. This contains of a variable number of blocks, each containing the address, size and the chunk data. The chunks do not have to be the same size, and the address ranges do not have to be continuous.

Chunk

A optionally mutable packet of chunked data with address, page and index.

Context

A context that represents the shared system state. This object is shared between the engine, the plugins and the devices.

CoswidFirmware

A coSWID SWID section.

Device

A physical or logical device that is exported to the daemon.

DeviceLocker

Easily close a shared resource (such as a device) when an object goes out of scope.

DeviceProgress

DfuFirmware

A DFU firmware image.

DfuseFirmware

A DfuSe firmware image.

EfiFirmwareFile

A UEFI file.

EfiFirmwareFilesystem

A UEFI filesystem.

EfiFirmwareSection

A UEFI firmware section.

EfiFirmwareVolume

A UEFI file volume.

EfiSignature

A UEFI Signature as found in an EFI_SIGNATURE_LIST.

EfiSignatureList

A UEFI signature list typically found in the PK and KEK keys.

FdtFirmware

A Flattened DeviceTree firmware image.

FdtImage

A Flattened DeviceTree firmware image.

Firmware

A firmware file which can have children which represent the images within.

FitFirmware

A Flat Image Tree.

FmapFirmware

A FMAP firmware image.

HidDevice

A Human Interface Device (HID) device.

Hwids

A the hardware IDs on the system.

I2cDevice

A I²C device with an assigned bus number.

IfdBios

An Intel BIOS section.

IfdFirmware

An Intel Flash Descriptor.

IfdImage

An Intel Flash Descriptor image, e.g. BIOS.

IfwiCpdFirmware

An Intel Code Partition Directory (aka CPD) can be found in IFWI (Integrated Firmware Image) firmware blobs which are used in various Intel products using an IPU (Infrastructure Processing Unit).

IfwiFptFirmware

An Intel Flash Program Tool (aka FPT) header can be found in IFWI (Integrated Firmware Image) firmware blobs which are used in various Intel products using an IPU (Infrastructure Processing Unit).

IhexFirmware

A Intel hex (ihex) firmware image.

IntelThunderboltFirmware

The Non-Volatile-Memory file-format specification. This is what you would find as the update payload.

IntelThunderboltNvm

The Non-Volatile-Memory device specification. This is what you would find on the device SPI chip.

IOChannel

A bidirectional IO channel which can be read from and written to.

LinearFirmware

A firmware made up of concatenated blobs of a different firmware type.

MeiDevice

The Intel proprietary Management Engine Interface.

OpromFirmware

An OptionROM can be found in nearly every PCI device. Multiple OptionROM images may be appended.

PefileFirmware

A PE file consists of a Microsoft MS-DOS stub, the PE signature, the COFF file header, and an optional header, followed by section data.

Plugin

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

Progress

Objects can use fu_progress_set_percentage() if the absolute percentage is known. Percentages should always go up, not down.

Quirks

Quirks can be used to modify device behavior. When fwupd is installed in long-term support distros it’s very hard to backport new versions as new hardware is released.

SecurityAttr

SecurityAttrs

A set of Host Security ID attributes that represents the system state.

Smbios

Enumerate the SMBIOS data on the system.

SrecFirmware

A SREC firmware image.

UdevDevice

A UDev device, typically only available on Linux.

UsbDevice

A USB device.

UsbDeviceDs20

A USB DS20 BOS descriptor.

UsbDeviceFwDs20

UsbDeviceMsDs20

UswidFirmware

A uSWID header with multiple optionally-compressed coSWID CBOR sections.

Volume

Volume abstraction that uses UDisks.

Structs

PluginData

The plugin-allocated private data.

PluginVfuncs

A subset of virtual functions that are implemented by modular plugins.

Aliases

ContextFlags

The context flags.

DeviceInternalFlags

The device internal flags.

EndianType

The endian type, e.g. G_LITTLE_ENDIAN.

FirmwareExportFlags

The firmware export flags.

FirmwareFlags

The firmware flags.

ProgressFlags

The progress internal flags.

Enumerations

ArchiveCompression

The archive compression.

ArchiveFormat

The archive format.

BackendLoadFlags

BackendSaveFlags

CabinetExportFlags

The flags to use when exporting the archive.

CabinetParseFlags

The flags to use when loading the cabinet.

CabinetSignFlags

The flags to use when signing the archive.

CfiDeviceCmd

Commands used when calling fu_cfi_device_get_cmd().

CpuVendor

The CPU vendor.

EfiSignatureKind

The kind of EFI signature.

FirmareSrecRecordKind

The kind of SREC record kind.

IfdRegion

The IFD region.

LidState

The device lid state.

PathKind

Path types to use when dynamically determining a path at runtime.

PciBaseCls

PCI base class types returned by fu_udev_device_get_cls().

PluginRule

The rules used for ordering plugins. Plugins are expected to add rules in fu_plugin_initialize().

PluginVerifyFlags

Flags used when verifying, currently unused.

PowerState

The system power state.

SmbiosChassisKind

The system chassis kind.

Bitfields

ArchiveFlags

The flags to use when loading the archive.

ContextHwidFlags

DeviceInstanceFlags

The flags to use when interacting with a device instance.

DumpFlags

The flags to use when configuring debugging.

HidDeviceFlags

Flags used when calling fu_hid_device_get_report() and fu_hid_device_set_report().

IfdAccess

The flags to use for IFD access permissions.

IOChannelFlags

The flags used when reading data from the TTY.

QuirksLoadFlags

The flags to use when loading quirks.

SecurityAttrsFlags

The flags to use when calculating an HSI version.

UdevDeviceFlags

Flags used when opening the device using fu_device_open().

Callbacks

ArchiveIterateFunc

The archive iteration callback.

ContextLookupIter

The context lookup iteration callback.

DeviceLockerFunc

Callback to use when opening and closing using fu_device_locker_new_full().

DeviceRetryFunc

The device retry iteration callback.

QuirksIter

The quirks iteration callback.

StrsplitFunc

The fu_strsplit_full() iteration callback.

Functions

byte_array_align_up

Align a byte array length to a power of 2 boundary, where alignment is the bit position to align to. If alignment is zero then array is unchanged.

since: 1.6.0

byte_array_append_bytes

Adds the contents of a GBytes to a byte array.

since: 1.5.8

byte_array_append_uint16

Adds a 16 bit integer to a byte array.

since: 1.3.1

byte_array_append_uint32

Adds a 32 bit integer to a byte array.

since: 1.3.1

byte_array_append_uint64

Adds a 64 bit integer to a byte array.

since: 1.5.8

byte_array_append_uint8

Adds a 8 bit integer to a byte array.

since: 1.3.1

byte_array_compare

Compares two buffers for equality.

since: 1.8.0

byte_array_set_size

Sets the size of the GByteArray, expanding with data as required.

since: 1.8.2

byte_array_to_string

Converts the byte array to a lowercase hex string.

since: 1.8.9

bytes_align

Aligns a block of memory to blksize using the padval value; if the block is already aligned then the original bytes is returned.

since: 1.8.2

bytes_compare

Compares the buffers for equality.

since: 1.8.2

bytes_get_contents

Reads a blob of data from a file.

since: 1.8.2

bytes_get_contents_fd

Reads a blob from a specific file descriptor.

since: 1.8.2

bytes_get_contents_stream

Reads a blob from a specific input stream.

since: 1.8.2

bytes_get_data_safe

Get the byte data in the GBytes. This data should not be modified. This function will always return the same pointer for a given GBytes.

since: 1.6.0

bytes_is_empty

Checks if a byte array are just empty (0xff) bytes.

since: 1.8.2

bytes_new_offset

Creates a GBytes which is a subsection of another GBytes.

since: 1.8.2

bytes_pad

Pads a GBytes to a minimum sz with 0xff.

since: 1.8.2

bytes_set_contents

Writes a blob of data to a filename, creating the parent directories as required.

since: 1.8.2

cfu_device_offer_to_string

Converts an enumerated offer type to a string.

since: 1.7.0

cfu_device_reject_to_string

Converts an enumerated reject type to a string.

since: 1.7.0

cfu_device_status_to_string

Converts an enumerated status type to a string.

since: 1.7.0

common_align_up

Align a value to a power of 2 boundary, where alignment is the bit position to align to. If alignment is zero then value is always returned unchanged.

since: 1.6.0

common_check_full_disk_encryption

Checks that all FDE volumes are not going to be affected by a firmware update. If unsure, return with failure and let the user decide.

since: 1.7.1

common_get_memory_size

Returns the size of physical memory.

since: 1.5.6

common_guid_is_plausible

Checks whether a chunk of memory looks like it could be a GUID.

since: 1.2.5

common_is_live_media

Checks if the user is running from a live media using various heuristics.

since: 1.4.6

cpu_get_vendor

Uses CPUID to discover the CPU vendor.

since: 1.8.2

cpuid

Calls CPUID and returns the registers for the given leaf.

since: 1.8.2

crc16

Returns the CRC-16-IBM cyclic redundancy value for the given memory buffer.

since: 1.8.2

crc16_full

Returns the cyclic redundancy check value for the given memory buffer.

since: 1.8.2

crc32

Returns the cyclic redundancy check value for the given memory buffer.

since: 1.8.2

crc32_full

Returns the cyclic redundancy check value for the given memory buffer.

since: 1.8.2

crc8

Returns the cyclic redundancy check value for the given memory buffer.

since: 1.8.2

crc8_full

Returns the cyclic redundancy check value for the given memory buffer.

since: 1.8.2

dump_bytes

Dumps a byte buffer to the screen.

since: 1.8.2

dump_full

Dumps a raw buffer to the screen.

since: 1.8.2

dump_raw

Dumps a raw buffer to the screen.

since: 1.8.2

efi_guid_to_name

Converts a GUID to the known nice name.

since: 1.6.2

efivar_delete

Removes a variable from NVRAM.

since: 1.4.0

efivar_delete_with_glob

Removes a group of variables from NVRAM.

since: 1.4.0

efivar_exists

Test if a variable exists.

since: 1.4.0

efivar_get_data

Gets the data from a UEFI variable in NVRAM.

since: 1.4.0

efivar_get_data_bytes

Gets the data from a UEFI variable in NVRAM.

since: 1.5.0

efivar_get_monitor

Returns a file monitor for a specific key.

since: 1.5.5

efivar_get_names

Gets the list of names where the GUID matches. An error is set if there are no names matching the GUID.

since: 1.4.7

efivar_secure_boot_enabled

Determines if secure boot was enabled.

since: 1.8.2

efivar_set_data

Sets the data to a UEFI variable in NVRAM.

since: 1.4.0

efivar_set_data_bytes

Sets the data to a UEFI variable in NVRAM.

since: 1.5.0

efivar_space_used

Gets the total size used by all EFI variables. This may be less than the size reported by the kernel as some (hopefully small) variables are hidden from userspace.

since: 1.5.1

efivar_supported

Determines if the kernel supports EFI variables.

since: 1.4.0

ifd_access_to_string

Converts a FuIfdAccess to a string.

since: 1.6.2

ifd_region_to_access

Converts a FuIfdRegion to an access level.

since: 1.6.2

ifd_region_to_name

Converts a FuIfdRegion to a name the user might recognize.

since: 1.6.2

ifd_region_to_string

Converts a FuIfdRegion to a string.

since: 1.6.2

kenv_get_string

Gets a BSD kernel environment string. This will not work on Linux or Windows.

since: 1.6.1

kernel_check_version

Determines if the system is running at least a certain required kernel version.

since: 1.8.2

kernel_get_cmdline

Loads all the kernel /proc/cmdline key/values into a hash table.

since: 1.8.5

kernel_get_firmware_search_path

Reads the FU_PATH_KIND_FIRMWARE_SEARCH and returns its contents.

since: 1.8.2

kernel_locked_down

Determines if kernel lockdown in effect.

since: 1.8.2

kernel_reset_firmware_search_path

Resets the FU_PATH_KIND_FIRMWARE_SEARCH to an empty string.

since: 1.8.2

kernel_set_firmware_search_path

Writes path to the FU_PATH_KIND_FIRMWARE_SEARCH.

since: 1.8.2

lid_state_to_string

Converts an enumerated type to a string.

since: 1.7.4

memcmp_safe

Compares the buffers for equality.

since: 1.8.2

memcpy_safe

Copies some memory using memcpy in a safe way. Providing the buffer sizes of both the destination and the source allows us to check for buffer overflow.

since: 1.8.2

memdup_safe

Duplicates some memory using memdup in a safe way.

since: 1.8.2

memmem_safe

Finds a block of memory in another block of memory in a safe way.

since: 1.8.2

memread_uint16

Read a value from a buffer using a specified endian.

since: 1.8.2

memread_uint16_safe

Read a value from a buffer using a specified endian in a safe way.

since: 1.8.2

memread_uint24

Read a value from a buffer using a specified endian.

since: 1.8.2

memread_uint24_safe

Read a value from a buffer using a specified endian in a safe way.

since: 1.8.3

memread_uint32

Read a value from a buffer using a specified endian.

since: 1.8.2

memread_uint32_safe

Read a value from a buffer using a specified endian in a safe way.

since: 1.8.2

memread_uint64

Read a value from a buffer using a specified endian.

since: 1.8.2

memread_uint64_safe

Read a value from a buffer using a specified endian in a safe way.

since: 1.8.2

memread_uint8_safe

Read a value from a buffer in a safe way.

since: 1.8.2

memwrite_uint16

Writes a value to a buffer using a specified endian.

since: 1.8.2

memwrite_uint16_safe

Write a value to a buffer using a specified endian in a safe way.

since: 1.8.2

memwrite_uint24

Writes a value to a buffer using a specified endian.

since: 1.8.2

memwrite_uint32

Writes a value to a buffer using a specified endian.

since: 1.8.2

memwrite_uint32_safe

Write a value to a buffer using a specified endian in a safe way.

since: 1.8.2

memwrite_uint64

Writes a value to a buffer using a specified endian.

since: 1.8.2

memwrite_uint64_safe

Write a value to a buffer using a specified endian in a safe way.

since: 1.8.2

memwrite_uint8_safe

Write a value to a buffer in a safe way.

since: 1.8.2

path_find_program

Looks for a program in the PATH variable.

since: 1.8.2

path_fnmatch

Matches a string against a glob pattern.

since: 1.8.2

path_from_kind

Gets a fwupd-specific system path. These can be overridden with various environment variables, for instance FWUPD_DATADIR.

since: 1.8.2

path_get_files

Returns every file found under directory, and any subdirectory. If any path under directory cannot be accessed due to permissions an error will be returned.

since: 1.8.2

path_glob

Returns all the filenames that match a specific glob pattern. Any results are sorted. No matching files will set error.

since: 1.8.2

path_mkdir

Creates any required directories, including any parent directories.

since: 1.8.2

path_mkdir_parent

Creates any required directories, including any parent directories.

since: 1.8.2

path_rmtree

Recursively removes a directory.

since: 1.8.2

power_state_is_ac

Determines if the power state can be considered “on AC power”.

since: 1.8.11

power_state_to_string

Converts an enumerated type to a string.

since: 1.8.11

strdup

Copies a string from a buffer of a specified size up to (but not including) NUL.

since: 1.8.11

string_append

Appends a key and string value to a string.

since: 1.8.2

string_append_kb

Appends a key and boolean value to a string.

since: 1.8.2

string_append_ku

Appends a key and unsigned integer to a string.

since: 1.8.2

string_append_kx

Appends a key and hex integer to a string.

since: 1.8.2

string_replace

Performs multiple search and replace operations on the given string.

since: 1.8.2

strjoin

Joins an array of strings together to form one long string, with the optional separator inserted between each of them.

since: 1.8.2

strsafe

Converts a string into something that can be safely printed.

since: 1.8.2

strsplit

Splits a string into a maximum of max_tokens pieces, using the given delimiter. If max_tokens is reached, the remainder of string is appended to the last token.

since: 1.8.2

strsplit_full

Splits the string, calling the given function for each of the tokens found. If any callback returns FALSE scanning is aborted.

since: 1.8.2

strstrip

Removes leading and trailing whitespace from a constant string.

since: 1.8.2

strtobool

Converts a string value to a boolean. Only true and false are accepted values.

since: 1.8.2

strtoull

Converts a string value to an integer. Values are assumed base 10, unless prefixed with “0x” where they are parsed as base 16.

since: 1.8.2

strwidth

Returns the width of the string in displayed characters on the console.

since: 1.8.2

sum16

Returns the arithmetic sum of all bytes in buf, adding them one byte at a time.

since: 1.8.2

sum16_bytes

Returns the arithmetic sum of all bytes in blob, adding them one byte at a time.

since: 1.8.2

sum16w

Returns the arithmetic sum of all bytes in buf, adding them one word at a time. The caller must ensure that bufsz is a multiple of 2.

since: 1.8.2

sum16w_bytes

Returns the arithmetic sum of all bytes in blob, adding them one word at a time. The caller must ensure that the size of blob is a multiple of 2.

since: 1.8.2

sum32

Returns the arithmetic sum of all bytes in buf, adding them one byte at a time.

since: 1.8.2

sum32_bytes

Returns the arithmetic sum of all bytes in blob, adding them one byte at a time.

since: 1.8.2

sum32w

Returns the arithmetic sum of all bytes in buf, adding them one dword at a time. The caller must ensure that bufsz is a multiple of 4.

since: 1.8.2

sum32w_bytes

Returns the arithmetic sum of all bytes in blob, adding them one dword at a time. The caller must ensure that the size of blob is a multiple of 4.

since: 1.8.2

sum8

Returns the arithmetic sum of all bytes in buf.

since: 1.8.2

sum8_bytes

Returns the arithmetic sum of all bytes in blob.

since: 1.8.2

version_compare

Compares version numbers for sorting taking into account the version format if required.

since: 1.8.2

version_ensure_semver

Builds a semver from the possibly crazy version number. Depending on the semver value the string will be split and a string in the correct format will be returned.

since: 1.8.2

version_from_uint16

Returns a dotted decimal version string from a 16 bit number.

since: 1.8.2

version_from_uint24

Returns a dotted decimal version string from a 24 bit number.

since: 1.8.9

version_from_uint32

Returns a dotted decimal version string from a 32 bit number.

since: 1.8.2

version_from_uint64

Returns a dotted decimal version string from a 64 bit number.

since: 1.8.2

version_guess_format

Guesses the version format from the version number. This is only a heuristic and plugins and components should explicitly set the version format whenever possible.

since: 1.8.2

version_parse_from_format

Returns a dotted decimal version string from a version string using fmt. The supported formats are:

since: 1.8.2

version_string

Gets the libfwupdplugin installed runtime version.

since: 1.6.1

version_verify_format

Verifies if a version matches the input format.

since: 1.8.2

xmlb_builder_insert_kb

Convenience function to add an XML node with a boolean value.

since: 1.6.0

xmlb_builder_insert_kv

Convenience function to add an XML node with a string value. If value is NULL then no member is added.

since: 1.6.0

xmlb_builder_insert_kx

Convenience function to add an XML node with an integer value. If value is 0 then no member is added.

since: 1.6.0

Function Macros

CHECK_VERSION

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

device_add_checksum

device_add_icon

device_add_issue

device_add_protocol

device_add_release

device_add_vendor_id

device_get_branch

device_get_checksums

device_get_composite_id

device_get_created

device_get_flags

device_get_flashes_left

device_get_guid_default

device_get_guids

device_get_icons

device_get_id

device_get_install_duration

device_get_instance_ids

device_get_issues

device_get_modified

device_get_name

device_get_percentage

device_get_plugin

device_get_protocols

device_get_release_default

device_get_serial

device_get_status

device_get_summary

device_get_update_error

device_get_update_image

device_get_update_message

device_get_update_state

device_get_vendor

device_get_vendor_ids

device_get_version

device_get_version_bootloader

device_get_version_bootloader_raw

device_get_version_build_date

device_get_version_format

device_get_version_lowest

device_get_version_lowest_raw

device_get_version_raw

device_has_checksum

device_has_flag

device_has_icon

device_has_instance_id

device_has_protocol

device_has_vendor_id

device_set_branch

device_set_created

device_set_description

device_set_flags

device_set_flashes_left

device_set_install_duration

device_set_modified

device_set_percentage

device_set_plugin

device_set_serial

device_set_status

device_set_summary

device_set_update_error

device_set_update_image

device_set_update_message

device_set_version_bootloader_raw

device_set_version_build_date

device_set_version_lowest_raw

device_set_version_raw

IFD_FREG_BASE

IFD_FREG_LIMIT

plugin_add_flag

plugin_get_flags

plugin_has_flag

plugin_remove_flag

Constants

CFU_DEVICE_FLAG_FIRST_BLOCK

CFU_DEVICE_FLAG_LAST_BLOCK

CFU_DEVICE_OFFER_ACCEPT

CFU_DEVICE_OFFER_BUSY

CFU_DEVICE_OFFER_COMMAND

CFU_DEVICE_OFFER_NOT_SUPPORTED

CFU_DEVICE_OFFER_REJECT

CFU_DEVICE_OFFER_SKIP

CFU_DEVICE_REJECT_DEBUG_SAME_VERSION

CFU_DEVICE_REJECT_INV_COMPONENT

CFU_DEVICE_REJECT_OLD_FIRMWARE

CFU_DEVICE_REJECT_SIGN_RULE

CFU_DEVICE_REJECT_SWAP_PENDING

CFU_DEVICE_REJECT_VER_RELEASE_DEBUG

CFU_DEVICE_REJECT_WRONG_BANK

CFU_DEVICE_STATUS_ERROR_COMPLETE

CFU_DEVICE_STATUS_ERROR_CRC

CFU_DEVICE_STATUS_ERROR_INVALID

CFU_DEVICE_STATUS_ERROR_INVALID_ADDR

CFU_DEVICE_STATUS_ERROR_NO_OFFER

CFU_DEVICE_STATUS_ERROR_PREPARE

CFU_DEVICE_STATUS_ERROR_SIGNATURE

CFU_DEVICE_STATUS_ERROR_VERIFY

CFU_DEVICE_STATUS_ERROR_VERSION

CFU_DEVICE_STATUS_ERROR_WRITE

CFU_DEVICE_STATUS_SUCCESS

CFU_DEVICE_STATUS_SWAP_PENDING

CONTEXT_FLAG_NONE

No flags set.

CONTEXT_FLAG_SAVE_EVENTS

Save events so that they can be replayed to emulate devices.

CONTEXT_FLAG_SYSTEM_INHIBIT

All devices are not updatable due to a system-wide inhibit.

DEVICE_INTERNAL_AUTO_PAUSE_POLLING

Pause polling when reading or writing to the device.

DEVICE_INTERNAL_FLAG_ATTACH_EXTRA_RESET

Device needs resetting twice for attach after the firmware update.

DEVICE_INTERNAL_FLAG_AUTO_PARENT_CHILDREN

Automatically assign the parent for children of this device.

DEVICE_INTERNAL_FLAG_ENSURE_SEMVER

Ensure the version is a valid semantic version, e.g. numbers separated with dots.

DEVICE_INTERNAL_FLAG_IGNORE_SYSTEM_POWER

Allow updating firmware when the system power is otherwise too low. This is only really useful when updating the system battery firmware.

DEVICE_INTERNAL_FLAG_INHERIT_ACTIVATION

Inherit activation status from the history database on startup.

DEVICE_INTERNAL_FLAG_INHIBIT_CHILDREN

Children of the device are inhibited by the parent.

DEVICE_INTERNAL_FLAG_IS_OPEN

The device opened successfully and ready to use.

DEVICE_INTERNAL_FLAG_MD_SET_ICON

Set the device icon from the metadata if available.

DEVICE_INTERNAL_FLAG_MD_SET_NAME

Set the device name from the metadata name if available.

DEVICE_INTERNAL_FLAG_MD_SET_NAME_CATEGORY

Set the device name from the metadata category if available.

DEVICE_INTERNAL_FLAG_MD_SET_SIGNED

Set the signed/unsigned payload from the metadata if available.

DEVICE_INTERNAL_FLAG_MD_SET_VENDOR

Set the device vendor from the metadata developer_name if available.

DEVICE_INTERNAL_FLAG_MD_SET_VERFMT

Set the device version format from the metadata if available.

DEVICE_INTERNAL_FLAG_NO_AUTO_INSTANCE_IDS

Do not add instance IDs from the device baseclass.

DEVICE_INTERNAL_FLAG_NO_AUTO_REMOVE

The device is not auto removed.

DEVICE_INTERNAL_FLAG_NO_AUTO_REMOVE_CHILDREN

Do not auto-remove children in the device list.

DEVICE_INTERNAL_FLAG_NO_LID_CLOSED

Do not allow updating when the laptop lid is closed.

DEVICE_INTERNAL_FLAG_NO_PROBE

Do not probe this device.

DEVICE_INTERNAL_FLAG_NO_PROBE_COMPLETE

Do not deallocate resources typically only required during ->probe.

DEVICE_INTERNAL_FLAG_NO_SERIAL_NUMBER

Do not attempt to read the device serial number.

DEVICE_INTERNAL_FLAG_NONE

No flags set.

DEVICE_INTERNAL_FLAG_ONLY_SUPPORTED

Only devices supported in the metadata will be opened.

DEVICE_INTERNAL_FLAG_ONLY_WAIT_FOR_REPLUG

Only use the device removal delay when explicitly waiting for a replug, rather than every time the device is removed.

DEVICE_INTERNAL_FLAG_REPLUG_MATCH_GUID

Match GUIDs on device replug where the physical and logical IDs will be different.

DEVICE_INTERNAL_FLAG_RETRY_OPEN

Retry the device open up to 5 times if it fails.

DEVICE_INTERNAL_FLAG_USE_PARENT_FOR_BATTERY

Use parent for the battery level and threshold.

DEVICE_INTERNAL_FLAG_USE_PARENT_FOR_OPEN

Use parent to open and close the device.

DEVICE_INTERNAL_FLAG_USE_PROXY_FALLBACK

Use parent for the battery level and threshold.

DEVICE_METADATA_TBT_IS_SAFE_MODE

If the Thunderbolt hardware is stuck in safe mode. Consumed by the thunderbolt plugin.

DEVICE_METADATA_UEFI_CAPSULE_FLAGS

The capsule flags for the UEFI device, e.g. EFI_CAPSULE_HEADER_FLAGS_PERSIST_ACROSS_RESET Consumed by the uefi plugin when other devices register fake devices that need to be handled as a capsule update.

DEVICE_METADATA_UEFI_DEVICE_KIND

The type of UEFI device, e.g. “system-firmware” or “device-firmware” Consumed by the uefi plugin when other devices register fake devices that need to be handled as a capsule update.

DEVICE_METADATA_UEFI_FW_VERSION

The firmware version of the UEFI device specified as a 32 bit unsigned integer. Consumed by the uefi plugin when other devices register fake devices that need to be handled as a capsule update.

DEVICE_REMOVE_DELAY_RE_ENUMERATE

The default removal delay for device re-enumeration taking into account a chain of slow USB hubs. This should be used when the device is able to reset itself between bootloader->runtime->bootloader.

DEVICE_REMOVE_DELAY_USER_REPLUG

The default removal delay for device re-plug taking into account humans being slow and clumsy. This should be used when the user has to do something, e.g. unplug, press a magic button and then replug.

DFU_FIRMARE_VERSION_ATMEL_AVR

The Atmel AVR version of the DFU standard in BCD format.

DFU_FIRMARE_VERSION_DFU_1_0

The 1.0 version of the DFU standard in BCD format.

DFU_FIRMARE_VERSION_DFU_1_1

The 1.1 version of the DFU standard in BCD format.

DFU_FIRMARE_VERSION_DFUSE

The DfuSe version of the DFU standard in BCD format, defined by ST.

DFU_FIRMARE_VERSION_UNKNOWN

Unknown version of the DFU standard in BCD format.

EFI_FIRMWARE_FILE_BIOS_GUARD

EFI_FIRMWARE_FILE_FV_IMAGE

EFI_FIRMWARE_FILE_MICROCODE

EFI_FIRMWARE_SECTION_ACPI1_TABLE

EFI_FIRMWARE_SECTION_ACPI2_TABLE

EFI_FIRMWARE_SECTION_ESRT_TABLE

EFI_FIRMWARE_SECTION_LZMA_COMPRESS

EFI_FIRMWARE_SECTION_SMBIOS_TABLE

EFI_FIRMWARE_SECTION_TIANO_COMPRESS

EFI_FIRMWARE_VOLUME_GUID_APPLE_BOOT

EFI_FIRMWARE_VOLUME_GUID_FFS1

EFI_FIRMWARE_VOLUME_GUID_FFS2

EFI_FIRMWARE_VOLUME_GUID_FFS3

EFI_FIRMWARE_VOLUME_GUID_NVRAM_EVSA

EFI_FIRMWARE_VOLUME_GUID_NVRAM_EVSA2

EFI_FIRMWARE_VOLUME_GUID_NVRAM_NVAR

EFI_FIRMWARE_VOLUME_GUID_PFH1

EFI_FIRMWARE_VOLUME_GUID_PFH2

EFI_SIGNATURE_GUID_MICROSOFT

EFI_SIGNATURE_GUID_OVMF

EFI_SIGNATURE_GUID_OVMF_LEGACY

EFI_SIGNATURE_GUID_ZERO

EFIVAR_ATTR_APPEND_WRITE

EFIVAR_ATTR_AUTHENTICATED_WRITE_ACCESS

EFIVAR_ATTR_BOOTSERVICE_ACCESS

EFIVAR_ATTR_HARDWARE_ERROR_RECORD

EFIVAR_ATTR_NON_VOLATILE

EFIVAR_ATTR_RUNTIME_ACCESS

EFIVAR_ATTR_TIME_BASED_AUTHENTICATED_WRITE_ACCESS

EFIVAR_GUID_EFI_CAPSULE_REPORT

EFIVAR_GUID_EFI_GLOBAL

EFIVAR_GUID_FWUPDATE

EFIVAR_GUID_SECURITY_DATABASE

EFIVAR_GUID_UX_CAPSULE

FIRMWARE_ALIGNMENT_1

FIRMWARE_ALIGNMENT_128

FIRMWARE_ALIGNMENT_128K

FIRMWARE_ALIGNMENT_128M

FIRMWARE_ALIGNMENT_16

FIRMWARE_ALIGNMENT_16K

FIRMWARE_ALIGNMENT_16M

FIRMWARE_ALIGNMENT_1G

FIRMWARE_ALIGNMENT_1K

FIRMWARE_ALIGNMENT_1M

FIRMWARE_ALIGNMENT_2

FIRMWARE_ALIGNMENT_256

FIRMWARE_ALIGNMENT_256K

FIRMWARE_ALIGNMENT_256M

FIRMWARE_ALIGNMENT_2G

FIRMWARE_ALIGNMENT_2K

FIRMWARE_ALIGNMENT_2M

FIRMWARE_ALIGNMENT_32

FIRMWARE_ALIGNMENT_32K

FIRMWARE_ALIGNMENT_32M

FIRMWARE_ALIGNMENT_4

FIRMWARE_ALIGNMENT_4G

FIRMWARE_ALIGNMENT_4K

FIRMWARE_ALIGNMENT_4M

FIRMWARE_ALIGNMENT_512

FIRMWARE_ALIGNMENT_512K

FIRMWARE_ALIGNMENT_512M

FIRMWARE_ALIGNMENT_64

FIRMWARE_ALIGNMENT_64K

FIRMWARE_ALIGNMENT_64M

FIRMWARE_ALIGNMENT_8

FIRMWARE_ALIGNMENT_8K

FIRMWARE_ALIGNMENT_8M

FIRMWARE_EXPORT_FLAG_ASCII_DATA

Write the data as UTF-8 strings.

FIRMWARE_EXPORT_FLAG_INCLUDE_DEBUG

Include debug information when exporting.

FIRMWARE_EXPORT_FLAG_NONE

No flags set.

FIRMWARE_FLAG_ALWAYS_SEARCH

Always searches for magic regardless of the install flags. This is useful for firmware that always has an unparsed variable-length header.

FIRMWARE_FLAG_DEDUPE_ID

Dedupe images by ID.

FIRMWARE_FLAG_DEDUPE_IDX

Dedupe images by IDX.

FIRMWARE_FLAG_DONE_PARSE

The firmware object has been used by fu_firmware_parse_full().

FIRMWARE_FLAG_HAS_CHECKSUM

Has a CRC or checksum to test internal consistency.

FIRMWARE_FLAG_HAS_STORED_SIZE

Encodes the image size in the firmware.

FIRMWARE_FLAG_HAS_VID_PID

Has a vendor or product ID in the firmware.

FIRMWARE_FLAG_NONE

No flags set.

FIRMWARE_ID_HEADER

The usual firmware ID string for the header.

FIRMWARE_ID_PAYLOAD

The usual firmware ID string for the payload.

FIRMWARE_ID_SIGNATURE

The usual firmware ID string for the signature.

FIT_FIRMWARE_ATTR_ALGO

The checksum algorithm for the FIT image, typically a string, e.g. crc32.

FIT_FIRMWARE_ATTR_COMPATIBLE

The compatible metadata for the FIT image, typically a string list, e.g. pine64,rockpro64-v2.1:pine64,rockpro64.

FIT_FIRMWARE_ATTR_DATA

The raw data for the FIT image, typically a blob.

FIT_FIRMWARE_ATTR_DATA_OFFSET

The external data offset after the FIT image, typically a uint32.

FIT_FIRMWARE_ATTR_DATA_SIZE

The data size of the external image, typically a uint32.

FIT_FIRMWARE_ATTR_SKIP_OFFSET

The offset to skip when writing the FIT image, typically a uint32.

FIT_FIRMWARE_ATTR_STORE_OFFSET

The store offset for the FIT image, typically a uint32.

FIT_FIRMWARE_ATTR_TIMESTAMP

The creation timestamp of FIT image, typically a uint32.

FIT_FIRMWARE_ATTR_VALUE

The value of the checksum, which is typically a blob.

FIT_FIRMWARE_ATTR_VERSION

The version of the FIT image, typically a string, e.g. 1.2.3.

FIT_FIRMWARE_ID_CONFIGURATIONS

The usual firmware ID string for the configurations.

FIT_FIRMWARE_ID_IMAGES

The usual firmware ID string for the images.

FMAP_FIRMWARE_STRLEN

HWIDS_KEY_BASEBOARD_MANUFACTURER

The HwID key for the baseboard (motherboard) vendor.

HWIDS_KEY_BASEBOARD_PRODUCT

The HwID key for baseboard (motherboard) product.

HWIDS_KEY_BIOS_MAJOR_RELEASE

The HwID key for the BIOS major version.

HWIDS_KEY_BIOS_MINOR_RELEASE

The HwID key for the BIOS minor version.

HWIDS_KEY_BIOS_VENDOR

The HwID key for the BIOS vendor.

HWIDS_KEY_BIOS_VERSION

The HwID key for the BIOS version.

HWIDS_KEY_ENCLOSURE_KIND

The HwID key for the enclosure kind.

HWIDS_KEY_FAMILY

The HwID key for the deice family.

HWIDS_KEY_FIRMWARE_MAJOR_RELEASE

The HwID key for the firmware major version.

HWIDS_KEY_FIRMWARE_MINOR_RELEASE

The HwID key for the firmware minor version.

HWIDS_KEY_MANUFACTURER

The HwID key for the top-level product vendor.

HWIDS_KEY_PRODUCT_NAME

The HwID key for the top-level product name.

HWIDS_KEY_PRODUCT_SKU

The HwID key for the top-level product SKU.

IFWI_CPD_FIRMWARE_IDX_MANIFEST

The index for the IFWI manifest image.

IFWI_CPD_FIRMWARE_IDX_METADATA

The index for the IFWI metadata image.

IFWI_CPD_FIRMWARE_IDX_MODULEDATA_IDX

The index for the IFWI module data image.

IFWI_FPT_FIRMWARE_IDX_CKSM

The index for the IFWI checksum image.

IFWI_FPT_FIRMWARE_IDX_FWIM

The index for the IFWI firmware image.

IFWI_FPT_FIRMWARE_IDX_IMGI

The index for the IFWI image instance.

IFWI_FPT_FIRMWARE_IDX_INFO

The index for the IFWI info image.

IFWI_FPT_FIRMWARE_IDX_SDTA

The index for the IFWI firmware data image.

IHEX_FIRMWARE_RECORD_TYPE_DATA

IHEX_FIRMWARE_RECORD_TYPE_EOF

IHEX_FIRMWARE_RECORD_TYPE_EXTENDED_LINEAR

IHEX_FIRMWARE_RECORD_TYPE_EXTENDED_SEGMENT

IHEX_FIRMWARE_RECORD_TYPE_SIGNATURE

IHEX_FIRMWARE_RECORD_TYPE_START_LINEAR

IHEX_FIRMWARE_RECORD_TYPE_START_SEGMENT

MAJOR_VERSION

The compile-time major version.

MICRO_VERSION

The compile-time micro version.

MINOR_VERSION

The compile-time minor version.

OPROM_FIRMWARE_COMPRESSION_TYPE_NONE

No compression.

OPROM_FIRMWARE_MACHINE_TYPE_X64

AMD64 machine type.

OPROM_FIRMWARE_SUBSYSTEM_EFI_BOOT_SRV_DRV

EFI boot.

PROGRESS_FLAG_CHILD_FINISHED

The child completed all the expected steps.

PROGRESS_FLAG_GUESSED

The steps have not been measured on real hardware and have been guessed.

PROGRESS_FLAG_NO_PROFILE

The steps cannot be accurate enough for a profile result.

PROGRESS_FLAG_NO_TRACEBACK

The steps should not be shown in the traceback.

PROGRESS_FLAG_NONE

No flags set.

QUIRKS_ACQUIESCE_DELAY

The quirk key for the device removal delay in milliseconds.

QUIRKS_BATTERY_THRESHOLD

The quirk key for the battery threshold in percent.

QUIRKS_BRANCH

The quirk key for the firmware branch.

QUIRKS_CFI_DEVICE_BLOCK_SIZE

The quirk key to set the CFI block size.

QUIRKS_CFI_DEVICE_CMD_BLOCK_ERASE

The quirk key to set the CFI block erase command.

QUIRKS_CFI_DEVICE_CMD_CHIP_ERASE

The quirk key to set the CFI chip erase command.

QUIRKS_CFI_DEVICE_CMD_PAGE_PROG

The quirk key to set the CFI page program command.

QUIRKS_CFI_DEVICE_CMD_READ_DATA

The quirk key to set the CFI read data command.

QUIRKS_CFI_DEVICE_CMD_READ_ID

The quirk key to set the CFI read ID command.

QUIRKS_CFI_DEVICE_CMD_READ_ID_SZ

The quirk key to set the CFI read ID size.

QUIRKS_CFI_DEVICE_CMD_READ_STATUS

The quirk key to set the CFI read status command.

QUIRKS_CFI_DEVICE_CMD_SECTOR_ERASE

The quirk key to set the CFI sector erase command.

QUIRKS_CFI_DEVICE_CMD_WRITE_EN

The quirk key to set the CFI write en command.

QUIRKS_CFI_DEVICE_CMD_WRITE_STATUS

The quirk key to set the CFI write status command.

QUIRKS_CFI_DEVICE_PAGE_SIZE

The quirk key to set the CFI page size.

QUIRKS_CFI_DEVICE_SECTOR_SIZE

The quirk key to set the CFI sector size.

QUIRKS_CHILDREN

The quirk key for the children. This should contain the custom GType.

QUIRKS_COUNTERPART_GUID

The quirk key for the counterpart GUID.

QUIRKS_FIRMWARE_GTYPE

The quirk key for the custom firmware GType.

QUIRKS_FIRMWARE_SIZE

The quirk key for the exact required firmware size in bytes.

QUIRKS_FIRMWARE_SIZE_MAX

The quirk key for the maximum firmware size in bytes.

QUIRKS_FIRMWARE_SIZE_MIN

The quirk key for the minimum firmware size in bytes.

QUIRKS_FLAGS

The quirk key for the public flags.

QUIRKS_GTYPE

The quirk key for the custom GType.

QUIRKS_GUID

The quirk key for the GUID.

QUIRKS_ICON

The quirk key for the icon.

QUIRKS_INHIBIT

The quirk key to inhibit the UPDATABLE flag and to set an update error.

QUIRKS_INSTALL_DURATION

The quirk key for the install duration in seconds.

QUIRKS_ISSUE

The quirk key to add security issues affecting a specific device.

QUIRKS_NAME

The quirk key for the name.

QUIRKS_PARENT_GUID

The quirk key for the parent GUID.

QUIRKS_PLUGIN

The quirk key for the plugin name.

QUIRKS_PRIORITY

The quirk key for the device priority.

QUIRKS_PROTOCOL

The quirk key for the protocol, e.g. org.usb.dfu.

QUIRKS_PROXY_GUID

The quirk key for the proxy GUID.

QUIRKS_REMOVE_DELAY

The quirk key for the device removal delay in milliseconds.

QUIRKS_SUMMARY

The quirk key for the summary.

QUIRKS_UPDATE_IMAGE

The quirk key for the update image shown before the update is performed.

QUIRKS_UPDATE_MESSAGE

The quirk key for the update message shown after the transaction has completed.

QUIRKS_VENDOR

The quirk key for the vendor name.

QUIRKS_VENDOR_ID

The quirk key for the vendor ID.

QUIRKS_VERSION

The quirk key for the version.

QUIRKS_VERSION_FORMAT

The quirk key for the version format, e.g. quad.

SMBIOS_STRUCTURE_TYPE_BASEBOARD

The SMBIOS structure type for the baseboard (motherboard).

SMBIOS_STRUCTURE_TYPE_BIOS

The SMBIOS structure type for the BIOS.

SMBIOS_STRUCTURE_TYPE_CHASSIS

The SMBIOS structure type for the chassis.

SMBIOS_STRUCTURE_TYPE_LAST

The last possible SMBIOS structure type.

SMBIOS_STRUCTURE_TYPE_SYSTEM

The SMBIOS structure type for the system as a whole.

USB_DEVICE_EMULATION_TAG

VOLUME_KIND_BDP

The GUID for the BDP, see: https://en.wikipedia.org/wiki/Microsoft_basic_data_partition.

VOLUME_KIND_ESP

The GUID for the ESP, see: https://en.wikipedia.org/wiki/EFI_system_partition.