Namespace

FwupdPlugin – 1.0

Functionality available to fwupd plugins

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

Structs

ErrorConvertEntry
ErrorMapEntry
IntelThunderboltNvmArcParams
IntelThunderboltNvmDigital
IntelThunderboltNvmDram
IntelThunderboltNvmDrom
MkhiArbhSvnGetInfoRequest
MkhiArbhSvnGetInfoResponse
MkhiArbhSvnInfoEntry
MkhiReadFileExRequest
MkhiReadFileExResponse
MkhiReadFileRequest
MkhiReadFileResponse
PluginData

The plugin-allocated private data.

PluginVfuncs

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

StructAcpiTable
StructCabData
StructCabFile
StructCabFolder
StructCabHeader
StructCabHeaderReserve
StructCfuOffer
StructCfuPayload
StructDfuFtr
StructDfuseElement
StructDfuseHdr
StructDfuseImage
StructDpauxDpcd
StructDs20
StructEdid
StructEdidDescriptor
StructEfiDevicePath
StructEfiFaultTolerantWorkingBlockHeader64
StructEfiFile
StructEfiFile2
StructEfiHardDriveDevicePath
StructEfiLoadOption
StructEfiLz77DecompressorHeader
StructEfiSection
StructEfiSection2
StructEfiSectionCompression
StructEfiSectionFreeformSubtypeGuid
StructEfiSectionGuidDefined
StructEfiSignatureList
StructEfiTime
StructEfiVariableAuthentication2
StructEfiVolume
StructEfiVolumeBlockMap
StructEfiVolumeExtEntry
StructEfiVolumeExtHeader
StructEfiVss2VariableStoreHeader
StructEfiVssAuthVariableHeader
StructEfiWinCertificate
StructElfFileHeader64le
StructElfProgramHeader64le
StructElfSectionHeader64le
StructFdt
StructFdtProp
StructFdtReserveEntry
StructFmap
StructFmapArea
StructIfdFcba
StructIfdFdbar
StructIfwiCpd
StructIfwiCpdEntry
StructIfwiCpdManifest
StructIfwiCpdManifestExt
StructIfwiFpt
StructIfwiFptEntry
StructMsDs20
StructOprom
StructOpromPci
StructPeCoffFileHeader
StructPeCoffOptionalHeader64
StructPeCoffSection
StructPeCoffSymbol
StructPeDosHeader
StructSbatLevelSectionHeader
StructShimHive
StructShimHiveItem
StructSmbiosBiosInformation
StructSmbiosEp32
StructSmbiosEp64
StructSmbiosStructure
StructUswid
UsbBaseHdr
UsbBosHdr
UsbDescriptorHdr
UsbDeviceHdr
UsbDfuDescriptorHdr
UsbEndpointHdr
UsbHidDescriptorHdr
UsbInterfaceHdr

Aliases

EndianType

The endian type, e.g. G_LITTLE_ENDIAN.

Enumerations

ArchiveCompression
ArchiveFormat
CabCompression
CabFileAttribute
CfiDeviceCmd
CfuOfferComponentId
CoffSubsystem
ContextQuirkSource
CoswidEntityRole
CoswidHashAlg
CoswidLinkRel
CoswidTag
CoswidVersionScheme
CpuVendor

The CPU vendor.

CrcKind
DisplayState

The device lid state.

EdidDescriptorTag
EfiCompressionType
EfiDevicePathType
EfiFileAttrib
EfiFileType
EfiHardDriveDevicePathPartitionFormat
EfiHardDriveDevicePathSignatureType
EfiHardDriveDevicePathSubtype
EfiLoadOptionAttrs
EfiLoadOptionKind
EfiLz77DecompressorVersion
EfiSectionType
EfiSignatureKind
EfiStatus

EFI_STATUS is u64le on 64-bit and u32le on 32-bit — but be pragmatic.

EfiVariableAttrs
EfiVariableState
EfiVariableStoreFormat
EfiVariableStoreState
EfiVolumeExtEntryType
ElfFileHeaderType
ElfSectionHeaderType
FdtToken
FirmareSrecRecordKind

The kind of SREC record kind.

FirmwareAlignment
HidItemKind
HidItemTag
HidrawBusType
IfdRegion
IhexFirmwareRecordType
IntegerBase
IntelThunderboltNvmFamily
IntelThunderboltNvmSection
LidState

The device lid state.

MkhiArbhSvnInfoEntryUsageId
MkhiCommand
MkhiGroupId
MkhiStatus
MsgpackCmd
MsgpackItemKind
OpromCompressionType
OpromIndicatorFlags
OpromMachineType
OpromSubsystem
PathKind

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

