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

#pragma once
#include <fu-input-stream.h>
/**
 * FuLogitechHidppDeviceKind:
 */
typedef enum {
    /**
     * FU_LOGITECH_HIDPP_DEVICE_KIND_KEYBOARD:
     */
    FU_LOGITECH_HIDPP_DEVICE_KIND_KEYBOARD,
    /**
     * FU_LOGITECH_HIDPP_DEVICE_KIND_REMOTE_CONTROL:
     */
    FU_LOGITECH_HIDPP_DEVICE_KIND_REMOTE_CONTROL,
    /**
     * FU_LOGITECH_HIDPP_DEVICE_KIND_NUMPAD:
     */
    FU_LOGITECH_HIDPP_DEVICE_KIND_NUMPAD,
    /**
     * FU_LOGITECH_HIDPP_DEVICE_KIND_MOUSE:
     */
    FU_LOGITECH_HIDPP_DEVICE_KIND_MOUSE,
    /**
     * FU_LOGITECH_HIDPP_DEVICE_KIND_TOUCHPAD:
     */
    FU_LOGITECH_HIDPP_DEVICE_KIND_TOUCHPAD,
    /**
     * FU_LOGITECH_HIDPP_DEVICE_KIND_TRACKBALL:
     */
    FU_LOGITECH_HIDPP_DEVICE_KIND_TRACKBALL,
    /**
     * FU_LOGITECH_HIDPP_DEVICE_KIND_PRESENTER:
     */
    FU_LOGITECH_HIDPP_DEVICE_KIND_PRESENTER,
    /**
     * FU_LOGITECH_HIDPP_DEVICE_KIND_RECEIVER:
     */
    FU_LOGITECH_HIDPP_DEVICE_KIND_RECEIVER,
}  FuLogitechHidppDeviceKind;
#define FU_LOGITECH_HIDPP_DEVICE_KIND_LAST 8
/**
 * FuLogitechHidppFeature:
 */
typedef enum {
    /**
     * FU_LOGITECH_HIDPP_FEATURE_ROOT:
     */
    FU_LOGITECH_HIDPP_FEATURE_ROOT = 0x0000,
    /**
     * FU_LOGITECH_HIDPP_FEATURE_I_FEATURE_SET:
     */
    FU_LOGITECH_HIDPP_FEATURE_I_FEATURE_SET = 0x0001,
    /**
     * FU_LOGITECH_HIDPP_FEATURE_I_FIRMWARE_INFO:
     */
    FU_LOGITECH_HIDPP_FEATURE_I_FIRMWARE_INFO = 0x0003,
    /**
     * FU_LOGITECH_HIDPP_FEATURE_GET_DEVICE_NAME_TYPE:
     */
    FU_LOGITECH_HIDPP_FEATURE_GET_DEVICE_NAME_TYPE = 0x0005,
    /**
     * FU_LOGITECH_HIDPP_FEATURE_DFU_CONTROL:
     */
    FU_LOGITECH_HIDPP_FEATURE_DFU_CONTROL = 0x00C1,
    /**
     * FU_LOGITECH_HIDPP_FEATURE_DFU_CONTROL_SIGNED:
     */
    FU_LOGITECH_HIDPP_FEATURE_DFU_CONTROL_SIGNED = 0x00C2,
    /**
     * FU_LOGITECH_HIDPP_FEATURE_DFU_CONTROL_BOLT:
     */
    FU_LOGITECH_HIDPP_FEATURE_DFU_CONTROL_BOLT = 0x00C3,
    /**
     * FU_LOGITECH_HIDPP_FEATURE_DFU:
     */
    FU_LOGITECH_HIDPP_FEATURE_DFU = 0x00D0,
    /**
     * FU_LOGITECH_HIDPP_FEATURE_RDFU:
     */
    FU_LOGITECH_HIDPP_FEATURE_RDFU = 0x00D1,
    /**
     * FU_LOGITECH_HIDPP_FEATURE_BATTERY_LEVEL_STATUS:
     */
    FU_LOGITECH_HIDPP_FEATURE_BATTERY_LEVEL_STATUS = 0x1000,
    /**
     * FU_LOGITECH_HIDPP_FEATURE_UNIFIED_BATTERY:
     */
    FU_LOGITECH_HIDPP_FEATURE_UNIFIED_BATTERY = 0x1004,
    /**
     * FU_LOGITECH_HIDPP_FEATURE_KBD_REPROGRAMMABLE_KEYS:
     */
    FU_LOGITECH_HIDPP_FEATURE_KBD_REPROGRAMMABLE_KEYS = 0x1B00,
    /**
     * FU_LOGITECH_HIDPP_FEATURE_SPECIAL_KEYS_BUTTONS:
     */
    FU_LOGITECH_HIDPP_FEATURE_SPECIAL_KEYS_BUTTONS = 0x1B04,
    /**
     * FU_LOGITECH_HIDPP_FEATURE_MOUSE_POINTER_BASIC:
     */
    FU_LOGITECH_HIDPP_FEATURE_MOUSE_POINTER_BASIC = 0x2200,
    /**
     * FU_LOGITECH_HIDPP_FEATURE_ADJUSTABLE_DPI:
     */
    FU_LOGITECH_HIDPP_FEATURE_ADJUSTABLE_DPI = 0x2201,
    /**
     * FU_LOGITECH_HIDPP_FEATURE_ADJUSTABLE_REPORT_RATE:
     */
    FU_LOGITECH_HIDPP_FEATURE_ADJUSTABLE_REPORT_RATE = 0x8060,
    /**
     * FU_LOGITECH_HIDPP_FEATURE_COLOR_LED_EFFECTS:
     */
    FU_LOGITECH_HIDPP_FEATURE_COLOR_LED_EFFECTS = 0x8070,
    /**
     * FU_LOGITECH_HIDPP_FEATURE_ONBOARD_PROFILES:
     */
    FU_LOGITECH_HIDPP_FEATURE_ONBOARD_PROFILES = 0x8100,
    /**
     * FU_LOGITECH_HIDPP_FEATURE_MOUSE_BUTTON_SPY:
     */
    FU_LOGITECH_HIDPP_FEATURE_MOUSE_BUTTON_SPY = 0x8110,
}  FuLogitechHidppFeature;
const gchar *fu_logitech_hidpp_feature_to_string(FuLogitechHidppFeature val) G_GNUC_CONST;
/**
 * FuLogitechHidppDeviceIdx:
 */
