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

#pragma once
#include <fu-input-stream.h>
/**
 * FuCorsairDeviceProperty:
 */
typedef enum {
    /**
     * FU_CORSAIR_DEVICE_PROPERTY_MODE:
     */
    FU_CORSAIR_DEVICE_PROPERTY_MODE = 0x03,
    /**
     * FU_CORSAIR_DEVICE_PROPERTY_BATTERY_LEVEL:
     */
    FU_CORSAIR_DEVICE_PROPERTY_BATTERY_LEVEL = 0x0F,
    /**
     * FU_CORSAIR_DEVICE_PROPERTY_VERSION:
     */
    FU_CORSAIR_DEVICE_PROPERTY_VERSION = 0x13,
    /**
     * FU_CORSAIR_DEVICE_PROPERTY_BOOTLOADER_VERSION:
     */
    FU_CORSAIR_DEVICE_PROPERTY_BOOTLOADER_VERSION = 0x14,
    /**
     * FU_CORSAIR_DEVICE_PROPERTY_SUBDEVICES:
     */
    FU_CORSAIR_DEVICE_PROPERTY_SUBDEVICES = 0x36,
}  FuCorsairDeviceProperty;
/**
 * FuCorsairDeviceMode:
 */
typedef enum {
    /**
     * FU_CORSAIR_DEVICE_MODE_APPLICATION:
     */
    FU_CORSAIR_DEVICE_MODE_APPLICATION = 0x01,
    /**
     * FU_CORSAIR_DEVICE_MODE_BOOTLOADER:
     */
    FU_CORSAIR_DEVICE_MODE_BOOTLOADER = 0x03,
}  FuCorsairDeviceMode;
/**
 * FuCorsairDestination:
 */
typedef enum {
    /**
     * FU_CORSAIR_DESTINATION_PC:
     */
    FU_CORSAIR_DESTINATION_PC = 0x00,
    /**
     * FU_CORSAIR_DESTINATION_INTERNAL:
     */
    FU_CORSAIR_DESTINATION_INTERNAL = 0x01,
    /**
     * FU_CORSAIR_DESTINATION_SELF:
     */
    FU_CORSAIR_DESTINATION_SELF = 0x08,
    /**
     * FU_CORSAIR_DESTINATION_SUBDEVICE:
     */
    FU_CORSAIR_DESTINATION_SUBDEVICE = 0x09,
}  FuCorsairDestination;
/**
 * FuCorsairCmd:
 */
typedef enum {
    /**
     * FU_CORSAIR_CMD_UNKNOWN:
     */
    FU_CORSAIR_CMD_UNKNOWN = 0x00,
    /**
     * FU_CORSAIR_CMD_SET_MODE:
     */
    FU_CORSAIR_CMD_SET_MODE = 0x01,
    /**
     * FU_CORSAIR_CMD_GET_PROPERTY:
     */
    FU_CORSAIR_CMD_GET_PROPERTY = 0x02,
    /**
     * FU_CORSAIR_CMD_COMMIT:
     */
    FU_CORSAIR_CMD_COMMIT = 0x05,
    /**
     * FU_CORSAIR_CMD_WRITE_FIRST:
     */
    FU_CORSAIR_CMD_WRITE_FIRST = 0x06,
    /**
     * FU_CORSAIR_CMD_WRITE_NEXT:
     */
    FU_CORSAIR_CMD_WRITE_NEXT = 0x07,
    /**
     * FU_CORSAIR_CMD_INIT:
     */
    FU_CORSAIR_CMD_INIT = 0x0D,
    /**
     * FU_CORSAIR_CMD_ATTACH:
     */
    FU_CORSAIR_CMD_ATTACH = 0x10,
    /**
     * FU_CORSAIR_CMD_ACTIVATE:
     */
    FU_CORSAIR_CMD_ACTIVATE = 0x16,
}  FuCorsairCmd;
/**
 * FuCorsairStatus:
 */
typedef enum {
    /**
     * FU_CORSAIR_STATUS_SUCCESS:
     */
    FU_CORSAIR_STATUS_SUCCESS = 0x00,
    /**
     * FU_CORSAIR_STATUS_UNKNOWN3:
     */
    FU_CORSAIR_STATUS_UNKNOWN3 = 0x03,
    /**
     * FU_CORSAIR_STATUS_NOT_SUPPORTED:
     */
    FU_CORSAIR_STATUS_NOT_SUPPORTED = 0x05,
}  FuCorsairStatus;
typedef struct {
  GByteArray *buf;
  guint refcount;
} FuStructCorsairGenericRes;