PciDeviceBaseCls
PeCoffMachine
PeCoffMagic
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. This does not have to be exactly what the battery is doing, but is supposed to represent the 40,000ft view of the system power state. For example, it is perfectly correct to set FU_POWER_STATE_AC if the system is connected to AC power, but the battery cells are discharging for health or for other performance reasons.

SmbiosChassisKind
SmbiosStructureType
UsbClass
UsbDescriptorKind
UsbDeviceMsDs20Desc
UsbDirection
UsbLangid
UsbRecipient
UsbRequestType
UswidHeaderFlags
UswidPayloadCompression
V4lCap

Bitfields

ArchiveFlags

The flags to use when loading the archive.

BackendSetupFlags
ConfigLoadFlags
ContextEspFileFlags
ContextFlags
ContextHwidFlags
DeviceIncorporateFlags

The flags to use when incorporating a device instance.

DeviceInstanceFlags
DumpFlags

The flags to use when configuring debugging.

EfiCapsuleHeaderFlags
FirmwareExportFlags
FirmwareFlags
FirmwareParseFlags
HidDeviceFlags

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

IfdAccess
IntelThunderboltNvmSectionFlags
IOChannelFlags

The flags used when reading data from the TTY.

IoChannelOpenFlags
IoctlFlags

Flags used when calling fu_ioctl_execute() and fu_udev_device_ioctl().

ProgressFlags
QuirksLoadFlags

The flags to use when loading quirks.

SecurityAttrsFlags

The flags to use when calculating an HSI version.

SmbiosBiosCharacteristics
SmbiosBiosCharacteristicsExt
UsbDeviceClaimFlags

Flags for the fu_usb_device_claim_interface and fu_usb_device_release_interface methods flags parameters.

UtfConvertFlags

The flags to use when converting to and from UTF-8.

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.

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

byte_array_append_array

Adds the content of array2 to array.

byte_array_append_bytes

Adds the contents of a GBytes to a byte array.

byte_array_append_safe

Adds the content of buf at offset to array.

byte_array_append_uint16

Adds a 16 bit integer to a byte array.

byte_array_append_uint24

Adds a 24 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_from_string

Converts a lowercase hex string to a byte array.

byte_array_set_size

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

byte_array_to_string

Converts the byte array to a lowercase hex string.

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.

bytes_compare

Compares the buffers for equality.

bytes_from_string

Converts a lowercase hex string to a GBytes.

bytes_get_contents

Reads a blob of data from a file.

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.

bytes_is_empty

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

bytes_new_offset

Creates a GBytes which is a subsection of another GBytes.

bytes_pad

Pads a GBytes to a minimum sz with 0xff.

bytes_set_contents

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

bytes_to_string

Converts bytes to a lowercase hex string.

cab_compression_to_string

Converts an enumerated value to a string.

coff_subsystem_to_string

Converts an enumerated value 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_get_kernel_cmdline

Returns the current kernel command line options.

common_get_memory_size

Returns the size of physical memory.

common_get_olson_timezone_id

Gets the system Olson timezone ID, as used in the CLDR and ICU specifications.

common_guid_is_plausible

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

coswid_entity_role_from_string

Converts a string to an enumerated value.

coswid_entity_role_to_string

Converts an enumerated value to a string.

coswid_hash_alg_from_string

Converts a string to an enumerated value.

coswid_hash_alg_to_string

Converts an enumerated value to a string.

coswid_link_rel_from_string

Converts a string to an enumerated value.

coswid_link_rel_to_string

Converts an enumerated value to a string.

coswid_tag_from_string

Converts a string to an enumerated value.

coswid_tag_to_string

Converts an enumerated value to a string.

coswid_version_scheme_from_string

Converts a string to an enumerated value.

coswid_version_scheme_to_string

Converts an enumerated value to a string.

cpu_get_attrs

Gets attributes for the first CPU listed in /proc/cpuinfo.

cpu_get_vendor

Uses CPUID to discover the CPU vendor.

cpuid

Calls CPUID and returns the registers for the given leaf.

crc16

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

crc16_bytes

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

crc32

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

crc32_bytes

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

crc8

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

crc8_bytes

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

crc_find

Returns the cyclic redundancy kind for the given memory buffer and target CRC.

crc_kind_from_string

Converts a string to an enumerated value.

crc_kind_to_string

Converts an enumerated value to a string.

crc_misr16

Returns the MISR check value for the given memory buffer.

crc_size

Returns the size of the CRC in bits.

