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

#pragma once
#include <fu-input-stream.h>
/**
 * FuLogitechBulkcontrollerFnumUsbMsg:
 */
typedef enum {
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_USB_MSG_HEADER:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_USB_MSG_HEADER = 1,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_USB_MSG_ACKNOWLEDGE:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_USB_MSG_ACKNOWLEDGE = 2,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_USB_MSG_REQUEST:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_USB_MSG_REQUEST = 3,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_USB_MSG_RESPONSE:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_USB_MSG_RESPONSE = 4,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_USB_MSG_EVENT:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_USB_MSG_EVENT = 5,
}  FuLogitechBulkcontrollerFnumUsbMsg;
/**
 * FuLogitechBulkcontrollerFnumHeader:
 */
typedef enum {
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_HEADER_ID:
     *
     * str, used in the ack message msgId field
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_HEADER_ID = 1,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_HEADER_TIMESTAMP:
     *
     * str, number of ms since the epoch
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_HEADER_TIMESTAMP = 2,
}  FuLogitechBulkcontrollerFnumHeader;
/**
 * FuLogitechBulkcontrollerFnumRequest:
 */
typedef enum {
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_GET_DEVICE_INFO:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_GET_DEVICE_INFO = 2,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_UPDATE_NOW:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_UPDATE_NOW = 3,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SEND_CRASH_DUMP:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SEND_CRASH_DUMP = 4,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_TRANSITION_TO_DEVICE_MODE:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_TRANSITION_TO_DEVICE_MODE = 5,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_GET_CERTIFICATE_CHAIN:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_GET_CERTIFICATE_CHAIN = 6,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SET_RIGHT_SIGHT_CONFIGURATION:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SET_RIGHT_SIGHT_CONFIGURATION = 7,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_GET_MANIFEST_BODY:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_GET_MANIFEST_BODY = 8,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SEND_CRASH_DUMP2:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SEND_CRASH_DUMP2 = 9,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SET_DEVICE_TIME:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SET_DEVICE_TIME = 10,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SET_ANTI_FLICKER_CONFIGURATION:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SET_ANTI_FLICKER_CONFIGURATION = 11,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SET_BLE_CFG:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SET_BLE_CFG = 12,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SET_DEPROVISION:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SET_DEPROVISION = 13,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_REBOOT_DEVICE:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_REBOOT_DEVICE = 14,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SET_SPEAKER_BOOST:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SET_SPEAKER_BOOST = 15,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SET_NOISE_REDUCTION:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SET_NOISE_REDUCTION = 16,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SET_REVERB_MODE:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SET_REVERB_MODE = 17,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_GENERATE_CRASH_DUMP:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_GENERATE_CRASH_DUMP = 18,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SEND_CERTIFICATE_DATA:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SEND_CERTIFICATE_DATA = 19,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SET_MIC_EQ_MODE:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SET_MIC_EQ_MODE = 20,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SET_SPEAKER_EQ_MODE:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SET_SPEAKER_EQ_MODE = 21,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_FORGET_DEVICE:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_FORGET_DEVICE = 22,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SET_RIGHT_SIGHT_CONFIGURATION2:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SET_RIGHT_SIGHT_CONFIGURATION2 = 23,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SEND_TEST_RESULT:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SEND_TEST_RESULT = 24,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_GET_MEMFAULT_MANIFEST:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_GET_MEMFAULT_MANIFEST = 25,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SEND_MEMFAULT_SETTINGS:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_REQUEST_SEND_MEMFAULT_SETTINGS = 26,
}  FuLogitechBulkcontrollerFnumRequest;
/**
 * FuLogitechBulkcontrollerFnumResponse:
 */