typedef enum {
    /**
     * FU_LOGITECH_HIDPP_DEVICE_IDX_WIRED:
     */
    FU_LOGITECH_HIDPP_DEVICE_IDX_WIRED = 0x00,
    /**
     * FU_LOGITECH_HIDPP_DEVICE_IDX_RECEIVER:
     */
    FU_LOGITECH_HIDPP_DEVICE_IDX_RECEIVER = 0xFF,
}  FuLogitechHidppDeviceIdx;
const gchar *fu_logitech_hidpp_device_idx_to_string(FuLogitechHidppDeviceIdx val) G_GNUC_CONST;
/**
 * FuLogitechHidppReportId:
 */
typedef enum {
    /**
     * FU_LOGITECH_HIDPP_REPORT_ID_SHORT:
     */
    FU_LOGITECH_HIDPP_REPORT_ID_SHORT = 0x10,
    /**
     * FU_LOGITECH_HIDPP_REPORT_ID_LONG:
     */
    FU_LOGITECH_HIDPP_REPORT_ID_LONG = 0x11,
    /**
     * FU_LOGITECH_HIDPP_REPORT_ID_VERY_LONG:
     */
    FU_LOGITECH_HIDPP_REPORT_ID_VERY_LONG = 0x12,
}  FuLogitechHidppReportId;
/**
 * FuLogitechHidppRegister:
 *
 * HID++1.0 registers
 */
typedef enum {
    /**
     * FU_LOGITECH_HIDPP_REGISTER_HIDPP_NOTIFICATIONS:
     */
    FU_LOGITECH_HIDPP_REGISTER_HIDPP_NOTIFICATIONS = 0x00,
    /**
     * FU_LOGITECH_HIDPP_REGISTER_ENABLE_INDIVIDUAL_FEATURES:
     */
    FU_LOGITECH_HIDPP_REGISTER_ENABLE_INDIVIDUAL_FEATURES = 0x01,
    /**
     * FU_LOGITECH_HIDPP_REGISTER_BATTERY_STATUS:
     */
    FU_LOGITECH_HIDPP_REGISTER_BATTERY_STATUS = 0x07,
    /**
     * FU_LOGITECH_HIDPP_REGISTER_BATTERY_MILEAGE:
     */
    FU_LOGITECH_HIDPP_REGISTER_BATTERY_MILEAGE = 0x0D,
    /**
     * FU_LOGITECH_HIDPP_REGISTER_PROFILE:
     */
    FU_LOGITECH_HIDPP_REGISTER_PROFILE = 0x0F,
    /**
     * FU_LOGITECH_HIDPP_REGISTER_LED_STATUS:
     */
    FU_LOGITECH_HIDPP_REGISTER_LED_STATUS = 0x51,
    /**
     * FU_LOGITECH_HIDPP_REGISTER_LED_INTENSITY:
     */
    FU_LOGITECH_HIDPP_REGISTER_LED_INTENSITY = 0x54,
    /**
     * FU_LOGITECH_HIDPP_REGISTER_LED_COLOR:
     */
    FU_LOGITECH_HIDPP_REGISTER_LED_COLOR = 0x57,
    /**
     * FU_LOGITECH_HIDPP_REGISTER_OPTICAL_SENSOR_SETTINGS:
     */
    FU_LOGITECH_HIDPP_REGISTER_OPTICAL_SENSOR_SETTINGS = 0x61,
    /**
     * FU_LOGITECH_HIDPP_REGISTER_CURRENT_RESOLUTION:
     */
    FU_LOGITECH_HIDPP_REGISTER_CURRENT_RESOLUTION = 0x63,
    /**
     * FU_LOGITECH_HIDPP_REGISTER_USB_REFRESH_RATE:
     */
    FU_LOGITECH_HIDPP_REGISTER_USB_REFRESH_RATE = 0x64,
    /**
     * FU_LOGITECH_HIDPP_REGISTER_GENERIC_MEMORY_MANAGEMENT:
     */
    FU_LOGITECH_HIDPP_REGISTER_GENERIC_MEMORY_MANAGEMENT = 0xA0,
    /**
     * FU_LOGITECH_HIDPP_REGISTER_HOT_CONTROL:
     */
    FU_LOGITECH_HIDPP_REGISTER_HOT_CONTROL = 0xA1,
    /**
     * FU_LOGITECH_HIDPP_REGISTER_READ_MEMORY:
     */
    FU_LOGITECH_HIDPP_REGISTER_READ_MEMORY = 0xA2,
    /**
     * FU_LOGITECH_HIDPP_REGISTER_DEVICE_CONNECTION_DISCONNECTION:
     */
    FU_LOGITECH_HIDPP_REGISTER_DEVICE_CONNECTION_DISCONNECTION = 0xB2,
    /**
     * FU_LOGITECH_HIDPP_REGISTER_PAIRING_INFORMATION:
     */
    FU_LOGITECH_HIDPP_REGISTER_PAIRING_INFORMATION = 0xB5,
    /**
     * FU_LOGITECH_HIDPP_REGISTER_DEVICE_FIRMWARE_UPDATE_MODE:
     */
    FU_LOGITECH_HIDPP_REGISTER_DEVICE_FIRMWARE_UPDATE_MODE = 0xF0,
    /**
     * FU_LOGITECH_HIDPP_REGISTER_DEVICE_FIRMWARE_INFORMATION:
     */
    FU_LOGITECH_HIDPP_REGISTER_DEVICE_FIRMWARE_INFORMATION = 0xF1,
}  FuLogitechHidppRegister;
/**
 * FuLogitechHidppSubid:
 */