display_state_from_string

Converts a string to an enumerated value.

display_state_to_string

Converts an enumerated value to a string.

dump_bytes

Dumps a byte buffer to the screen.

dump_full

Dumps a raw buffer to the screen.

dump_raw

Dumps a raw buffer to the screen.

efi_guid_to_name

Converts a GUID to the known nice name.

efi_lz77_decompressor_version_to_string

Converts an enumerated value to a string.

efi_parse_sections

Parses a UEFI section.

efi_status_to_string

Converts an enumerated value to a string.

efi_timestamp_build

Imports an EFI_TIME from XML.

efi_timestamp_export

Exports an EFI_TIME to XML.

efi_variable_attrs_from_string

Converts a string to an enumerated value.

efi_variable_attrs_to_string

Converts an enumerated value to a string.

efi_variable_state_from_string

Converts a string to an enumerated value.

efi_variable_state_to_string

Converts an enumerated value to a string.

efi_variable_store_state_from_string

Converts a string to an enumerated value.

efi_variable_store_state_to_string

Converts an enumerated value to a string.

elf_section_header_type_to_string

Converts an enumerated value to a string.

error_convert

Convert the error to a FwupdError, if required.

hid_item_kind_to_string

Converts an enumerated value to a string.

hid_item_tag_from_string

Converts a string to an enumerated value.

hid_item_tag_to_string

Converts an enumerated value to a string.

hidraw_bus_type_to_string

Converts an enumerated value to a string.

ifd_access_to_string

Converts an enumerated value to a string.

ifd_region_to_string

Converts an enumerated value to a string.

input_stream_chunkify

Split the stream into blocks and calls a function on each chunk.

input_stream_compute_checksum

Generates the checksum of the entire stream.

input_stream_compute_crc16

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

input_stream_compute_crc32

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

input_stream_compute_sum16

Returns the arithmetic sum of all bytes in the stream.

input_stream_compute_sum32

Returns the arithmetic sum of all bytes in the stream.

input_stream_compute_sum8

Returns the arithmetic sum of all bytes in the stream.

input_stream_find

Find a memory buffer within an input stream, without loading the entire stream into a buffer.

input_stream_from_path

Opens the file as n input stream.

input_stream_read_byte_array

Read a byte array from a stream in a safe way.

input_stream_read_bytes

Read a GBytes from a stream in a safe way.

input_stream_read_safe

Tries to read count bytes from the stream into the buffer starting at buf.

input_stream_read_string

Read a UTF-8 string from a stream in a safe way.

input_stream_read_u16

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

input_stream_read_u24

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

input_stream_read_u32

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

input_stream_read_u64

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

input_stream_read_u8

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

input_stream_size

Reads the total possible of the stream.

kenv_get_string

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

kernel_add_cmdline_arg

Add a kernel command line argument.

kernel_check_cmdline_mutable
kernel_check_version

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

kernel_get_cmdline

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

kernel_get_config

Loads all the kernel options into a hash table. Commented out options are not included.

kernel_locked_down

Determines if kernel lockdown in effect.

kernel_parse_cmdline

Parses all the kernel key/values into a hash table, respecting double quotes when required.

kernel_parse_config

Parses all the kernel options into a hash table. Commented out options are not included.

kernel_remove_cmdline_arg

Remove a kernel command line argument.

lid_state_to_string

Converts an enumerated value to a string.

memchk_read

Works out if reading from a buffer is safe. Providing the buffer sizes allows us to check for buffer overflow.

memchk_write

Works out if writing to a buffer is safe. Providing the buffer sizes allows us to check for buffer overflow.

memcmp_safe

Compares the buffers for equality.

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.

memread_uint16

Read a value from a buffer using a specified endian.

memread_uint16_safe

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

memread_uint24

Read a value from a buffer using a specified endian.

memread_uint24_safe

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

memread_uint32

Read a value from a buffer using a specified endian.

memread_uint32_safe

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

memread_uint64

Read a value from a buffer using a specified endian.

memread_uint64_safe

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

memread_uint8_safe

Read a value from a buffer in a safe way.

memstrsafe

Converts a byte buffer to a ASCII string.

memwrite_uint16

Writes a value to a buffer using a specified endian.

memwrite_uint16_safe

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

memwrite_uint24

Writes a value to a buffer using a specified endian.

memwrite_uint32

Writes a value to a buffer using a specified endian.

memwrite_uint32_safe

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

memwrite_uint64

Writes a value to a buffer using a specified endian.

memwrite_uint64_safe

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

memwrite_uint8_safe

Write a value to a buffer in a safe way.

