Namespace

FwupdPlugin – 1.0

Functionality available to fwupd plugins

Version1.8.1
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

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.

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
EfiFirmwareFilesystem

A UEFI filesystem.

EfiFirmwareSection
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.

Firmware

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

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
IhexFirmware

A Intel hex (ihex) firmware image.

IOChannel

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

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.

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.

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

The virtual functions that are implemented by the plugins.

Aliases

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.

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

AppFlags

The flags to use when loading an application.

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

CommonStrsplitFunc

The fu_common_strnsplit_full() 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.

OutputHandler

The process spawn iteration callback.

QuirksIter

The quirks iteration callback.

Functions

battery_state_to_string

Converts an enumerated type to a string.

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.

byte_array_append_bytes

Adds the contents of a GBytes to a byte array.

byte_array_append_uint16

Adds a 16 bit integer to a byte array.

byte_array_append_uint32

Adds a 32 bit integer to a byte array.

byte_array_append_uint64

Adds a 64 bit integer to a byte array.

byte_array_append_uint8

Adds a 8 bit integer to a byte array.

byte_array_compare

Compares two buffers for equality.

byte_array_set_size

Sets the size of the GByteArray, expanding it with NULs if necessary.

byte_array_set_size_full

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

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.

cfu_device_offer_to_string

Converts an enumerated offer type to a string.

cfu_device_reject_to_string

Converts an enumerated reject type to a string.

cfu_device_status_to_string

Converts an enumerated status type to a string.

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.

common_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.

common_bytes_compare

Compares the buffers for equality.

common_bytes_compare_raw

Compares the buffers for equality.

common_bytes_is_empty

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

common_bytes_new_offset

Creates a GBytes which is a subsection of another GBytes.

common_bytes_pad

Pads a GBytes to a minimum sz with 0xff.

common_cab_build_silo

Create an AppStream silo from a cabinet archive.

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.

common_check_kernel_version

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

common_cpuid

Calls CPUID and returns the registers for the given leaf.

common_crc16

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

common_crc16_full

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

common_crc32

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

common_crc32_full

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

common_crc8

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

common_crc8_full

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

common_dump_bytes

Dumps a byte buffer to the screen.

common_dump_full

Dumps a raw buffer to the screen.

common_dump_raw

Dumps a raw buffer to the screen.

common_error_array_get_best

Finds the ‘best’ error to show the user from a array of errors, creating a completely bespoke error where required.

common_extract_archive

Extracts an archive to a directory.

common_filename_glob

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

common_find_program_in_path

Looks for a program in the PATH variable.

common_firmware_builder

Builds a firmware file using tools from the host session in a bubblewrap jail. Several things happen during build:

common_fnmatch

Matches a string against a glob pattern.

common_get_contents_bytes

Reads a blob of data from a file.

common_get_contents_fd

Reads a blob from a specific file descriptor.

common_get_contents_stream

Reads a blob from a specific input stream.

common_get_cpu_vendor

Uses CPUID to discover the CPU vendor.

common_get_esp_default

Gets the platform default ESP.

common_get_esp_for_path

Gets the platform ESP using a UNIX or UDisks path.

common_get_files_recursive

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.

common_get_firmware_search_path

Reads the FU_PATH_KIND_FIRMWARE_SEARCH and returns its contents.

common_get_memory_size

Returns the size of physical memory.

common_get_path

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

common_get_volume_by_device

Finds the first volume from the specified device.

common_get_volume_by_devnum

Finds the first volume from the specified device.

common_get_volumes_by_kind

Finds all volumes of a specific partition type.

common_guid_is_plausible

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

common_instance_id_strsafe

Sanitize the string used as part of the InstanceID.

common_is_live_media

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

common_kernel_locked_down

Determines if kernel lockdown in effect.

common_mkdir

Creates any required directories, including any parent directories.

common_mkdir_parent

Creates any required directories, including any parent directories.

common_read_uint16

Read a value from a buffer using a specified endian.

common_read_uint16_safe

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

common_read_uint24

Read a value from a buffer using a specified endian.

common_read_uint32

Read a value from a buffer using a specified endian.

common_read_uint32_safe

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

common_read_uint64

Read a value from a buffer using a specified endian.

common_read_uint64_safe

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

common_read_uint8_safe

Read a value from a buffer in a safe way.

common_realpath