typedef enum {
    /**
     * FU_LOGITECH_HIDPP_SUBID_VENDOR_SPECIFIC_KEYS:
     */
    FU_LOGITECH_HIDPP_SUBID_VENDOR_SPECIFIC_KEYS = 0x03,
    /**
     * FU_LOGITECH_HIDPP_SUBID_POWER_KEYS:
     */
    FU_LOGITECH_HIDPP_SUBID_POWER_KEYS = 0x04,
    /**
     * FU_LOGITECH_HIDPP_SUBID_ROLLER:
     */
    FU_LOGITECH_HIDPP_SUBID_ROLLER = 0x05,
    /**
     * FU_LOGITECH_HIDPP_SUBID_MOUSE_EXTRA_BUTTONS:
     */
    FU_LOGITECH_HIDPP_SUBID_MOUSE_EXTRA_BUTTONS = 0x06,
    /**
     * FU_LOGITECH_HIDPP_SUBID_BATTERY_CHARGING_LEVEL:
     */
    FU_LOGITECH_HIDPP_SUBID_BATTERY_CHARGING_LEVEL = 0x07,
    /**
     * FU_LOGITECH_HIDPP_SUBID_USER_INTERFACE_EVENT:
     */
    FU_LOGITECH_HIDPP_SUBID_USER_INTERFACE_EVENT = 0x08,
    /**
     * FU_LOGITECH_HIDPP_SUBID_F_LOCK_STATUS:
     */
    FU_LOGITECH_HIDPP_SUBID_F_LOCK_STATUS = 0x09,
    /**
     * FU_LOGITECH_HIDPP_SUBID_CALCULATOR_RESULT:
     */
    FU_LOGITECH_HIDPP_SUBID_CALCULATOR_RESULT = 0x0A,
    /**
     * FU_LOGITECH_HIDPP_SUBID_MENU_NAVIGATE:
     */
    FU_LOGITECH_HIDPP_SUBID_MENU_NAVIGATE = 0x0B,
    /**
     * FU_LOGITECH_HIDPP_SUBID_FN_KEY:
     */
    FU_LOGITECH_HIDPP_SUBID_FN_KEY = 0x0C,
    /**
     * FU_LOGITECH_HIDPP_SUBID_BATTERY_MILEAGE:
     */
    FU_LOGITECH_HIDPP_SUBID_BATTERY_MILEAGE = 0x0D,
    /**
     * FU_LOGITECH_HIDPP_SUBID_UART_RX:
     */
    FU_LOGITECH_HIDPP_SUBID_UART_RX = 0x0E,
    /**
     * FU_LOGITECH_HIDPP_SUBID_BACKLIGHT_DURATION_UPDATE:
     */
    FU_LOGITECH_HIDPP_SUBID_BACKLIGHT_DURATION_UPDATE = 0x17,
    /**
     * FU_LOGITECH_HIDPP_SUBID_DEVICE_DISCONNECTION:
     */
    FU_LOGITECH_HIDPP_SUBID_DEVICE_DISCONNECTION = 0x40,
    /**
     * FU_LOGITECH_HIDPP_SUBID_DEVICE_CONNECTION:
     */
    FU_LOGITECH_HIDPP_SUBID_DEVICE_CONNECTION = 0x41,
    /**
     * FU_LOGITECH_HIDPP_SUBID_DEVICE_DISCOVERY:
     */
    FU_LOGITECH_HIDPP_SUBID_DEVICE_DISCOVERY = 0x42,
    /**
     * FU_LOGITECH_HIDPP_SUBID_PIN_CODE_REQUEST:
     */
    FU_LOGITECH_HIDPP_SUBID_PIN_CODE_REQUEST = 0x43,
    /**
     * FU_LOGITECH_HIDPP_SUBID_RECEIVER_WORKING_MODE:
     */
    FU_LOGITECH_HIDPP_SUBID_RECEIVER_WORKING_MODE = 0x44,
    /**
     * FU_LOGITECH_HIDPP_SUBID_ERROR_MESSAGE:
     */
    FU_LOGITECH_HIDPP_SUBID_ERROR_MESSAGE = 0x45,
    /**
     * FU_LOGITECH_HIDPP_SUBID_RF_LINK_CHANGE:
     */
    FU_LOGITECH_HIDPP_SUBID_RF_LINK_CHANGE = 0x46,
    /**
     * FU_LOGITECH_HIDPP_SUBID_HCI:
     */
    FU_LOGITECH_HIDPP_SUBID_HCI = 0x48,
    /**
     * FU_LOGITECH_HIDPP_SUBID_LINK_QUALITY:
     */
    FU_LOGITECH_HIDPP_SUBID_LINK_QUALITY = 0x49,
    /**
     * FU_LOGITECH_HIDPP_SUBID_DEVICE_LOCKING_CHANGED:
     */
    FU_LOGITECH_HIDPP_SUBID_DEVICE_LOCKING_CHANGED = 0x4a,
    /**
     * FU_LOGITECH_HIDPP_SUBID_WIRELESS_DEVICE_CHANGE:
     */
    FU_LOGITECH_HIDPP_SUBID_WIRELESS_DEVICE_CHANGE = 0x4B,
    /**
     * FU_LOGITECH_HIDPP_SUBID_ACL:
     */
    FU_LOGITECH_HIDPP_SUBID_ACL = 0x51,
    /**
     * FU_LOGITECH_HIDPP_SUBID_VOIP_TELEPHONY_EVENT:
     */
    FU_LOGITECH_HIDPP_SUBID_VOIP_TELEPHONY_EVENT = 0x5B,
    /**
     * FU_LOGITECH_HIDPP_SUBID_LED:
     */
    FU_LOGITECH_HIDPP_SUBID_LED = 0x60,
    /**
     * FU_LOGITECH_HIDPP_SUBID_GESTURE_AND_AIR:
     */
    FU_LOGITECH_HIDPP_SUBID_GESTURE_AND_AIR = 0x65,
    /**
     * FU_LOGITECH_HIDPP_SUBID_TOUCHPAD_MULTI_TOUCH:
     */
    FU_LOGITECH_HIDPP_SUBID_TOUCHPAD_MULTI_TOUCH = 0x66,
    /**
     * FU_LOGITECH_HIDPP_SUBID_TRACEABILITY:
     */
    FU_LOGITECH_HIDPP_SUBID_TRACEABILITY = 0x78,
    /**
     * FU_LOGITECH_HIDPP_SUBID_SET_REGISTER:
     */
    FU_LOGITECH_HIDPP_SUBID_SET_REGISTER = 0x80,
    /**
     * FU_LOGITECH_HIDPP_SUBID_GET_REGISTER:
     */
    FU_LOGITECH_HIDPP_SUBID_GET_REGISTER = 0x81,
    /**
     * FU_LOGITECH_HIDPP_SUBID_SET_LONG_REGISTER:
     */
    FU_LOGITECH_HIDPP_SUBID_SET_LONG_REGISTER = 0x82,
    /**
     * FU_LOGITECH_HIDPP_SUBID_GET_LONG_REGISTER:
     */
    FU_LOGITECH_HIDPP_SUBID_GET_LONG_REGISTER = 0x83,
    /**
     * FU_LOGITECH_HIDPP_SUBID_SET_VERY_LONG_REGISTER:
     */
    FU_LOGITECH_HIDPP_SUBID_SET_VERY_LONG_REGISTER = 0x84,
    /**
     * FU_LOGITECH_HIDPP_SUBID_GET_VERY_LONG_REGISTER:
     */
    FU_LOGITECH_HIDPP_SUBID_GET_VERY_LONG_REGISTER = 0x85,
    /**
     * FU_LOGITECH_HIDPP_SUBID_ERROR_MSG:
     */
    FU_LOGITECH_HIDPP_SUBID_ERROR_MSG = 0x8F,
    /**
     * FU_LOGITECH_HIDPP_SUBID_ERROR_MSG_20:
     */
    FU_LOGITECH_HIDPP_SUBID_ERROR_MSG_20 = 0xFF,
}  FuLogitechHidppSubid;
const gchar *fu_logitech_hidpp_subid_to_string(FuLogitechHidppSubid val) G_GNUC_CONST;
/**
 * FuLogitechHidppBootloaderCmd:
 */