mkhi_status_to_string

Converts an enumerated value to a string.

output_stream_from_path

Opens the file as an output stream.

output_stream_write_bytes

Write bytes into the stream, retrying as required. Will block during the operation.

path_build

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

path_find_program

Looks for a program in the PATH variable.

path_from_kind

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

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.

path_get_symlink_target

Returns the symlink target.

path_glob

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

path_make_absolute

Returns the resolved absolute file name.

path_mkdir

Creates any required directories, including any parent directories.

path_mkdir_parent

Creates any required directories, including any parent directories.

path_rmtree

Recursively removes a directory.

power_state_is_ac

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

power_state_to_string

Converts an enumerated value to a string.

size_checked_add

Performs a checked addition of a and b, ensuring the result does not overflow.

strdup

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

string_strip

Removes leading and trailing whitespace from a mutable string.

strjoin

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

strpassmask

Hides password strings encoded in HTTP requests.

strsafe

Converts a string into something that can be safely printed.

strsafe_bytes

Converts a GBytes into something that can be safely printed.

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.

strsplit_bytes

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.

strsplit_full

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

strsplit_stream

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

strstrip

Removes leading and trailing whitespace from a constant string.

strtobool

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

strtoll

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

strtoull

Converts a string value to an integer. If the value is prefixed with 0x then the base is set to 16 automatically.

strwidth

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

sum16

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

sum16_bytes

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

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.

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.

sum32

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

sum32_bytes

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

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.

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.

sum8

Returns the arithmetic sum of all bytes in buf.

sum8_bytes

Returns the arithmetic sum of all bytes in blob.

usb_class_to_string

Converts an enumerated value to a string.

usb_descriptor_kind_from_string

Converts a string to an enumerated value.

usb_descriptor_kind_to_string

Converts an enumerated value to a string.

uswid_payload_compression_from_string

Converts a string to an enumerated value.

uswid_payload_compression_to_string

Converts an enumerated value to a string.

utf16_to_utf8_byte_array

Converts a UTF-16 buffer to a UTF-8 string.

utf16_to_utf8_bytes

Converts a UTF-16 buffer to a UTF-8 string.

utf8_to_utf16_byte_array

Converts UTF-8 string to a buffer of UTF-16, optionially including the trailing NULw.

utf8_to_utf16_bytes

Converts UTF-8 string to a buffer of UTF-16, optionally including the trailing NULw.

v4l_cap_to_string

Converts an enumerated value to a string.

version_compare

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

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.

version_from_uint16

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

version_from_uint16_hex

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

version_from_uint24

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

version_from_uint32

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

version_from_uint32_hex

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

version_from_uint64

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

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.

version_parse_from_format

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

version_verify_format

Verifies if a version matches the input format.

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.

Constants

ARCHIVE_COMPRESSION_LAST
ARCHIVE_FORMAT_LAST
BLUEZ_DEVICE_UUID_DI_FIRMWARE_REVISION
BLUEZ_DEVICE_UUID_DI_HARDWARE_REVISION
BLUEZ_DEVICE_UUID_DI_MANUFACTURER_NAME
BLUEZ_DEVICE_UUID_DI_MODEL_NUMBER
BLUEZ_DEVICE_UUID_DI_PNP_UID
BLUEZ_DEVICE_UUID_DI_SERIAL_NUMBER
BLUEZ_DEVICE_UUID_DI_SOFTWARE_REVISION
BLUEZ_DEVICE_UUID_DI_SYSTEM_ID
CFI_DEVICE_CMD_LAST
CHUNK_ADDR_OFFSET_NONE

No address offset is used.

CHUNK_PAGESZ_NONE

No page size is used.

CONTEXT_HWID_FLAG_LOAD_ALL
CONTEXT_QUIRK_SOURCE_LAST
COSWID_ENTITY_ROLE_LAST
COSWID_TAG_LAST
CPU_VENDOR_LAST
CRC_KIND_LAST
DEVICE_ICON_AC_ADAPTER

A generic icon of an AC adapter.

DEVICE_ICON_APPLICATION_CERTIFICATE

A generic icon of a certificate.

DEVICE_ICON_AUDIO_CARD

An icon of an audio card.

DEVICE_ICON_AUTH_FINGERPRINT

A generic icon of a fingerprint reader.

DEVICE_ICON_COMPUTER

A generic icon of a computer.

DEVICE_ICON_DOCK

A generic icon of a dock.

DEVICE_ICON_DOCK_USB

An icon of a dock attached via USB.

DEVICE_ICON_DRIVE_HARDDISK