typedef enum {
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_GET_DEVICE_INFO:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_GET_DEVICE_INFO = 2,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_UPDATE_NOW:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_UPDATE_NOW = 3,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SEND_CRASH_DUMP:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SEND_CRASH_DUMP = 4,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_TRANSITION_TO_DEVICE_MODE:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_TRANSITION_TO_DEVICE_MODE = 5,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_GET_CERTIFICATE_CHAIN:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_GET_CERTIFICATE_CHAIN = 6,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SET_RIGHT_SIGHT_CONFIGURATION:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SET_RIGHT_SIGHT_CONFIGURATION = 7,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_GET_MANIFEST_BODY:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_GET_MANIFEST_BODY = 8,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SEND_CRASH_DUMP_RESPONSE2:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SEND_CRASH_DUMP_RESPONSE2 = 9,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SET_ANTI_FLICKER_CONFIGURATION:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SET_ANTI_FLICKER_CONFIGURATION = 11,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SET_BLE_CFG:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SET_BLE_CFG = 12,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SET_DEPROVISION:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SET_DEPROVISION = 13,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_REBOOT_DEVICE:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_REBOOT_DEVICE = 14,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SET_SPEAKER_BOOST:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SET_SPEAKER_BOOST = 15,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SET_NOISE_REDUCTION:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SET_NOISE_REDUCTION = 16,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SET_REVERB_MODE:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SET_REVERB_MODE = 17,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_GENERATE_CRASH_DUMP:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_GENERATE_CRASH_DUMP = 18,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SEND_CERTIFICATE_DATA:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SEND_CERTIFICATE_DATA = 19,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SET_MIC_EQ_MODE:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SET_MIC_EQ_MODE = 20,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SET_SPEAKER_EQ_MODE:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SET_SPEAKER_EQ_MODE = 21,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_FORGET_DEVICE:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_FORGET_DEVICE = 22,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SEND_TEST_RESULT:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SEND_TEST_RESULT = 24,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_GET_MEMFAULT_MANIFEST:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_GET_MEMFAULT_MANIFEST = 25,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SEND_MEMFAULT_SETTINGS:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_RESPONSE_SEND_MEMFAULT_SETTINGS = 26,
}  FuLogitechBulkcontrollerFnumResponse;
/**
 * FuLogitechBulkcontrollerFnumSetDeviceTimeRequest:
 */
typedef enum {
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_SET_DEVICE_TIME_REQUEST_TS:
     *
     * u64 utc
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_SET_DEVICE_TIME_REQUEST_TS = 1,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_SET_DEVICE_TIME_REQUEST_TIMEZONE:
     *
     * str
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_SET_DEVICE_TIME_REQUEST_TIMEZONE = 2,
}  FuLogitechBulkcontrollerFnumSetDeviceTimeRequest;
/**
 * FuLogitechBulkcontrollerFnumAcknowledge:
 */
typedef enum {
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_ACKNOWLEDGE_MSG_ID:
     *
     * str, the same as UsbMsg.Header.id
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_ACKNOWLEDGE_MSG_ID = 1,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_ACKNOWLEDGE_SUCCESS:
     *
     * bool
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_ACKNOWLEDGE_SUCCESS = 2,
}  FuLogitechBulkcontrollerFnumAcknowledge;
/**
 * FuLogitechBulkcontrollerFnumTransitionToDeviceModeResponse:
 */
typedef enum {
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_TRANSITION_TO_DEVICE_MODE_RESPONSE_SUCCESS:
     *
     * bool, if Kong is not provisioned, should just respond with true value
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_TRANSITION_TO_DEVICE_MODE_RESPONSE_SUCCESS = 1,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_TRANSITION_TO_DEVICE_MODE_RESPONSE_ERROR:
     *
     * int
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_TRANSITION_TO_DEVICE_MODE_RESPONSE_ERROR = 2,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_TRANSITION_TO_DEVICE_MODE_RESPONSE_ERROR_DESCRIPTION:
     *
     * str
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_TRANSITION_TO_DEVICE_MODE_RESPONSE_ERROR_DESCRIPTION = 3,
}  FuLogitechBulkcontrollerFnumTransitionToDeviceModeResponse;
/**
 * FuLogitechBulkcontrollerFnumGetDeviceInfoResponse:
 */
typedef enum {
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_GET_DEVICE_INFO_RESPONSE_PAYLOAD:
     *
     * str, MQTT message
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_GET_DEVICE_INFO_RESPONSE_PAYLOAD = 1,
}  FuLogitechBulkcontrollerFnumGetDeviceInfoResponse;
/**
 * FuLogitechBulkcontrollerFnumEvent:
 */
