/*
 * This file is auto-generated, do not modify!
 *
 * SPDX-License-Identifier: LGPL-2.1-or-later
 */

#pragma once
#include <fwupd.h>
/**
 * FuHidBusType:
 */
typedef enum {
    /**
     * FU_HID_BUS_TYPE_UNKNOWN:
     */
    FU_HID_BUS_TYPE_UNKNOWN = 0x00,
    /**
     * FU_HID_BUS_TYPE_PCI:
     */
    FU_HID_BUS_TYPE_PCI = 0x01,
    /**
     * FU_HID_BUS_TYPE_ISAPNP:
     */
    FU_HID_BUS_TYPE_ISAPNP = 0x02,
    /**
     * FU_HID_BUS_TYPE_USB:
     */
    FU_HID_BUS_TYPE_USB = 0x03,
    /**
     * FU_HID_BUS_TYPE_HIL:
     */
    FU_HID_BUS_TYPE_HIL = 0x04,
    /**
     * FU_HID_BUS_TYPE_BLUETOOTH:
     */
    FU_HID_BUS_TYPE_BLUETOOTH = 0x05,
    /**
     * FU_HID_BUS_TYPE_VIRTUAL:
     */
    FU_HID_BUS_TYPE_VIRTUAL = 0x06,
    /**
     * FU_HID_BUS_TYPE_ISA:
     */
    FU_HID_BUS_TYPE_ISA = 0x10,
    /**
     * FU_HID_BUS_TYPE_I8042:
     */
    FU_HID_BUS_TYPE_I8042 = 0x11,
    /**
     * FU_HID_BUS_TYPE_XTKBD:
     */
    FU_HID_BUS_TYPE_XTKBD = 0x12,
    /**
     * FU_HID_BUS_TYPE_RS232:
     */
    FU_HID_BUS_TYPE_RS232 = 0x13,
    /**
     * FU_HID_BUS_TYPE_GAMEPORT:
     */
    FU_HID_BUS_TYPE_GAMEPORT = 0x14,
    /**
     * FU_HID_BUS_TYPE_PARPORT:
     */
    FU_HID_BUS_TYPE_PARPORT = 0x15,
    /**
     * FU_HID_BUS_TYPE_AMIGA:
     */
    FU_HID_BUS_TYPE_AMIGA = 0x16,
    /**
     * FU_HID_BUS_TYPE_ADB:
     */
    FU_HID_BUS_TYPE_ADB = 0x17,
    /**
     * FU_HID_BUS_TYPE_I2C:
     */
    FU_HID_BUS_TYPE_I2C = 0x18,
    /**
     * FU_HID_BUS_TYPE_HOST:
     */
    FU_HID_BUS_TYPE_HOST = 0x19,
    /**
     * FU_HID_BUS_TYPE_GSC:
     */
    FU_HID_BUS_TYPE_GSC = 0x1A,
    /**
     * FU_HID_BUS_TYPE_ATARI:
     */
    FU_HID_BUS_TYPE_ATARI = 0x1B,
    /**
     * FU_HID_BUS_TYPE_SPI:
     */
    FU_HID_BUS_TYPE_SPI = 0x1C,
    /**
     * FU_HID_BUS_TYPE_RMI:
     */
    FU_HID_BUS_TYPE_RMI = 0x1D,
    /**
     * FU_HID_BUS_TYPE_CEC:
     */
    FU_HID_BUS_TYPE_CEC = 0x1E,
    /**
     * FU_HID_BUS_TYPE_INTEL_ISHTP:
     */
    FU_HID_BUS_TYPE_INTEL_ISHTP = 0x1F,
    /**
     * FU_HID_BUS_TYPE_AMD_SFH:
     */
    FU_HID_BUS_TYPE_AMD_SFH = 0x20,
}  FuHidBusType;
const gchar *fu_hid_bus_type_to_string(FuHidBusType val) G_GNUC_CONST;
/**
 * FuHidItemTag:
 */