typedef enum {
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_GENERAL_ERROR:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_GENERAL_ERROR = 0x01,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_READ:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_READ = 0x10,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_WRITE:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_WRITE = 0x20,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_WRITE_INVALID_ADDR:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_WRITE_INVALID_ADDR = 0x21,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_WRITE_VERIFY_FAIL:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_WRITE_VERIFY_FAIL = 0x22,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_WRITE_NONZERO_START:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_WRITE_NONZERO_START = 0x23,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_WRITE_INVALID_CRC:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_WRITE_INVALID_CRC = 0x24,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_ERASE_PAGE:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_ERASE_PAGE = 0x30,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_ERASE_PAGE_INVALID_ADDR:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_ERASE_PAGE_INVALID_ADDR = 0x31,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_ERASE_PAGE_NONZERO_START:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_ERASE_PAGE_NONZERO_START = 0x33,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_GET_HW_PLATFORM_ID:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_GET_HW_PLATFORM_ID = 0x40,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_GET_FW_VERSION:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_GET_FW_VERSION = 0x50,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_GET_CHECKSUM:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_GET_CHECKSUM = 0x60,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_REBOOT:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_REBOOT = 0x70,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_GET_MEMINFO:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_GET_MEMINFO = 0x80,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_GET_BL_VERSION:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_GET_BL_VERSION = 0x90,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_GET_INIT_FW_VERSION:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_GET_INIT_FW_VERSION = 0xa0,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_READ_SIGNATURE:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_READ_SIGNATURE = 0xb0,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_WRITE_RAM_BUFFER:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_WRITE_RAM_BUFFER = 0xc0,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_WRITE_RAM_BUFFER_INVALID_ADDR:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_WRITE_RAM_BUFFER_INVALID_ADDR = 0xc1,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_WRITE_RAM_BUFFER_OVERFLOW:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_WRITE_RAM_BUFFER_OVERFLOW = 0xc2,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_FLASH_RAM:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_FLASH_RAM = 0xd0,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_FLASH_RAM_INVALID_ADDR:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_FLASH_RAM_INVALID_ADDR = 0xd1,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_FLASH_RAM_WRONG_CRC:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_FLASH_RAM_WRONG_CRC = 0xd2,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_FLASH_RAM_PAGE0_INVALID:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_FLASH_RAM_PAGE0_INVALID = 0xd3,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_FLASH_RAM_INVALID_ORDER:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_FLASH_RAM_INVALID_ORDER = 0xd4,
    /**
     * FU_LOGITECH_HIDPP_BOOTLOADER_CMD_WRITE_SIGNATURE:
     */
    FU_LOGITECH_HIDPP_BOOTLOADER_CMD_WRITE_SIGNATURE = 0xe0,
}  FuLogitechHidppBootloaderCmd;
/**
 * FuLogitechHidppErr:
 *
 * HID++1.0 error codes
 */
