fwupd/libfwupdplugin/fu-hwids.h
Richard Hughes f6751cd783 Allow using custom data to generate CHIDs
This is really useful when working out HwId quirk values for remote systems.

    fwupdtool export-hwids target.hwids
    vim target.hwids
    fwupdtool hwids target.hwids
2021-01-18 07:56:34 +00:00

53 lines
1.7 KiB
C

/*
* Copyright (C) 2017 Richard Hughes <richard@hughsie.com>
*
* SPDX-License-Identifier: LGPL-2.1+
*/
#pragma once
#include <glib-object.h>
#include "fu-smbios.h"
#define FU_TYPE_HWIDS (fu_hwids_get_type ())
G_DECLARE_FINAL_TYPE (FuHwids, fu_hwids, FU, HWIDS, GObject)
#define FU_HWIDS_KEY_BASEBOARD_MANUFACTURER "BaseboardManufacturer"
#define FU_HWIDS_KEY_BASEBOARD_PRODUCT "BaseboardProduct"
#define FU_HWIDS_KEY_BIOS_MAJOR_RELEASE "BiosMajorRelease"
#define FU_HWIDS_KEY_BIOS_MINOR_RELEASE "BiosMinorRelease"
#define FU_HWIDS_KEY_BIOS_VENDOR "BiosVendor"
#define FU_HWIDS_KEY_BIOS_VERSION "BiosVersion"
#define FU_HWIDS_KEY_ENCLOSURE_KIND "EnclosureKind"
#define FU_HWIDS_KEY_FAMILY "Family"
#define FU_HWIDS_KEY_MANUFACTURER "Manufacturer"
#define FU_HWIDS_KEY_PRODUCT_NAME "ProductName"
#define FU_HWIDS_KEY_PRODUCT_SKU "ProductSku"
FuHwids *fu_hwids_new (void);
GPtrArray *fu_hwids_get_keys (FuHwids *self);
const gchar *fu_hwids_get_value (FuHwids *self,
const gchar *key);
void fu_hwids_add_smbios_override (FuHwids *self,
const gchar *key,
const gchar *value);
const gchar *fu_hwids_get_replace_keys (FuHwids *self,
const gchar *key);
gchar *fu_hwids_get_replace_values (FuHwids *self,
const gchar *keys,
GError **error)
G_GNUC_WARN_UNUSED_RESULT;
gchar *fu_hwids_get_guid (FuHwids *self,
const gchar *keys,
GError **error)
G_GNUC_WARN_UNUSED_RESULT;
GPtrArray *fu_hwids_get_guids (FuHwids *self);
gboolean fu_hwids_has_guid (FuHwids *self,
const gchar *guid);
gboolean fu_hwids_setup (FuHwids *self,
FuSmbios *smbios,
GError **error)
G_GNUC_WARN_UNUSED_RESULT;