typedef enum {
    /**
     * FU_HID_ITEM_TAG_UNKNOWN:
     */
    FU_HID_ITEM_TAG_UNKNOWN = 0x0,
    /**
     * FU_HID_ITEM_TAG_INPUT:
     *
     * Main
     */
    FU_HID_ITEM_TAG_INPUT = 0x20,
    /**
     * FU_HID_ITEM_TAG_OUTPUT:
     */
    FU_HID_ITEM_TAG_OUTPUT = 0x24,
    /**
     * FU_HID_ITEM_TAG_FEATURE:
     */
    FU_HID_ITEM_TAG_FEATURE = 0x2c,
    /**
     * FU_HID_ITEM_TAG_COLLECTION:
     */
    FU_HID_ITEM_TAG_COLLECTION = 0x28,
    /**
     * FU_HID_ITEM_TAG_END_COLLECTION:
     */
    FU_HID_ITEM_TAG_END_COLLECTION = 0x30,
    /**
     * FU_HID_ITEM_TAG_USAGE_PAGE:
     *
     * Global
     */
    FU_HID_ITEM_TAG_USAGE_PAGE = 0x1,
    /**
     * FU_HID_ITEM_TAG_LOGICAL_MINIMUM:
     */
    FU_HID_ITEM_TAG_LOGICAL_MINIMUM = 0x5,
    /**
     * FU_HID_ITEM_TAG_LOGICAL_MAXIMUM:
     */
    FU_HID_ITEM_TAG_LOGICAL_MAXIMUM = 0x9,
    /**
     * FU_HID_ITEM_TAG_PHYSICAL_MINIMUM:
     */
    FU_HID_ITEM_TAG_PHYSICAL_MINIMUM = 0xd,
    /**
     * FU_HID_ITEM_TAG_PHYSICAL_MAXIMUM:
     */
    FU_HID_ITEM_TAG_PHYSICAL_MAXIMUM = 0x11,
    /**
     * FU_HID_ITEM_TAG_UNIT:
     */
    FU_HID_ITEM_TAG_UNIT = 0x15,
    /**
     * FU_HID_ITEM_TAG_REPORT_SIZE:
     */
    FU_HID_ITEM_TAG_REPORT_SIZE = 0x1d,
    /**
     * FU_HID_ITEM_TAG_REPORT_ID:
     */
    FU_HID_ITEM_TAG_REPORT_ID = 0x21,
    /**
     * FU_HID_ITEM_TAG_REPORT_COUNT:
     */
    FU_HID_ITEM_TAG_REPORT_COUNT = 0x25,
    /**
     * FU_HID_ITEM_TAG_PUSH:
     */
    FU_HID_ITEM_TAG_PUSH = 0x29,
    /**
     * FU_HID_ITEM_TAG_POP:
     */
    FU_HID_ITEM_TAG_POP = 0x2d,
    /**
     * FU_HID_ITEM_TAG_USAGE:
     *
     * Local
     */
    FU_HID_ITEM_TAG_USAGE = 0x2,
    /**
     * FU_HID_ITEM_TAG_USAGE_MINIMUM:
     */
    FU_HID_ITEM_TAG_USAGE_MINIMUM = 0x6,
    /**
     * FU_HID_ITEM_TAG_USAGE_MAXIMUM:
     */
    FU_HID_ITEM_TAG_USAGE_MAXIMUM = 0xa,
    /**
     * FU_HID_ITEM_TAG_DESIGNATOR_INDEX:
     */
    FU_HID_ITEM_TAG_DESIGNATOR_INDEX = 0xe,
    /**
     * FU_HID_ITEM_TAG_DESIGNATOR_MINIMUM:
     */
    FU_HID_ITEM_TAG_DESIGNATOR_MINIMUM = 0x12,
    /**
     * FU_HID_ITEM_TAG_DESIGNATOR_MAXIMUM:
     */
    FU_HID_ITEM_TAG_DESIGNATOR_MAXIMUM = 0x16,
    /**
     * FU_HID_ITEM_TAG_STRING_INDEX:
     */
    FU_HID_ITEM_TAG_STRING_INDEX = 0x1e,
    /**
     * FU_HID_ITEM_TAG_STRING_MINIMUM:
     */
    FU_HID_ITEM_TAG_STRING_MINIMUM = 0x22,
    /**
     * FU_HID_ITEM_TAG_STRING_MAXIMUM:
     */
    FU_HID_ITEM_TAG_STRING_MAXIMUM = 0x26,
    /**
     * FU_HID_ITEM_TAG_LONG:
     *
     * 'just' supported
     */
    FU_HID_ITEM_TAG_LONG = 0xf,
}  FuHidItemTag;
const gchar *fu_hid_item_tag_to_string(FuHidItemTag val) G_GNUC_CONST;
FuHidItemTag fu_hid_item_tag_from_string(const gchar *val) G_GNUC_CONST G_GNUC_NON_NULL(1);
/**
 * FuHidItemKind:
 */
typedef enum {
    /**
     * FU_HID_ITEM_KIND_MAIN:
     */
    FU_HID_ITEM_KIND_MAIN,
    /**
     * FU_HID_ITEM_KIND_GLOBAL:
     */
    FU_HID_ITEM_KIND_GLOBAL,
    /**
     * FU_HID_ITEM_KIND_LOCAL:
     */
    FU_HID_ITEM_KIND_LOCAL,
}  FuHidItemKind;
#define FU_HID_ITEM_KIND_LAST 3
const gchar *fu_hid_item_kind_to_string(FuHidItemKind val) G_GNUC_CONST;
/**
 * FuHidDeviceFlags:
 *
 * flags used when calling GetReport() and SetReport()
 */
typedef enum {
    /**
     * FU_HID_DEVICE_FLAG_NONE:
     */
    FU_HID_DEVICE_FLAG_NONE = 0,
    /**
     * FU_HID_DEVICE_FLAG_ALLOW_TRUNC:
     */
    FU_HID_DEVICE_FLAG_ALLOW_TRUNC = 1 << 0,
    /**
     * FU_HID_DEVICE_FLAG_IS_FEATURE:
     */
    FU_HID_DEVICE_FLAG_IS_FEATURE = 1 << 1,
    /**
     * FU_HID_DEVICE_FLAG_RETRY_FAILURE:
     */
    FU_HID_DEVICE_FLAG_RETRY_FAILURE = 1 << 2,
    /**
     * FU_HID_DEVICE_FLAG_NO_KERNEL_UNBIND:
     */
    FU_HID_DEVICE_FLAG_NO_KERNEL_UNBIND = 1 << 3,
    /**
     * FU_HID_DEVICE_FLAG_NO_KERNEL_REBIND:
     */
    FU_HID_DEVICE_FLAG_NO_KERNEL_REBIND = 1 << 4,
    /**
     * FU_HID_DEVICE_FLAG_USE_INTERRUPT_TRANSFER:
     */
    FU_HID_DEVICE_FLAG_USE_INTERRUPT_TRANSFER = 1 << 5,
    /**
     * FU_HID_DEVICE_FLAG_AUTODETECT_EPS:
     */
    FU_HID_DEVICE_FLAG_AUTODETECT_EPS = 1 << 6,
} G_GNUC_FLAG_ENUM FuHidDeviceFlags;
