blob: ff2c016e0f0cd66433e08278010d302edff5a4f9 [file] [log] [blame]
// Copyright 2023 Richard Hughes <richard@hughsie.com>
// SPDX-License-Identifier: LGPL-2.1-or-later
#[derive(FromString)]
enum FuReleasePriority {
None,
Local,
Remote,
}
#[derive(FromString)]
enum FuP2pPolicy {
Nothing = 0x00,
Metadata = 0x01,
Firmware = 0x02,
}
#[derive(ToString)]
enum FuEngineEmulatorPhase {
Setup,
Install,
Attach,
Detach,
Prepare,
Cleanup,
Reload,
CompositePrepare,
CompositeCleanup,
}
#[derive(ToString)]
enum FuEngineRequestFlags {
None = 0,
NoRequirements = 1 << 0,
AnyRelease = 1 << 1,
}
enum FuEngineLoadFlags {
None = 0,
Readonly = 1 << 0,
Coldplug = 1 << 1,
Remotes = 1 << 2,
Hwinfo = 1 << 3,
NoCache = 1 << 4,
BuiltinPlugins = 1 << 6,
EnsureClientCert = 1 << 7,
ExternalPlugins = 1 << 8, // dload'ed plugins such as flashrom
DeviceHotplug = 1 << 9,
ColdplugForce = 1 << 10, // even without a matched plugin
Ready = 1 << 11,
}
#[derive(ToString)]
enum FuIdleInhibit {
None = 0,
Timeout = 1 << 0,
Signals = 1 << 1,
}
enum FuClientFlags {
None = 0,
Active = 1 << 0,
}
#[derive(FromString)]
enum FuEngineCapabilityFlags {
Unknown = 0,
IdRequirementGlob = 1 << 0,
}
#[derive(ParseBytes, Default)]
#[repr(C, packed)]
struct FuStructUdevMonitorNetlinkHeader {
prefix: [char; 8] == "libudev",
magic: u32be == 0xFEEDCAFE,
header_size: u32le,
properties_off: u32le,
properties_len: u32le,
filter_subsystem_hash: u32le,
filter_devtype_hash: u32le,
filter_tag_bloom_hi: u32le,
filter_tag_bloom_lo: u32le,
}
enum FuUdevMonitorNetlinkGroup {
None,
Kernel,
Udev,
}
#[derive(FromString)]
enum FuUdevAction {
Unknown,
Add,
Remove,
Change,
Move,
Online,
Offline,
Bind,
Unbind,
}