A generic icon of a hard disk drive.

DEVICE_ICON_DRIVE_MULTIDISK

A generic icon of a multidisk drive.

DEVICE_ICON_DRIVE_SSD

A generic icon of a hard disk drive.

DEVICE_ICON_GPU

A generic icon of a gpu.

DEVICE_ICON_INPUT_DIALPAD

A generic icon of a dialpad.

DEVICE_ICON_INPUT_GAMING

A generic icon of a gaming controller.

DEVICE_ICON_INPUT_KEYBOARD

A generic icon of a keyboard.

DEVICE_ICON_INPUT_MOUSE

A generic icon of a mouse.

DEVICE_ICON_INPUT_TABLET

A generic icon of a drawing tablet.

DEVICE_ICON_INPUT_TOUCHPAD

A generic icon of a touchpad.

DEVICE_ICON_MEMORY

A generic icon of a memory card.

DEVICE_ICON_MODEM

An icon of a modem.

DEVICE_ICON_NETWORK_WIRED

A generic icon of a wired connection.

DEVICE_ICON_NETWORK_WIRELESS

A generic icon of a wireless connection.

DEVICE_ICON_PDA

A generic icon of a PDA.

DEVICE_ICON_THUNDERBOLT

A generic icon of a thunderbolt device.

DEVICE_ICON_USB_HUB

An icon of a hub of USB devices.

DEVICE_ICON_USB_RECEIVER

A generic icon of an USB receiver.

DEVICE_ICON_VIDEO_CAMERA

A generic icon of a video camera.

DEVICE_ICON_VIDEO_DISPLAY

A generic icon of a display.

DEVICE_ICON_WEB_CAMERA

A generic icon of a web camera.

DEVICE_METADATA_CPU_MITIGATIONS_REQUIRED

CPU mitigations required. See the CPU plugin for more details.

DEVICE_METADATA_CPU_SINKCLOSE_MICROCODE_VER

Microcode version required to mitigate Sinkclose. See the CPU plugin for more details.

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_PRIVATE_FLAG_ADD_COUNTERPART_GUIDS

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

DEVICE_PRIVATE_FLAG_ADD_INSTANCE_ID_REV

Add the _REV instance ID suffix.

DEVICE_PRIVATE_FLAG_ATTACH_EXTRA_RESET

Device needs resetting twice for attach after the firmware update.

DEVICE_PRIVATE_FLAG_AUTO_PARENT_CHILDREN

Automatically assign the parent for children of this device.

DEVICE_PRIVATE_FLAG_AUTO_PAUSE_POLLING

Pause polling when reading or writing to the device.

DEVICE_PRIVATE_FLAG_COUNTERPART_VISIBLE

Add the counterpart instance IDs as visible GUID that can be matched in firmware.

DEVICE_PRIVATE_FLAG_DELAYED_REMOVAL

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

DEVICE_PRIVATE_FLAG_DETACH_PREPARE_FIRMWARE

Detach, then prepare firmware rather than parsing firmware from the runtime device. For some devices the firmware GType isn’t known until the bootloader gets added.

DEVICE_PRIVATE_FLAG_DISPLAY_REQUIRED

The device requires a display to be plugged in.

DEVICE_PRIVATE_FLAG_EMULATED_REQUIRE_SETUP

The device requires FuDevice->setup() rather than FuDevice->probe() to add instance IDs during emulated device enumeration.

DEVICE_PRIVATE_FLAG_ENFORCE_REQUIRES

The device uses a generic instance ID and firmware requires a parent, child, sibling or CHID requirement.

DEVICE_PRIVATE_FLAG_ENSURE_SEMVER

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

DEVICE_PRIVATE_FLAG_EXPLICIT_ORDER

Do not automatically set the device order, e.g. updating the child before the parent.

DEVICE_PRIVATE_FLAG_HOST_CPU

The device represents the main CPU device.

DEVICE_PRIVATE_FLAG_HOST_CPU_CHILD

The device should be a child of the main CPU device.

DEVICE_PRIVATE_FLAG_HOST_FIRMWARE

The device represents the main system host firmware.

DEVICE_PRIVATE_FLAG_HOST_FIRMWARE_CHILD

The device should be a child of the main system host firmware device.

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

Inherit activation status from the history database on startup.

DEVICE_PRIVATE_FLAG_INHIBIT_CHILDREN

Children of the device are inhibited by the parent.

DEVICE_PRIVATE_FLAG_INSTALL_LOOP_RESTART

Restart the detach->write_firmware->attach->reload loop without completing the sequence. This can be set on any step, unlike another-write-required which does all steps.

