FwupdPlugin – 1.0
Description: Reference for FwupdPlugin-1.0

### Namespace

# FwupdPlugin – 1.0

Functionality available to fwupd plugins

Version | 1.8.9
Authors | fwupd Development Team
License | LGPL-2.1-or-later
Website | https://www.fwupd.org
Source | https://github.com/fwupd/fwupd

#### Build

C headers | `fwupdplugin.h`
pkg-config files | `fwupdplugin`

#### 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

- Environment Variables
- Plugin Tutorial
- Host Security ID Specification
- Unknown document
- BIOS Settings API
- Classes Hierarchy

#### Classes

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.
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.
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, either using DMI or Device Tree.
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 |
BatteryState | The device battery state.
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.
PluginRule | The rules used for ordering plugins. Plugins are expected to add rules in fu_plugin_initialize().
PluginVerifyFlags | Flags used when verifying, currently unused.
SmbiosChassisKind | The system chassis kind.

#### Bitfields

ArchiveFlags | The flags to use when loading the archive.
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

battery_state_to_string | Converts an enumerated type to a string. since: 1.6.0
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
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_plugin |
device_get_protocols |
device_get_release_default |
device_get_serial |
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_plugin |
device_set_serial |
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.
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_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_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.
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.