typedef enum {
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_EVENT_KONG:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_EVENT_KONG = 1,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_EVENT_SEND_CRASH_DUMP:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_EVENT_SEND_CRASH_DUMP = 2,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_EVENT_CRASH_DUMP_AVAILABLE:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_EVENT_CRASH_DUMP_AVAILABLE = 3,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_EVENT_HANDSHAKE:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_EVENT_HANDSHAKE = 4,
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_EVENT_INITIATE_MEMFAULT_MANIFEST_REQUEST:
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_EVENT_INITIATE_MEMFAULT_MANIFEST_REQUEST = 5,
}  FuLogitechBulkcontrollerFnumEvent;
/**
 * FuLogitechBulkcontrollerFnumKongEvent:
 */
typedef enum {
    /**
     * FU_LOGITECH_BULKCONTROLLER_FNUM_KONG_EVENT_PAYLOAD:
     *
     * str, MQTT message
     */
    FU_LOGITECH_BULKCONTROLLER_FNUM_KONG_EVENT_PAYLOAD = 1,
}  FuLogitechBulkcontrollerFnumKongEvent;
/**
 * FuLogitechBulkcontrollerDeviceState:
 */
typedef enum {
    /**
     * FU_LOGITECH_BULKCONTROLLER_DEVICE_STATE_UNKNOWN:
     */
    FU_LOGITECH_BULKCONTROLLER_DEVICE_STATE_UNKNOWN = -1,
    /**
     * FU_LOGITECH_BULKCONTROLLER_DEVICE_STATE_OFFLINE:
     */
    FU_LOGITECH_BULKCONTROLLER_DEVICE_STATE_OFFLINE,
    /**
     * FU_LOGITECH_BULKCONTROLLER_DEVICE_STATE_ONLINE:
     */
    FU_LOGITECH_BULKCONTROLLER_DEVICE_STATE_ONLINE,
    /**
     * FU_LOGITECH_BULKCONTROLLER_DEVICE_STATE_IDLE:
     */
    FU_LOGITECH_BULKCONTROLLER_DEVICE_STATE_IDLE,
    /**
     * FU_LOGITECH_BULKCONTROLLER_DEVICE_STATE_IN_USE:
     */
    FU_LOGITECH_BULKCONTROLLER_DEVICE_STATE_IN_USE,
    /**
     * FU_LOGITECH_BULKCONTROLLER_DEVICE_STATE_AUDIO_ONLY:
     */
    FU_LOGITECH_BULKCONTROLLER_DEVICE_STATE_AUDIO_ONLY,
    /**
     * FU_LOGITECH_BULKCONTROLLER_DEVICE_STATE_ENUMERATING:
     */
    FU_LOGITECH_BULKCONTROLLER_DEVICE_STATE_ENUMERATING,
}  FuLogitechBulkcontrollerDeviceState;
const gchar *fu_logitech_bulkcontroller_device_state_to_string(FuLogitechBulkcontrollerDeviceState val) G_GNUC_CONST;
/**
 * FuLogitechBulkcontrollerUpdateState:
 */