Finds the canonicalized absolute filename for a path.

common_reset_firmware_search_path

Resets the FU_PATH_KIND_FIRMWARE_SEARCH to an empty string.

common_reverse_uint8

Calculates the reverse bit order for a single byte.

common_rmtree

Recursively removes a directory.

common_set_contents_bytes

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

common_set_firmware_search_path

Writes path to the FU_PATH_KIND_FIRMWARE_SEARCH.

common_spawn_sync

Runs a subprocess and waits for it to exit. Any output on standard out or standard error will be forwarded to handler_cb as whole lines.

common_string_append_kb

Appends a key and boolean value to a string.

common_string_append_ku

Appends a key and unsigned integer to a string.

common_string_append_kv

Appends a key and string value to a string.

common_string_append_kx

Appends a key and hex integer to a string.

common_string_replace

Performs multiple search and replace operations on the given string.

common_strjoin_array

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

common_strnsplit

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.

common_strnsplit_full

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

common_strsafe

Converts a string into something that can be safely printed.

common_strstrip

Removes leading and trailing whitespace from a constant string.

common_strtoull

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

common_strtoull_full

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

common_strwidth

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

common_sum16

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

common_sum16_bytes

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

common_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.

common_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.

common_sum32

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

common_sum32_bytes

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

common_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.

common_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.

common_sum8

Returns the arithmetic sum of all bytes in buf.

common_sum8_bytes

Returns the arithmetic sum of all bytes in blob.

common_uri_get_scheme

Returns the USI scheme for the given URI.

common_vercmp_full

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

common_version_ensure_semver

Builds a semver from the possibly crazy version number.

common_version_ensure_semver_full

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.

common_version_from_uint16

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

common_version_from_uint32

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

common_version_from_uint64

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

common_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.

common_version_parse_from_format

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

common_version_verify_format

Verifies if a version matches the input format.

common_write_uint16

Writes a value to a buffer using a specified endian.

common_write_uint16_safe

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

common_write_uint24

Writes a value to a buffer using a specified endian.

common_write_uint32

Writes a value to a buffer using a specified endian.

common_write_uint32_safe

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

common_write_uint64

Writes a value to a buffer using a specified endian.

common_write_uint64_safe

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

common_write_uint8_safe

Write a value to a buffer in a safe way.

efi_guid_to_name

Converts a GUID to the known nice name.

efivar_delete

Removes a variable from NVRAM.

efivar_delete_with_glob

Removes a group of variables from NVRAM.

efivar_exists

Test if a variable exists.

efivar_get_data

Gets the data from a UEFI variable in NVRAM.

efivar_get_data_bytes

Gets the data from a UEFI variable in NVRAM.

efivar_get_monitor

Returns a file monitor for a specific key.

efivar_get_names

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

efivar_secure_boot_enabled

Determines if secure boot was enabled.

efivar_secure_boot_enabled_full

Determines if secure boot was enabled.

efivar_set_data

Sets the data to a UEFI variable in NVRAM.

efivar_set_data_bytes

Sets the data to a UEFI variable in NVRAM.

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.

efivar_supported

Determines if the kernel supports EFI variables.

ifd_access_to_string

Converts a FuIfdAccess to a string.

ifd_region_to_access

Converts a FuIfdRegion to an access level.

ifd_region_to_name

Converts a FuIfdRegion to a name the user might recognize.

ifd_region_to_string

Converts a FuIfdRegion to a string.

kenv_get_string

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

lid_state_to_string

Converts an enumerated type to a string.

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.

memdup_safe

Duplicates some memory using memdup in a safe way.

memmem_safe

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

version_string

Gets the libfwupdplugin installed runtime version.

xmlb_builder_insert_kb

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

xmlb_builder_insert_kv

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

xmlb_builder_insert_kx

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

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

BUILD_HASH
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
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 clildren 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_DEDUPE_ID

Dedupe imges by ID.

FIRMWARE_FLAG_DEDUPE_IDX

Dedupe imges 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_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.

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 product name.

HWIDS_KEY_PRODUCT_SKU

The HwID key for the top-level product SKU.

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.

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_NONE

No flags set.

QUIRKS_BATTERY_THRESHOLD

The quirk key for the battery threshold in percent.

QUIRKS_BRANCH

The quirk key for the firmware branch.

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.

VOLUME_KIND_ESP

The GUID for the ESP.