DEVICE_PRIVATE_FLAG_INSTALL_PARENT_FIRST

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

DEVICE_PRIVATE_FLAG_IS_FAKE

The device is fake, and constructed from a fake sysfs test directory.

DEVICE_PRIVATE_FLAG_IS_OPEN

The device opened successfully and ready to use.

DEVICE_PRIVATE_FLAG_LAZY_VERFMT

Allow the device version to be specified as an integer in the release XML.

DEVICE_PRIVATE_FLAG_MD_ONLY_CHECKSUM

Only use the metadata checksum to set device attributes.

DEVICE_PRIVATE_FLAG_MD_SET_FLAGS

Set the device flags from the metadata if available.

DEVICE_PRIVATE_FLAG_MD_SET_ICON

Set the device icon from the metadata if available.

DEVICE_PRIVATE_FLAG_MD_SET_NAME

Set the device name from the metadata name if available.

DEVICE_PRIVATE_FLAG_MD_SET_NAME_CATEGORY

Set the device name from the metadata category if available.

DEVICE_PRIVATE_FLAG_MD_SET_REQUIRED_FREE

Set the device required free size from the metadata if available.

DEVICE_PRIVATE_FLAG_MD_SET_SIGNED

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

DEVICE_PRIVATE_FLAG_MD_SET_VENDOR

Set the device vendor from the metadata developer_name if available.

DEVICE_PRIVATE_FLAG_MD_SET_VERFMT

Set the device version format from the metadata or history database if available.

DEVICE_PRIVATE_FLAG_MD_SET_VERSION

Set the device version from the metadata if available.

DEVICE_PRIVATE_FLAG_NO_AUTO_INSTANCE_IDS

Do not add instance IDs from the device baseclass.

DEVICE_PRIVATE_FLAG_NO_AUTO_REMOVE

The device is not auto removed.

DEVICE_PRIVATE_FLAG_NO_AUTO_REMOVE_CHILDREN

Do not auto-remove children in the device list.

DEVICE_PRIVATE_FLAG_NO_GENERIC_GUIDS

Do not add generic GUIDs from outside the plugin.

DEVICE_PRIVATE_FLAG_NO_LID_CLOSED

Do not allow updating when the laptop lid is closed.

DEVICE_PRIVATE_FLAG_NO_PROBE

Do not probe this device.

DEVICE_PRIVATE_FLAG_NO_SERIAL_NUMBER

Do not attempt to read the device serial number.

DEVICE_PRIVATE_FLAG_NO_VERSION_EXPECTED

Allow the device version to be unset.

DEVICE_PRIVATE_FLAG_ONLY_SUPPORTED

Only devices supported in the metadata will be opened.

DEVICE_PRIVATE_FLAG_PARENT_NAME_PREFIX

Use the parent device as the name prefix.

DEVICE_PRIVATE_FLAG_REFCOUNTED_PROXY

Reference-count the proxy — which is useful when using ProxyGType.

DEVICE_PRIVATE_FLAG_REGISTERED

The device has been registered with other plugins.

DEVICE_PRIVATE_FLAG_REPLUG_MATCH_GUID

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

DEVICE_PRIVATE_FLAG_RETRY_OPEN

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

DEVICE_PRIVATE_FLAG_SAVE_INTO_BACKUP_REMOTE

Save the cabinet archive to persistent storage remote before starting the update process.

DEVICE_PRIVATE_FLAG_SKIPS_RESTART

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

DEVICE_PRIVATE_FLAG_UNCONNECTED

The device is not connected and is probably awaiting replug.

DEVICE_PRIVATE_FLAG_UPDATE_PENDING

The device has an update that is waiting to be applied.

DEVICE_PRIVATE_FLAG_USE_PARENT_FOR_BATTERY

Use parent for the battery level and threshold.

DEVICE_PRIVATE_FLAG_USE_PARENT_FOR_OPEN

Use parent to open and close the device.

DEVICE_PRIVATE_FLAG_USE_PROXY_FALLBACK

Use parent for the battery level and threshold.

DEVICE_PRIVATE_FLAG_USE_PROXY_FOR_OPEN

Use proxy to open and close the device.

DEVICE_PRIVATE_FLAG_USE_RUNTIME_VERSION

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

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.