typedef enum {
    /**
     * FU_LOGITECH_BULKCONTROLLER_UPDATE_STATE_UNKNOWN:
     */
    FU_LOGITECH_BULKCONTROLLER_UPDATE_STATE_UNKNOWN = -1,
    /**
     * FU_LOGITECH_BULKCONTROLLER_UPDATE_STATE_CURRENT:
     */
    FU_LOGITECH_BULKCONTROLLER_UPDATE_STATE_CURRENT,
    /**
     * FU_LOGITECH_BULKCONTROLLER_UPDATE_STATE_AVAILABLE:
     */
    FU_LOGITECH_BULKCONTROLLER_UPDATE_STATE_AVAILABLE,
    /**
     * FU_LOGITECH_BULKCONTROLLER_UPDATE_STATE_STARTING:
     */
    FU_LOGITECH_BULKCONTROLLER_UPDATE_STATE_STARTING = 3,
    /**
     * FU_LOGITECH_BULKCONTROLLER_UPDATE_STATE_DOWNLOADING:
     */
    FU_LOGITECH_BULKCONTROLLER_UPDATE_STATE_DOWNLOADING,
    /**
     * FU_LOGITECH_BULKCONTROLLER_UPDATE_STATE_READY:
     */
    FU_LOGITECH_BULKCONTROLLER_UPDATE_STATE_READY,
    /**
     * FU_LOGITECH_BULKCONTROLLER_UPDATE_STATE_UPDATING:
     */
    FU_LOGITECH_BULKCONTROLLER_UPDATE_STATE_UPDATING,
    /**
     * FU_LOGITECH_BULKCONTROLLER_UPDATE_STATE_SCHEDULED:
     */
    FU_LOGITECH_BULKCONTROLLER_UPDATE_STATE_SCHEDULED,
    /**
     * FU_LOGITECH_BULKCONTROLLER_UPDATE_STATE_ERROR:
     */
    FU_LOGITECH_BULKCONTROLLER_UPDATE_STATE_ERROR,
}  FuLogitechBulkcontrollerUpdateState;
const gchar *fu_logitech_bulkcontroller_update_state_to_string(FuLogitechBulkcontrollerUpdateState val) G_GNUC_CONST;
/**
 * FuLogitechBulkcontrollerCmd:
 */
typedef enum {
    /**
     * FU_LOGITECH_BULKCONTROLLER_CMD_CHECK_BUFFERSIZE:
     */
    FU_LOGITECH_BULKCONTROLLER_CMD_CHECK_BUFFERSIZE = 0xCC00,
    /**
     * FU_LOGITECH_BULKCONTROLLER_CMD_INIT:
     */
    FU_LOGITECH_BULKCONTROLLER_CMD_INIT = 0xCC01,
    /**
     * FU_LOGITECH_BULKCONTROLLER_CMD_START_TRANSFER:
     */
    FU_LOGITECH_BULKCONTROLLER_CMD_START_TRANSFER = 0xCC02,
    /**
     * FU_LOGITECH_BULKCONTROLLER_CMD_DATA_TRANSFER:
     */
    FU_LOGITECH_BULKCONTROLLER_CMD_DATA_TRANSFER = 0xCC03,
    /**
     * FU_LOGITECH_BULKCONTROLLER_CMD_END_TRANSFER:
     */
    FU_LOGITECH_BULKCONTROLLER_CMD_END_TRANSFER = 0xCC04,
    /**
     * FU_LOGITECH_BULKCONTROLLER_CMD_UNINIT:
     */
    FU_LOGITECH_BULKCONTROLLER_CMD_UNINIT = 0xCC05,
    /**
     * FU_LOGITECH_BULKCONTROLLER_CMD_BUFFER_READ:
     */
    FU_LOGITECH_BULKCONTROLLER_CMD_BUFFER_READ = 0xCC06,
    /**
     * FU_LOGITECH_BULKCONTROLLER_CMD_BUFFER_WRITE:
     */
    FU_LOGITECH_BULKCONTROLLER_CMD_BUFFER_WRITE = 0xCC07,
    /**
     * FU_LOGITECH_BULKCONTROLLER_CMD_UNINIT_BUFFER:
     */
    FU_LOGITECH_BULKCONTROLLER_CMD_UNINIT_BUFFER = 0xCC08,
    /**
     * FU_LOGITECH_BULKCONTROLLER_CMD_ACK:
     */
    FU_LOGITECH_BULKCONTROLLER_CMD_ACK = 0xFF01,
    /**
     * FU_LOGITECH_BULKCONTROLLER_CMD_TIMEOUT:
     */
    FU_LOGITECH_BULKCONTROLLER_CMD_TIMEOUT = 0xFF02,
    /**
     * FU_LOGITECH_BULKCONTROLLER_CMD_NACK:
     */
    FU_LOGITECH_BULKCONTROLLER_CMD_NACK = 0xFF03,
}  FuLogitechBulkcontrollerCmd;
const gchar *fu_logitech_bulkcontroller_cmd_to_string(FuLogitechBulkcontrollerCmd val) G_GNUC_CONST;
/**
 * FuLogitechBulkcontrollerChecksumType:
 */