typedef enum {
    /**
     * FU_LOGITECH_HIDPP_ERR_SUCCESS:
     */
    FU_LOGITECH_HIDPP_ERR_SUCCESS,
    /**
     * FU_LOGITECH_HIDPP_ERR_INVALID_SUBID:
     */
    FU_LOGITECH_HIDPP_ERR_INVALID_SUBID,
    /**
     * FU_LOGITECH_HIDPP_ERR_INVALID_ADDRESS:
     */
    FU_LOGITECH_HIDPP_ERR_INVALID_ADDRESS,
    /**
     * FU_LOGITECH_HIDPP_ERR_INVALID_VALUE:
     */
    FU_LOGITECH_HIDPP_ERR_INVALID_VALUE,
    /**
     * FU_LOGITECH_HIDPP_ERR_CONNECT_FAIL:
     */
    FU_LOGITECH_HIDPP_ERR_CONNECT_FAIL,
    /**
     * FU_LOGITECH_HIDPP_ERR_TOO_MANY_DEVICES:
     */
    FU_LOGITECH_HIDPP_ERR_TOO_MANY_DEVICES,
    /**
     * FU_LOGITECH_HIDPP_ERR_ALREADY_EXISTS:
     */
    FU_LOGITECH_HIDPP_ERR_ALREADY_EXISTS,
    /**
     * FU_LOGITECH_HIDPP_ERR_BUSY:
     */
    FU_LOGITECH_HIDPP_ERR_BUSY,
    /**
     * FU_LOGITECH_HIDPP_ERR_UNKNOWN_DEVICE:
     */
    FU_LOGITECH_HIDPP_ERR_UNKNOWN_DEVICE,
    /**
     * FU_LOGITECH_HIDPP_ERR_RESOURCE_ERROR:
     */
    FU_LOGITECH_HIDPP_ERR_RESOURCE_ERROR,
    /**
     * FU_LOGITECH_HIDPP_ERR_REQUEST_UNAVAILABLE:
     */
    FU_LOGITECH_HIDPP_ERR_REQUEST_UNAVAILABLE,
    /**
     * FU_LOGITECH_HIDPP_ERR_INVALID_PARAM_VALUE:
     */
    FU_LOGITECH_HIDPP_ERR_INVALID_PARAM_VALUE,
    /**
     * FU_LOGITECH_HIDPP_ERR_WRONG_PIN_CODE:
     */
    FU_LOGITECH_HIDPP_ERR_WRONG_PIN_CODE,
}  FuLogitechHidppErr;
#define FU_LOGITECH_HIDPP_ERR_LAST 13
const gchar *fu_logitech_hidpp_err_to_string(FuLogitechHidppErr val) G_GNUC_CONST;
/**
 * FuLogitechHidppErr2:
 *
 * HID++2.0 error codes
 */
typedef enum {
    /**
     * FU_LOGITECH_HIDPP_ERR2_NO_ERROR:
     */
    FU_LOGITECH_HIDPP_ERR2_NO_ERROR,
    /**
     * FU_LOGITECH_HIDPP_ERR2_UNKNOWN:
     */
    FU_LOGITECH_HIDPP_ERR2_UNKNOWN,
    /**
     * FU_LOGITECH_HIDPP_ERR2_INVALID_ARGUMENT:
     */
    FU_LOGITECH_HIDPP_ERR2_INVALID_ARGUMENT,
    /**
     * FU_LOGITECH_HIDPP_ERR2_OUT_OF_RANGE:
     */
    FU_LOGITECH_HIDPP_ERR2_OUT_OF_RANGE,
    /**
     * FU_LOGITECH_HIDPP_ERR2_HW_ERROR:
     */
    FU_LOGITECH_HIDPP_ERR2_HW_ERROR,
    /**
     * FU_LOGITECH_HIDPP_ERR2_LOGITECH_INTERNAL:
     */
    FU_LOGITECH_HIDPP_ERR2_LOGITECH_INTERNAL,
    /**
     * FU_LOGITECH_HIDPP_ERR2_INVALID_FEATURE_INDEX:
     */
    FU_LOGITECH_HIDPP_ERR2_INVALID_FEATURE_INDEX,
    /**
     * FU_LOGITECH_HIDPP_ERR2_INVALID_FUNCTION_ID:
     */
    FU_LOGITECH_HIDPP_ERR2_INVALID_FUNCTION_ID,
    /**
     * FU_LOGITECH_HIDPP_ERR2_BUSY:
     */
    FU_LOGITECH_HIDPP_ERR2_BUSY,
    /**
     * FU_LOGITECH_HIDPP_ERR2_UNSUPPORTED:
     */
    FU_LOGITECH_HIDPP_ERR2_UNSUPPORTED,
}  FuLogitechHidppErr2;
#define FU_LOGITECH_HIDPP_ERR2_LAST 10
const gchar *fu_logitech_hidpp_err2_to_string(FuLogitechHidppErr2 val) G_GNUC_CONST;
/**
 * FuLogitechHidppStatus:
 */