DISPLAY_STATE_LAST
DPAUX_DEVICE_DPCD_OFFSET_BRANCH_DEVICE
DPAUX_DEVICE_DPCD_OFFSET_LINK_CONFIGURATION
DPAUX_DEVICE_DPCD_OFFSET_LINK_SINK_STATUS
DPAUX_DEVICE_DPCD_OFFSET_RECEIVER_CAPABILITY
DPAUX_DEVICE_DPCD_OFFSET_SINK_DEVICE
DPAUX_DEVICE_DPCD_OFFSET_SOURCE_DEVICE
EFI_FILE_GUID_BIOS_GUARD
EFI_FILE_GUID_FV_IMAGE
EFI_FILE_GUID_MICROCODE
EFI_HARD_DRIVE_DEVICE_PATH_SIGNATURE_TYPE_LAST
EFI_LOAD_OPTION_KIND_LAST
EFI_LOAD_OPTION_METADATA_CMDLINE

The key for the kernel command line.

EFI_LOAD_OPTION_METADATA_PATH

The key for the 2nd-stage loader path.

EFI_LZ77_DECOMPRESSOR_VERSION_LAST
EFI_SECTION_GUID_ACPI1_TABLE
EFI_SECTION_GUID_ACPI2_TABLE
EFI_SECTION_GUID_ESRT_TABLE
EFI_SECTION_GUID_LZMA_COMPRESS
EFI_SECTION_GUID_SMBIOS_TABLE
EFI_SECTION_GUID_TIANO_COMPRESS
EFI_SIGNATURE_GUID_FRAMEWORK
EFI_SIGNATURE_GUID_MICROSOFT
EFI_SIGNATURE_GUID_OVMF
EFI_SIGNATURE_GUID_OVMF_LEGACY
EFI_SIGNATURE_GUID_ZERO
EFI_SIGNATURE_KIND_LAST
EFI_VOLUME_GUID_APPLE_BOOT
EFI_VOLUME_GUID_FFS1
EFI_VOLUME_GUID_FFS2
EFI_VOLUME_GUID_FFS3
EFI_VOLUME_GUID_HP_FS
EFI_VOLUME_GUID_NVRAM_EVSA
EFI_VOLUME_GUID_NVRAM_EVSA2
EFI_VOLUME_GUID_NVRAM_NVAR
EFI_VOLUME_GUID_PFH1
EFI_VOLUME_GUID_PFH2
EFIVARS_GUID_EFI_CAPSULE_REPORT
EFIVARS_GUID_EFI_GLOBAL
EFIVARS_GUID_FWUPDATE
EFIVARS_GUID_SECURITY_DATABASE
EFIVARS_GUID_SHIM
EFIVARS_GUID_UX_CAPSULE
FIRMWARE_ALIGNMENT_LAST
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.

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

UUID for firmware updates.

HECI_DEVICE_UUID_MCHI

UUID for MCHI, commonly called MCA.

HECI_DEVICE_UUID_MCHI2

Another UUID for MCHI, commonly called MCA.

HECI_DEVICE_UUID_MKHI

UUID for MKHI, usually a legacy interface.

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

I2C_DEVICE_PRIVATE_FLAG_NO_HWID_GUIDS

Do not add the HWID instance IDs.

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.

INTEL_THUNDERBOLT_NVM_FAMILY_LAST
INTEL_THUNDERBOLT_NVM_SECTION_LAST
LID_STATE_LAST
MSGPACK_ITEM_KIND_LAST
OPROM_COMPRESSION_TYPE_LAST
OPROM_MACHINE_TYPE_LAST
OPROM_SUBSYSTEM_LAST
POWER_STATE_LAST
QUIRKS_ACQUIESCE_DELAY

The quirk key for the device removal delay in milliseconds, e.g. 2500.

QUIRKS_BATTERY_THRESHOLD

The quirk key for the battery threshold in percent, e.g. 80.

QUIRKS_BRANCH

The quirk key for the firmware branch.

QUIRKS_CFI_DEVICE_BLOCK_SIZE

The quirk key to set the CFI block size, e.g. 0x100.

QUIRKS_CFI_DEVICE_CMD_BLOCK_ERASE

The quirk key to set the CFI block erase command, e.g. 0xF8.

QUIRKS_CFI_DEVICE_CMD_CHIP_ERASE

The quirk key to set the CFI chip erase command, e.g. 0xF8.

QUIRKS_CFI_DEVICE_CMD_PAGE_PROG

The quirk key to set the CFI page program command, e.g. 0xF8.

QUIRKS_CFI_DEVICE_CMD_READ_DATA

The quirk key to set the CFI read data command, e.g. 0xF8.

QUIRKS_CFI_DEVICE_CMD_READ_ID

The quirk key to set the CFI read ID command, e.g. 0xF8.

QUIRKS_CFI_DEVICE_CMD_READ_ID_SZ