FuStructCorsairGenericRes *fu_struct_corsair_generic_res_ref(FuStructCorsairGenericRes *st) G_GNUC_NON_NULL(1);
void fu_struct_corsair_generic_res_unref(FuStructCorsairGenericRes *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuStructCorsairGenericRes, fu_struct_corsair_generic_res_unref)
FuStructCorsairGenericRes *fu_struct_corsair_generic_res_parse(const guint8 *buf, gsize bufsz, gsize offset, GError **error) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
FuCorsairDestination fu_struct_corsair_generic_res_get_destination(const FuStructCorsairGenericRes *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
FuCorsairCmd fu_struct_corsair_generic_res_get_cmd(const FuStructCorsairGenericRes *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
FuCorsairStatus fu_struct_corsair_generic_res_get_status(const FuStructCorsairGenericRes *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_GENERIC_RES_OFFSET_DESTINATION 0x0
#define FU_STRUCT_CORSAIR_GENERIC_RES_OFFSET_CMD 0x1
#define FU_STRUCT_CORSAIR_GENERIC_RES_OFFSET_STATUS 0x2
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_GENERIC_RES_SIZE 0x3
#endif

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

FuStructCorsairInitReq *fu_struct_corsair_init_req_ref(FuStructCorsairInitReq *st) G_GNUC_NON_NULL(1);
void fu_struct_corsair_init_req_unref(FuStructCorsairInitReq *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuStructCorsairInitReq, fu_struct_corsair_init_req_unref)
FuStructCorsairInitReq *fu_struct_corsair_init_req_new(void) G_GNUC_WARN_UNUSED_RESULT;
void fu_struct_corsair_init_req_set_destination(FuStructCorsairInitReq *st, FuCorsairDestination value) G_GNUC_NON_NULL(1);

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_INIT_REQ_OFFSET_DESTINATION 0x0
#define FU_STRUCT_CORSAIR_INIT_REQ_OFFSET_CMD 0x1
#define FU_STRUCT_CORSAIR_INIT_REQ_OFFSET_DATA1 0x2
#define FU_STRUCT_CORSAIR_INIT_REQ_OFFSET_DATA2 0x3
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_INIT_REQ_SIZE 0x4
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_INIT_REQ_DEFAULT_DESTINATION FU_CORSAIR_DESTINATION_SELF
#define FU_STRUCT_CORSAIR_INIT_REQ_DEFAULT_CMD FU_CORSAIR_CMD_INIT
#define FU_STRUCT_CORSAIR_INIT_REQ_DEFAULT_DATA1 0x00
#define FU_STRUCT_CORSAIR_INIT_REQ_DEFAULT_DATA2 0x03
#endif
typedef struct {
  GByteArray *buf;
  guint refcount;
} FuStructCorsairWriteFirstReq;

FuStructCorsairWriteFirstReq *fu_struct_corsair_write_first_req_ref(FuStructCorsairWriteFirstReq *st) G_GNUC_NON_NULL(1);
void fu_struct_corsair_write_first_req_unref(FuStructCorsairWriteFirstReq *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuStructCorsairWriteFirstReq, fu_struct_corsair_write_first_req_unref)
FuStructCorsairWriteFirstReq *fu_struct_corsair_write_first_req_new(void) G_GNUC_WARN_UNUSED_RESULT;
void fu_struct_corsair_write_first_req_set_destination(FuStructCorsairWriteFirstReq *st, FuCorsairDestination value) G_GNUC_NON_NULL(1);
void fu_struct_corsair_write_first_req_set_size(FuStructCorsairWriteFirstReq *st, guint32 value) G_GNUC_NON_NULL(1);

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_WRITE_FIRST_REQ_OFFSET_DESTINATION 0x0
#define FU_STRUCT_CORSAIR_WRITE_FIRST_REQ_OFFSET_CMD 0x1
#define FU_STRUCT_CORSAIR_WRITE_FIRST_REQ_OFFSET_DATA1 0x2
#define FU_STRUCT_CORSAIR_WRITE_FIRST_REQ_OFFSET_SIZE 0x3
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_WRITE_FIRST_REQ_SIZE 0x7
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_WRITE_FIRST_REQ_DEFAULT_DESTINATION FU_CORSAIR_DESTINATION_SELF
#define FU_STRUCT_CORSAIR_WRITE_FIRST_REQ_DEFAULT_CMD FU_CORSAIR_CMD_WRITE_FIRST
#define FU_STRUCT_CORSAIR_WRITE_FIRST_REQ_DEFAULT_DATA1 0x00
#endif
typedef struct {
  GByteArray *buf;
  guint refcount;
} FuStructCorsairWriteNextReq;

FuStructCorsairWriteNextReq *fu_struct_corsair_write_next_req_ref(FuStructCorsairWriteNextReq *st) G_GNUC_NON_NULL(1);
void fu_struct_corsair_write_next_req_unref(FuStructCorsairWriteNextReq *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuStructCorsairWriteNextReq, fu_struct_corsair_write_next_req_unref)
FuStructCorsairWriteNextReq *fu_struct_corsair_write_next_req_new(void) G_GNUC_WARN_UNUSED_RESULT;
void fu_struct_corsair_write_next_req_set_destination(FuStructCorsairWriteNextReq *st, FuCorsairDestination value) G_GNUC_NON_NULL(1);

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_WRITE_NEXT_REQ_OFFSET_DESTINATION 0x0
#define FU_STRUCT_CORSAIR_WRITE_NEXT_REQ_OFFSET_CMD 0x1
#define FU_STRUCT_CORSAIR_WRITE_NEXT_REQ_OFFSET_DATA1 0x2
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_WRITE_NEXT_REQ_SIZE 0x3
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_WRITE_NEXT_REQ_DEFAULT_DESTINATION FU_CORSAIR_DESTINATION_SELF
#define FU_STRUCT_CORSAIR_WRITE_NEXT_REQ_DEFAULT_CMD FU_CORSAIR_CMD_WRITE_NEXT
#define FU_STRUCT_CORSAIR_WRITE_NEXT_REQ_DEFAULT_DATA1 0x00
#endif
typedef struct {
  GByteArray *buf;
  guint refcount;
} FuStructCorsairSetModeReq;

FuStructCorsairSetModeReq *fu_struct_corsair_set_mode_req_ref(FuStructCorsairSetModeReq *st) G_GNUC_NON_NULL(1);
void fu_struct_corsair_set_mode_req_unref(FuStructCorsairSetModeReq *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuStructCorsairSetModeReq, fu_struct_corsair_set_mode_req_unref)
FuStructCorsairSetModeReq *fu_struct_corsair_set_mode_req_new(void) G_GNUC_WARN_UNUSED_RESULT;
void fu_struct_corsair_set_mode_req_set_destination(FuStructCorsairSetModeReq *st, FuCorsairDestination value) G_GNUC_NON_NULL(1);
void fu_struct_corsair_set_mode_req_set_mode(FuStructCorsairSetModeReq *st, FuCorsairDeviceMode value) G_GNUC_NON_NULL(1);

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_SET_MODE_REQ_OFFSET_DESTINATION 0x0
#define FU_STRUCT_CORSAIR_SET_MODE_REQ_OFFSET_CMD 0x1
#define FU_STRUCT_CORSAIR_SET_MODE_REQ_OFFSET_DATA1 0x2
#define FU_STRUCT_CORSAIR_SET_MODE_REQ_OFFSET_DATA2 0x3
#define FU_STRUCT_CORSAIR_SET_MODE_REQ_OFFSET_MODE 0x4
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_SET_MODE_REQ_SIZE 0x5
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_SET_MODE_REQ_DEFAULT_DESTINATION FU_CORSAIR_DESTINATION_SELF
#define FU_STRUCT_CORSAIR_SET_MODE_REQ_DEFAULT_CMD FU_CORSAIR_CMD_SET_MODE
#define FU_STRUCT_CORSAIR_SET_MODE_REQ_DEFAULT_DATA1 0x03
#define FU_STRUCT_CORSAIR_SET_MODE_REQ_DEFAULT_DATA2 0x00
#endif
typedef struct {
  GByteArray *buf;
  guint refcount;
} FuStructCorsairCommitReq;

FuStructCorsairCommitReq *fu_struct_corsair_commit_req_ref(FuStructCorsairCommitReq *st) G_GNUC_NON_NULL(1);
void fu_struct_corsair_commit_req_unref(FuStructCorsairCommitReq *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuStructCorsairCommitReq, fu_struct_corsair_commit_req_unref)
FuStructCorsairCommitReq *fu_struct_corsair_commit_req_new(void) G_GNUC_WARN_UNUSED_RESULT;
void fu_struct_corsair_commit_req_set_destination(FuStructCorsairCommitReq *st, FuCorsairDestination value) G_GNUC_NON_NULL(1);

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_COMMIT_REQ_OFFSET_DESTINATION 0x0
#define FU_STRUCT_CORSAIR_COMMIT_REQ_OFFSET_CMD 0x1
#define FU_STRUCT_CORSAIR_COMMIT_REQ_OFFSET_DATA1 0x2
#define FU_STRUCT_CORSAIR_COMMIT_REQ_OFFSET_DATA2 0x3
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_COMMIT_REQ_SIZE 0x4
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_COMMIT_REQ_DEFAULT_DESTINATION FU_CORSAIR_DESTINATION_SELF
#define FU_STRUCT_CORSAIR_COMMIT_REQ_DEFAULT_CMD FU_CORSAIR_CMD_COMMIT
#define FU_STRUCT_CORSAIR_COMMIT_REQ_DEFAULT_DATA1 0x01
#define FU_STRUCT_CORSAIR_COMMIT_REQ_DEFAULT_DATA2 0x00
#endif
typedef struct {
  GByteArray *buf;
  guint refcount;
} FuStructCorsairActivateReq;

FuStructCorsairActivateReq *fu_struct_corsair_activate_req_ref(FuStructCorsairActivateReq *st) G_GNUC_NON_NULL(1);
void fu_struct_corsair_activate_req_unref(FuStructCorsairActivateReq *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuStructCorsairActivateReq, fu_struct_corsair_activate_req_unref)
FuStructCorsairActivateReq *fu_struct_corsair_activate_req_new(void) G_GNUC_WARN_UNUSED_RESULT;
void fu_struct_corsair_activate_req_set_destination(FuStructCorsairActivateReq *st, FuCorsairDestination value) G_GNUC_NON_NULL(1);
void fu_struct_corsair_activate_req_set_crc(FuStructCorsairActivateReq *st, guint32 value) G_GNUC_NON_NULL(1);

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_ACTIVATE_REQ_OFFSET_DESTINATION 0x0
#define FU_STRUCT_CORSAIR_ACTIVATE_REQ_OFFSET_CMD 0x1
#define FU_STRUCT_CORSAIR_ACTIVATE_REQ_OFFSET_DATA1 0x2
#define FU_STRUCT_CORSAIR_ACTIVATE_REQ_OFFSET_DATA2 0x3
#define FU_STRUCT_CORSAIR_ACTIVATE_REQ_OFFSET_DATA3 0x4
#define FU_STRUCT_CORSAIR_ACTIVATE_REQ_OFFSET_DATA4 0x5
#define FU_STRUCT_CORSAIR_ACTIVATE_REQ_OFFSET_DATA5 0x6
#define FU_STRUCT_CORSAIR_ACTIVATE_REQ_OFFSET_DATA6 0x7
#define FU_STRUCT_CORSAIR_ACTIVATE_REQ_OFFSET_CRC 0x8
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_ACTIVATE_REQ_SIZE 0xC
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_ACTIVATE_REQ_DEFAULT_DESTINATION FU_CORSAIR_DESTINATION_SELF
#define FU_STRUCT_CORSAIR_ACTIVATE_REQ_DEFAULT_CMD FU_CORSAIR_CMD_ACTIVATE
#define FU_STRUCT_CORSAIR_ACTIVATE_REQ_DEFAULT_DATA1 0x00
#define FU_STRUCT_CORSAIR_ACTIVATE_REQ_DEFAULT_DATA2 0x01
#define FU_STRUCT_CORSAIR_ACTIVATE_REQ_DEFAULT_DATA3 0x03
#define FU_STRUCT_CORSAIR_ACTIVATE_REQ_DEFAULT_DATA4 0x00
#define FU_STRUCT_CORSAIR_ACTIVATE_REQ_DEFAULT_DATA5 0x01
#define FU_STRUCT_CORSAIR_ACTIVATE_REQ_DEFAULT_DATA6 0x01
#endif
typedef struct {
  GByteArray *buf;
  guint refcount;
} FuStructCorsairAttachReq;

FuStructCorsairAttachReq *fu_struct_corsair_attach_req_ref(FuStructCorsairAttachReq *st) G_GNUC_NON_NULL(1);
void fu_struct_corsair_attach_req_unref(FuStructCorsairAttachReq *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuStructCorsairAttachReq, fu_struct_corsair_attach_req_unref)
FuStructCorsairAttachReq *fu_struct_corsair_attach_req_new(void) G_GNUC_WARN_UNUSED_RESULT;
void fu_struct_corsair_attach_req_set_destination(FuStructCorsairAttachReq *st, FuCorsairDestination value) G_GNUC_NON_NULL(1);

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_ATTACH_REQ_OFFSET_DESTINATION 0x0
#define FU_STRUCT_CORSAIR_ATTACH_REQ_OFFSET_CMD 0x1
#define FU_STRUCT_CORSAIR_ATTACH_REQ_OFFSET_DATA1 0x2
#define FU_STRUCT_CORSAIR_ATTACH_REQ_OFFSET_DATA2 0x3
#define FU_STRUCT_CORSAIR_ATTACH_REQ_OFFSET_DATA3 0x4
#define FU_STRUCT_CORSAIR_ATTACH_REQ_OFFSET_DATA4 0x5
#define FU_STRUCT_CORSAIR_ATTACH_REQ_OFFSET_DATA5 0x6
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_ATTACH_REQ_SIZE 0x7
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_ATTACH_REQ_DEFAULT_DESTINATION FU_CORSAIR_DESTINATION_SELF
#define FU_STRUCT_CORSAIR_ATTACH_REQ_DEFAULT_CMD FU_CORSAIR_CMD_ATTACH
#define FU_STRUCT_CORSAIR_ATTACH_REQ_DEFAULT_DATA1 0x01
#define FU_STRUCT_CORSAIR_ATTACH_REQ_DEFAULT_DATA2 0x00
#define FU_STRUCT_CORSAIR_ATTACH_REQ_DEFAULT_DATA3 0x03
#define FU_STRUCT_CORSAIR_ATTACH_REQ_DEFAULT_DATA4 0x00
#define FU_STRUCT_CORSAIR_ATTACH_REQ_DEFAULT_DATA5 0x01
#endif
typedef struct {
  GByteArray *buf;
  guint refcount;
} FuStructCorsairGetPropertyReq;

FuStructCorsairGetPropertyReq *fu_struct_corsair_get_property_req_ref(FuStructCorsairGetPropertyReq *st) G_GNUC_NON_NULL(1);
void fu_struct_corsair_get_property_req_unref(FuStructCorsairGetPropertyReq *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuStructCorsairGetPropertyReq, fu_struct_corsair_get_property_req_unref)
FuStructCorsairGetPropertyReq *fu_struct_corsair_get_property_req_new(void) G_GNUC_WARN_UNUSED_RESULT;
void fu_struct_corsair_get_property_req_set_destination(FuStructCorsairGetPropertyReq *st, FuCorsairDestination value) G_GNUC_NON_NULL(1);
void fu_struct_corsair_get_property_req_set_property(FuStructCorsairGetPropertyReq *st, FuCorsairDeviceProperty value) G_GNUC_NON_NULL(1);

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_GET_PROPERTY_REQ_OFFSET_DESTINATION 0x0
#define FU_STRUCT_CORSAIR_GET_PROPERTY_REQ_OFFSET_CMD 0x1
#define FU_STRUCT_CORSAIR_GET_PROPERTY_REQ_OFFSET_PROPERTY 0x2
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_GET_PROPERTY_REQ_SIZE 0x4
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_GET_PROPERTY_REQ_DEFAULT_DESTINATION FU_CORSAIR_DESTINATION_SELF
#define FU_STRUCT_CORSAIR_GET_PROPERTY_REQ_DEFAULT_CMD FU_CORSAIR_CMD_GET_PROPERTY
#endif
typedef struct {
  GByteArray *buf;
  guint refcount;
} FuStructCorsairGetPropertyRes;

FuStructCorsairGetPropertyRes *fu_struct_corsair_get_property_res_ref(FuStructCorsairGetPropertyRes *st) G_GNUC_NON_NULL(1);
void fu_struct_corsair_get_property_res_unref(FuStructCorsairGetPropertyRes *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuStructCorsairGetPropertyRes, fu_struct_corsair_get_property_res_unref)
FuStructCorsairGetPropertyRes *fu_struct_corsair_get_property_res_parse(const guint8 *buf, gsize bufsz, gsize offset, GError **error) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
FuCorsairDestination fu_struct_corsair_get_property_res_get_destination(const FuStructCorsairGetPropertyRes *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
FuCorsairCmd fu_struct_corsair_get_property_res_get_cmd(const FuStructCorsairGetPropertyRes *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint32 fu_struct_corsair_get_property_res_get_value(const FuStructCorsairGetPropertyRes *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_GET_PROPERTY_RES_OFFSET_DESTINATION 0x0
#define FU_STRUCT_CORSAIR_GET_PROPERTY_RES_OFFSET_CMD 0x1
#define FU_STRUCT_CORSAIR_GET_PROPERTY_RES_OFFSET_STATUS 0x2
#define FU_STRUCT_CORSAIR_GET_PROPERTY_RES_OFFSET_VALUE 0x3
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_GET_PROPERTY_RES_SIZE 0x7
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_CORSAIR_GET_PROPERTY_RES_DEFAULT_STATUS FU_CORSAIR_STATUS_SUCCESS
#endif