typedef enum {
    /**
     * FU_LOGITECH_BULKCONTROLLER_CHECKSUM_TYPE_SHA256:
     */
    FU_LOGITECH_BULKCONTROLLER_CHECKSUM_TYPE_SHA256,
    /**
     * FU_LOGITECH_BULKCONTROLLER_CHECKSUM_TYPE_SHA512:
     */
    FU_LOGITECH_BULKCONTROLLER_CHECKSUM_TYPE_SHA512,
    /**
     * FU_LOGITECH_BULKCONTROLLER_CHECKSUM_TYPE_MD5:
     */
    FU_LOGITECH_BULKCONTROLLER_CHECKSUM_TYPE_MD5,
}  FuLogitechBulkcontrollerChecksumType;
#define FU_LOGITECH_BULKCONTROLLER_CHECKSUM_TYPE_LAST 3
typedef struct {
  GByteArray *buf;
  guint refcount;
} FuStructLogitechBulkcontrollerSendSyncReq;

FuStructLogitechBulkcontrollerSendSyncReq *fu_struct_logitech_bulkcontroller_send_sync_req_ref(FuStructLogitechBulkcontrollerSendSyncReq *st) G_GNUC_NON_NULL(1);
void fu_struct_logitech_bulkcontroller_send_sync_req_unref(FuStructLogitechBulkcontrollerSendSyncReq *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuStructLogitechBulkcontrollerSendSyncReq, fu_struct_logitech_bulkcontroller_send_sync_req_unref)
FuStructLogitechBulkcontrollerSendSyncReq *fu_struct_logitech_bulkcontroller_send_sync_req_new(void) G_GNUC_WARN_UNUSED_RESULT;
gchar *fu_struct_logitech_bulkcontroller_send_sync_req_to_string(const FuStructLogitechBulkcontrollerSendSyncReq *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
FuLogitechBulkcontrollerCmd fu_struct_logitech_bulkcontroller_send_sync_req_get_cmd(const FuStructLogitechBulkcontrollerSendSyncReq *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint32 fu_struct_logitech_bulkcontroller_send_sync_req_get_payload_length(const FuStructLogitechBulkcontrollerSendSyncReq *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint32 fu_struct_logitech_bulkcontroller_send_sync_req_get_sequence_id(const FuStructLogitechBulkcontrollerSendSyncReq *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
void fu_struct_logitech_bulkcontroller_send_sync_req_set_cmd(FuStructLogitechBulkcontrollerSendSyncReq *st, FuLogitechBulkcontrollerCmd value) G_GNUC_NON_NULL(1);
void fu_struct_logitech_bulkcontroller_send_sync_req_set_payload_length(FuStructLogitechBulkcontrollerSendSyncReq *st, guint32 value) G_GNUC_NON_NULL(1);
void fu_struct_logitech_bulkcontroller_send_sync_req_set_sequence_id(FuStructLogitechBulkcontrollerSendSyncReq *st, guint32 value) G_GNUC_NON_NULL(1);

#ifndef __GI_SCANNER__
#define FU_STRUCT_LOGITECH_BULKCONTROLLER_SEND_SYNC_REQ_OFFSET_CMD 0x0
#define FU_STRUCT_LOGITECH_BULKCONTROLLER_SEND_SYNC_REQ_OFFSET_PAYLOAD_LENGTH 0x4
#define FU_STRUCT_LOGITECH_BULKCONTROLLER_SEND_SYNC_REQ_OFFSET_SEQUENCE_ID 0x8
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_LOGITECH_BULKCONTROLLER_SEND_SYNC_REQ_SIZE 0xC
#endif

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

FuStructLogitechBulkcontrollerSendSyncRes *fu_struct_logitech_bulkcontroller_send_sync_res_ref(FuStructLogitechBulkcontrollerSendSyncRes *st) G_GNUC_NON_NULL(1);
void fu_struct_logitech_bulkcontroller_send_sync_res_unref(FuStructLogitechBulkcontrollerSendSyncRes *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuStructLogitechBulkcontrollerSendSyncRes, fu_struct_logitech_bulkcontroller_send_sync_res_unref)
FuStructLogitechBulkcontrollerSendSyncRes *fu_struct_logitech_bulkcontroller_send_sync_res_parse(const guint8 *buf, gsize bufsz, gsize offset, GError **error) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
FuLogitechBulkcontrollerCmd fu_struct_logitech_bulkcontroller_send_sync_res_get_cmd(const FuStructLogitechBulkcontrollerSendSyncRes *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint32 fu_struct_logitech_bulkcontroller_send_sync_res_get_payload_length(const FuStructLogitechBulkcontrollerSendSyncRes *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint32 fu_struct_logitech_bulkcontroller_send_sync_res_get_sequence_id(const FuStructLogitechBulkcontrollerSendSyncRes *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;

#ifndef __GI_SCANNER__
#define FU_STRUCT_LOGITECH_BULKCONTROLLER_SEND_SYNC_RES_OFFSET_CMD 0x0
#define FU_STRUCT_LOGITECH_BULKCONTROLLER_SEND_SYNC_RES_OFFSET_PAYLOAD_LENGTH 0x4
#define FU_STRUCT_LOGITECH_BULKCONTROLLER_SEND_SYNC_RES_OFFSET_SEQUENCE_ID 0x8
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_LOGITECH_BULKCONTROLLER_SEND_SYNC_RES_SIZE 0xC
#endif

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

FuStructLogitechBulkcontrollerUpdateReq *fu_struct_logitech_bulkcontroller_update_req_ref(FuStructLogitechBulkcontrollerUpdateReq *st) G_GNUC_NON_NULL(1);
void fu_struct_logitech_bulkcontroller_update_req_unref(FuStructLogitechBulkcontrollerUpdateReq *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuStructLogitechBulkcontrollerUpdateReq, fu_struct_logitech_bulkcontroller_update_req_unref)
FuStructLogitechBulkcontrollerUpdateReq *fu_struct_logitech_bulkcontroller_update_req_new(void) G_GNUC_WARN_UNUSED_RESULT;
void fu_struct_logitech_bulkcontroller_update_req_set_cmd(FuStructLogitechBulkcontrollerUpdateReq *st, FuLogitechBulkcontrollerCmd value) G_GNUC_NON_NULL(1);
void fu_struct_logitech_bulkcontroller_update_req_set_payload_length(FuStructLogitechBulkcontrollerUpdateReq *st, guint32 value) G_GNUC_NON_NULL(1);

#ifndef __GI_SCANNER__
#define FU_STRUCT_LOGITECH_BULKCONTROLLER_UPDATE_REQ_OFFSET_CMD 0x0
#define FU_STRUCT_LOGITECH_BULKCONTROLLER_UPDATE_REQ_OFFSET_PAYLOAD_LENGTH 0x4
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_LOGITECH_BULKCONTROLLER_UPDATE_REQ_SIZE 0x8
#endif

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

FuStructLogitechBulkcontrollerUpdateRes *fu_struct_logitech_bulkcontroller_update_res_ref(FuStructLogitechBulkcontrollerUpdateRes *st) G_GNUC_NON_NULL(1);
void fu_struct_logitech_bulkcontroller_update_res_unref(FuStructLogitechBulkcontrollerUpdateRes *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuStructLogitechBulkcontrollerUpdateRes, fu_struct_logitech_bulkcontroller_update_res_unref)
FuStructLogitechBulkcontrollerUpdateRes *fu_struct_logitech_bulkcontroller_update_res_parse(const guint8 *buf, gsize bufsz, gsize offset, GError **error) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
FuLogitechBulkcontrollerCmd fu_struct_logitech_bulkcontroller_update_res_get_cmd(const FuStructLogitechBulkcontrollerUpdateRes *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
FuLogitechBulkcontrollerCmd fu_struct_logitech_bulkcontroller_update_res_get_cmd_req(const FuStructLogitechBulkcontrollerUpdateRes *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;

#ifndef __GI_SCANNER__
#define FU_STRUCT_LOGITECH_BULKCONTROLLER_UPDATE_RES_OFFSET_CMD 0x0
#define FU_STRUCT_LOGITECH_BULKCONTROLLER_UPDATE_RES_OFFSET_CMD_REQ 0x8
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_LOGITECH_BULKCONTROLLER_UPDATE_RES_SIZE 0xC
#endif

#ifndef __GI_SCANNER__
#endif