typedef enum {
    /**
     * FU_LOGITECH_HIDPP_STATUS_INVALID:
     */
    FU_LOGITECH_HIDPP_STATUS_INVALID,
    /**
     * FU_LOGITECH_HIDPP_STATUS_PACKET_SUCCESS:
     */
    FU_LOGITECH_HIDPP_STATUS_PACKET_SUCCESS,
    /**
     * FU_LOGITECH_HIDPP_STATUS_DFU_SUCCESS:
     */
    FU_LOGITECH_HIDPP_STATUS_DFU_SUCCESS,
    /**
     * FU_LOGITECH_HIDPP_STATUS_WAIT_FOR_EVENT:
     */
    FU_LOGITECH_HIDPP_STATUS_WAIT_FOR_EVENT,
    /**
     * FU_LOGITECH_HIDPP_STATUS_GENERIC_ERROR04:
     */
    FU_LOGITECH_HIDPP_STATUS_GENERIC_ERROR04,
    /**
     * FU_LOGITECH_HIDPP_STATUS_DFU_SUCCESS_ENTITY_RESTART_REQUIRED:
     */
    FU_LOGITECH_HIDPP_STATUS_DFU_SUCCESS_ENTITY_RESTART_REQUIRED,
    /**
     * FU_LOGITECH_HIDPP_STATUS_DFU_SUCCESS_SYSTEM_RESTART_REQUIRED:
     */
    FU_LOGITECH_HIDPP_STATUS_DFU_SUCCESS_SYSTEM_RESTART_REQUIRED,
    /**
     * FU_LOGITECH_HIDPP_STATUS_GENERIC_ERROR10:
     */
    FU_LOGITECH_HIDPP_STATUS_GENERIC_ERROR10 = 0x10,
    /**
     * FU_LOGITECH_HIDPP_STATUS_BAD_VOLTAGE:
     */
    FU_LOGITECH_HIDPP_STATUS_BAD_VOLTAGE,
    /**
     * FU_LOGITECH_HIDPP_STATUS_UNKNOWN12:
     */
    FU_LOGITECH_HIDPP_STATUS_UNKNOWN12,
    /**
     * FU_LOGITECH_HIDPP_STATUS_UNSUPPORTED_ENCRYPTION_MODE:
     */
    FU_LOGITECH_HIDPP_STATUS_UNSUPPORTED_ENCRYPTION_MODE,
    /**
     * FU_LOGITECH_HIDPP_STATUS_BAD_MAGIC_STRING:
     */
    FU_LOGITECH_HIDPP_STATUS_BAD_MAGIC_STRING,
    /**
     * FU_LOGITECH_HIDPP_STATUS_ERASE_FAILURE:
     */
    FU_LOGITECH_HIDPP_STATUS_ERASE_FAILURE,
    /**
     * FU_LOGITECH_HIDPP_STATUS_DFU_NOT_STARTED:
     */
    FU_LOGITECH_HIDPP_STATUS_DFU_NOT_STARTED,
    /**
     * FU_LOGITECH_HIDPP_STATUS_BAD_SEQUENCE_NUMBER:
     */
    FU_LOGITECH_HIDPP_STATUS_BAD_SEQUENCE_NUMBER,
    /**
     * FU_LOGITECH_HIDPP_STATUS_UNSUPPORTED_COMMAND:
     */
    FU_LOGITECH_HIDPP_STATUS_UNSUPPORTED_COMMAND,
    /**
     * FU_LOGITECH_HIDPP_STATUS_COMMAND_IN_PROGRESS:
     */
    FU_LOGITECH_HIDPP_STATUS_COMMAND_IN_PROGRESS,
    /**
     * FU_LOGITECH_HIDPP_STATUS_ADDRESS_OUT_OF_RANGE:
     */
    FU_LOGITECH_HIDPP_STATUS_ADDRESS_OUT_OF_RANGE,
    /**
     * FU_LOGITECH_HIDPP_STATUS_UNALIGNED_ADDRESS:
     */
    FU_LOGITECH_HIDPP_STATUS_UNALIGNED_ADDRESS,
    /**
     * FU_LOGITECH_HIDPP_STATUS_BAD_SIZE:
     */
    FU_LOGITECH_HIDPP_STATUS_BAD_SIZE,
    /**
     * FU_LOGITECH_HIDPP_STATUS_MISSING_PROGRAM_DATA:
     */
    FU_LOGITECH_HIDPP_STATUS_MISSING_PROGRAM_DATA,
    /**
     * FU_LOGITECH_HIDPP_STATUS_MISSING_CHECK_DATA:
     */
    FU_LOGITECH_HIDPP_STATUS_MISSING_CHECK_DATA,
    /**
     * FU_LOGITECH_HIDPP_STATUS_PROGRAM_FAILED_TO_WRITE:
     */
    FU_LOGITECH_HIDPP_STATUS_PROGRAM_FAILED_TO_WRITE,
    /**
     * FU_LOGITECH_HIDPP_STATUS_PROGRAM_FAILED_TO_VERIFY:
     */
    FU_LOGITECH_HIDPP_STATUS_PROGRAM_FAILED_TO_VERIFY,
    /**
     * FU_LOGITECH_HIDPP_STATUS_BAD_FIRMWARE:
     */
    FU_LOGITECH_HIDPP_STATUS_BAD_FIRMWARE,
    /**
     * FU_LOGITECH_HIDPP_STATUS_FIRMWARE_CHECK_FAILURE:
     */
    FU_LOGITECH_HIDPP_STATUS_FIRMWARE_CHECK_FAILURE,
    /**
     * FU_LOGITECH_HIDPP_STATUS_BLOCKED_COMMAND:
     */
    FU_LOGITECH_HIDPP_STATUS_BLOCKED_COMMAND,
}  FuLogitechHidppStatus;
const gchar *fu_logitech_hidpp_status_to_string(FuLogitechHidppStatus val) G_GNUC_CONST;
/**
 * FuStructLogitechHidppBootloaderTexasCmd:
 */