The quirk key to set the CFI read ID size, e.g. 0xF8.

QUIRKS_CFI_DEVICE_CMD_READ_STATUS

The quirk key to set the CFI read status command, e.g. 0xF8.

QUIRKS_CFI_DEVICE_CMD_SECTOR_ERASE

The quirk key to set the CFI sector erase command, e.g. 0xF8.

QUIRKS_CFI_DEVICE_CMD_WRITE_EN

The quirk key to set the CFI write en command, e.g. 0xF8.

QUIRKS_CFI_DEVICE_CMD_WRITE_STATUS

The quirk key to set the CFI write status command, e.g. 0xF8.

QUIRKS_CFI_DEVICE_PAGE_SIZE

The quirk key to set the CFI page size, e.g. 0xF8.

QUIRKS_CFI_DEVICE_SECTOR_SIZE

The quirk key to set the CFI sector size, e.g. 0x100.

QUIRKS_CHILDREN

The quirk key for the children. This should contain the custom GType, e.g. FuRts54xxDeviceUSB\VID_0763&PID_2806&I2C_01.

QUIRKS_COUNTERPART_GUID

The quirk key for the counterpart GUID, e.g. 537f7800-8529-5656-b2fa-b0901fe91696.

QUIRKS_FIRMWARE_GTYPE

The quirk key for the custom firmware GType, e.g. FuUswidFirmware.

QUIRKS_FIRMWARE_SIZE

The quirk key for the exact required firmware size in bytes, e.g. 1024.

QUIRKS_FIRMWARE_SIZE_MAX

The quirk key for the maximum firmware size in bytes, e.g. 1024.

QUIRKS_FIRMWARE_SIZE_MIN

The quirk key for the minimum firmware size in bytes, e.g. 512.

QUIRKS_FLAGS

The quirk key for either for public, internal or private flags, e.g. is-bootloader.

QUIRKS_GTYPE

The quirk key for the custom GType, e.g. FuCcgxHidDevice.

QUIRKS_GUID

The quirk key for the GUID, e.g. 537f7800-8529-5656-b2fa-b0901fe91696.

QUIRKS_GUID_QUIRK

The quirk key for the GUID, only used for quirk matching, e.g. SYNAPTICS_CAPE\CX31993.

QUIRKS_ICON

The quirk key for the icon, e.g. media-removable.

QUIRKS_INHIBIT

The quirk key to inhibit the UPDATABLE flag and to set an update error, e.g. In safe mode.

QUIRKS_INSTALL_DURATION

The quirk key for the install duration in seconds, e.g. 60.

QUIRKS_ISSUE

The quirk key to add security issues affecting a specific device, e.g. https://www.pugetsystems.com/support/guides/critical-samsung-ssd-firmware-update/.

QUIRKS_NAME

The quirk key for the name, e.g. ColorHug.

QUIRKS_PARENT_GUID

The quirk key for the parent GUID, e.g. 537f7800-8529-5656-b2fa-b0901fe91696.

QUIRKS_PLUGIN

The quirk key for the plugin name, e.g. csr.

QUIRKS_PRIORITY

The quirk key for the device priority, e.g. 2.

QUIRKS_PROTOCOL

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

QUIRKS_PROXY_GTYPE

The quirk key for the custom proxy GType, e.g. FuCcgxHidDevice.

QUIRKS_PROXY_GUID

The quirk key for the proxy GUID, e.g. 537f7800-8529-5656-b2fa-b0901fe91696.

QUIRKS_REMOVE_DELAY

The quirk key for the device removal delay in milliseconds, e.g. 2500.

QUIRKS_SUMMARY

The quirk key for the summary, e.g. An open source display colorimeter.

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, e.g. Hughski Limited.

QUIRKS_VENDOR_ID

The quirk key for the vendor ID, e.g. USB:0x123A.

QUIRKS_VERSION

The quirk key for the version, e.g. 1.2.3.

QUIRKS_VERSION_FORMAT

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

SMBIOS_CHASSIS_KIND_LAST
SMBIOS_STRUCTURE_TYPE_LAST
UDEV_DEVICE_ATTR_READ_TIMEOUT_DEFAULT

The default IO timeout when reading sysfs attributes.

UDEV_DEVICE_FLAG_SYSFS_USE_PHYSICAL_ID

Use the physical ID for the sysfs path rather than the backend ID.

USB_DEVICE_MS_DS20_DESC_LAST
USB_DIRECTION_LAST
USB_RECIPIENT_LAST
USB_REQUEST_TYPE_LAST
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.