typedef enum {
    /**
     * FU_STRUCT_LOGITECH_HIDPP_BOOTLOADER_TEXAS_CMD_ERASE_ALL:
     */
    FU_STRUCT_LOGITECH_HIDPP_BOOTLOADER_TEXAS_CMD_ERASE_ALL,
    /**
     * FU_STRUCT_LOGITECH_HIDPP_BOOTLOADER_TEXAS_CMD_FLASH_RAM_BUFFER:
     */
    FU_STRUCT_LOGITECH_HIDPP_BOOTLOADER_TEXAS_CMD_FLASH_RAM_BUFFER = 1,
    /**
     * FU_STRUCT_LOGITECH_HIDPP_BOOTLOADER_TEXAS_CMD_CLEAR_RAM_BUFFER:
     */
    FU_STRUCT_LOGITECH_HIDPP_BOOTLOADER_TEXAS_CMD_CLEAR_RAM_BUFFER = 2,
    /**
     * FU_STRUCT_LOGITECH_HIDPP_BOOTLOADER_TEXAS_CMD_COMPUTE_CRC:
     */
    FU_STRUCT_LOGITECH_HIDPP_BOOTLOADER_TEXAS_CMD_COMPUTE_CRC = 3,
}  FuStructLogitechHidppBootloaderTexasCmd;
/**
 * FuLogitechHidppMsgFlags:
 */
typedef enum {
    /**
     * FU_LOGITECH_HIDPP_MSG_FLAG_NONE:
     */
    FU_LOGITECH_HIDPP_MSG_FLAG_NONE,
    /**
     * FU_LOGITECH_HIDPP_MSG_FLAG_NON_BLOCKING_IO:
     */
    FU_LOGITECH_HIDPP_MSG_FLAG_NON_BLOCKING_IO = 1 << 0,
    /**
     * FU_LOGITECH_HIDPP_MSG_FLAG_IGNORE_SUB_ID:
     */
    FU_LOGITECH_HIDPP_MSG_FLAG_IGNORE_SUB_ID = 1 << 1,
    /**
     * FU_LOGITECH_HIDPP_MSG_FLAG_IGNORE_FNCT_ID:
     */
    FU_LOGITECH_HIDPP_MSG_FLAG_IGNORE_FNCT_ID = 1 << 2,
    /**
     * FU_LOGITECH_HIDPP_MSG_FLAG_IGNORE_SWID:
     */
    FU_LOGITECH_HIDPP_MSG_FLAG_IGNORE_SWID = 1 << 3,
    /**
     * FU_LOGITECH_HIDPP_MSG_FLAG_RETRY_STUCK:
     */
    FU_LOGITECH_HIDPP_MSG_FLAG_RETRY_STUCK = 1 << 4,
} G_GNUC_FLAG_ENUM FuLogitechHidppMsgFlags;
/**
 * FuLogitechHidppBoltRegister:
 */
typedef enum {
    /**
     * FU_LOGITECH_HIDPP_BOLT_REGISTER_HIDPP_REPORTING:
     */
    FU_LOGITECH_HIDPP_BOLT_REGISTER_HIDPP_REPORTING = 0x00,
    /**
     * FU_LOGITECH_HIDPP_BOLT_REGISTER_CONNECTION_STATE:
     */
    FU_LOGITECH_HIDPP_BOLT_REGISTER_CONNECTION_STATE = 0x02,
    /**
     * FU_LOGITECH_HIDPP_BOLT_REGISTER_DEVICE_ACTIVITY:
     */
    FU_LOGITECH_HIDPP_BOLT_REGISTER_DEVICE_ACTIVITY = 0xB3,
    /**
     * FU_LOGITECH_HIDPP_BOLT_REGISTER_PAIRING_INFORMATION:
     */
    FU_LOGITECH_HIDPP_BOLT_REGISTER_PAIRING_INFORMATION = 0xB5,
    /**
     * FU_LOGITECH_HIDPP_BOLT_REGISTER_PERFORM_DEVICE_DISCOVERY:
     */
    FU_LOGITECH_HIDPP_BOLT_REGISTER_PERFORM_DEVICE_DISCOVERY = 0xC0,
    /**
     * FU_LOGITECH_HIDPP_BOLT_REGISTER_PERFORM_DEVICE_PAIRING:
     */
    FU_LOGITECH_HIDPP_BOLT_REGISTER_PERFORM_DEVICE_PAIRING = 0xC1,
    /**
     * FU_LOGITECH_HIDPP_BOLT_REGISTER_RESET:
     */
    FU_LOGITECH_HIDPP_BOLT_REGISTER_RESET = 0xF2,
    /**
     * FU_LOGITECH_HIDPP_BOLT_REGISTER_RECEIVER_FW_INFORMATION:
     */
    FU_LOGITECH_HIDPP_BOLT_REGISTER_RECEIVER_FW_INFORMATION = 0xF4,
    /**
     * FU_LOGITECH_HIDPP_BOLT_REGISTER_DFU_CONTROL:
     */
    FU_LOGITECH_HIDPP_BOLT_REGISTER_DFU_CONTROL = 0xF5,
    /**
     * FU_LOGITECH_HIDPP_BOLT_REGISTER_UNIQUE_IDENTIFIER:
     */
    FU_LOGITECH_HIDPP_BOLT_REGISTER_UNIQUE_IDENTIFIER = 0xFB,
}  FuLogitechHidppBoltRegister;
typedef struct {
  GByteArray *buf;
  guint refcount;
} FuStructLogitechHidppBootloaderPkt;

FuStructLogitechHidppBootloaderPkt *fu_struct_logitech_hidpp_bootloader_pkt_ref(FuStructLogitechHidppBootloaderPkt *st) G_GNUC_NON_NULL(1);
void fu_struct_logitech_hidpp_bootloader_pkt_unref(FuStructLogitechHidppBootloaderPkt *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuStructLogitechHidppBootloaderPkt, fu_struct_logitech_hidpp_bootloader_pkt_unref)
FuStructLogitechHidppBootloaderPkt *fu_struct_logitech_hidpp_bootloader_pkt_new(void) G_GNUC_WARN_UNUSED_RESULT;
FuStructLogitechHidppBootloaderPkt *fu_struct_logitech_hidpp_bootloader_pkt_parse(const guint8 *buf, gsize bufsz, gsize offset, GError **error) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
FuLogitechHidppBootloaderCmd fu_struct_logitech_hidpp_bootloader_pkt_get_cmd(const FuStructLogitechHidppBootloaderPkt *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint16 fu_struct_logitech_hidpp_bootloader_pkt_get_addr(const FuStructLogitechHidppBootloaderPkt *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_logitech_hidpp_bootloader_pkt_get_len(const FuStructLogitechHidppBootloaderPkt *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
const guint8 *fu_struct_logitech_hidpp_bootloader_pkt_get_data(const FuStructLogitechHidppBootloaderPkt *st, gsize *bufsz) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
void fu_struct_logitech_hidpp_bootloader_pkt_set_cmd(FuStructLogitechHidppBootloaderPkt *st, FuLogitechHidppBootloaderCmd value) G_GNUC_NON_NULL(1);
void fu_struct_logitech_hidpp_bootloader_pkt_set_addr(FuStructLogitechHidppBootloaderPkt *st, guint16 value) G_GNUC_NON_NULL(1);
void fu_struct_logitech_hidpp_bootloader_pkt_set_len(FuStructLogitechHidppBootloaderPkt *st, guint8 value) G_GNUC_NON_NULL(1);
gboolean fu_struct_logitech_hidpp_bootloader_pkt_set_data(FuStructLogitechHidppBootloaderPkt *st, const guint8 *buf, gsize bufsz, GError **error) G_GNUC_NON_NULL(1, 2) G_GNUC_WARN_UNUSED_RESULT;

#ifndef __GI_SCANNER__
#define FU_STRUCT_LOGITECH_HIDPP_BOOTLOADER_PKT_OFFSET_CMD 0x0
#define FU_STRUCT_LOGITECH_HIDPP_BOOTLOADER_PKT_OFFSET_ADDR 0x1
#define FU_STRUCT_LOGITECH_HIDPP_BOOTLOADER_PKT_OFFSET_LEN 0x3
#define FU_STRUCT_LOGITECH_HIDPP_BOOTLOADER_PKT_OFFSET_DATA 0x4
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_LOGITECH_HIDPP_BOOTLOADER_PKT_SIZE_DATA 0x1C
#define FU_STRUCT_LOGITECH_HIDPP_BOOTLOADER_PKT_N_ELEMENTS_DATA 28
#define FU_STRUCT_LOGITECH_HIDPP_BOOTLOADER_PKT_SIZE 0x20
#endif

#ifndef __GI_SCANNER__
#endif
typedef struct {
  GByteArray *buf;
  guint refcount;
} FuStructLogitechHidppMsg;

FuStructLogitechHidppMsg *fu_struct_logitech_hidpp_msg_ref(FuStructLogitechHidppMsg *st) G_GNUC_NON_NULL(1);
void fu_struct_logitech_hidpp_msg_unref(FuStructLogitechHidppMsg *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuStructLogitechHidppMsg, fu_struct_logitech_hidpp_msg_unref)
FuStructLogitechHidppMsg *fu_struct_logitech_hidpp_msg_new(void) G_GNUC_WARN_UNUSED_RESULT;
FuStructLogitechHidppMsg *fu_struct_logitech_hidpp_msg_parse(const guint8 *buf, gsize bufsz, gsize offset, GError **error) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
gchar *fu_struct_logitech_hidpp_msg_to_string(const FuStructLogitechHidppMsg *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
FuLogitechHidppReportId fu_struct_logitech_hidpp_msg_get_report_id(const FuStructLogitechHidppMsg *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
FuLogitechHidppDeviceIdx fu_struct_logitech_hidpp_msg_get_device_id(const FuStructLogitechHidppMsg *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
FuLogitechHidppSubid fu_struct_logitech_hidpp_msg_get_sub_id(const FuStructLogitechHidppMsg *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_logitech_hidpp_msg_get_function_id(const FuStructLogitechHidppMsg *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
const guint8 *fu_struct_logitech_hidpp_msg_get_data(const FuStructLogitechHidppMsg *st, gsize *bufsz) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
void fu_struct_logitech_hidpp_msg_set_report_id(FuStructLogitechHidppMsg *st, FuLogitechHidppReportId value) G_GNUC_NON_NULL(1);
void fu_struct_logitech_hidpp_msg_set_device_id(FuStructLogitechHidppMsg *st, FuLogitechHidppDeviceIdx value) G_GNUC_NON_NULL(1);
void fu_struct_logitech_hidpp_msg_set_sub_id(FuStructLogitechHidppMsg *st, FuLogitechHidppSubid value) G_GNUC_NON_NULL(1);
void fu_struct_logitech_hidpp_msg_set_function_id(FuStructLogitechHidppMsg *st, guint8 value) G_GNUC_NON_NULL(1);
gboolean fu_struct_logitech_hidpp_msg_set_data(FuStructLogitechHidppMsg *st, const guint8 *buf, gsize bufsz, GError **error) G_GNUC_NON_NULL(1, 2) G_GNUC_WARN_UNUSED_RESULT;

#ifndef __GI_SCANNER__
#define FU_STRUCT_LOGITECH_HIDPP_MSG_OFFSET_REPORT_ID 0x0
#define FU_STRUCT_LOGITECH_HIDPP_MSG_OFFSET_DEVICE_ID 0x1
#define FU_STRUCT_LOGITECH_HIDPP_MSG_OFFSET_SUB_ID 0x2
#define FU_STRUCT_LOGITECH_HIDPP_MSG_OFFSET_FUNCTION_ID 0x3
#define FU_STRUCT_LOGITECH_HIDPP_MSG_OFFSET_DATA 0x4
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_LOGITECH_HIDPP_MSG_SIZE_DATA 0x2F
#define FU_STRUCT_LOGITECH_HIDPP_MSG_N_ELEMENTS_DATA 47
#define FU_STRUCT_LOGITECH_HIDPP_MSG_SIZE 0x33
#endif

#ifndef __GI_SCANNER__
#endif
