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

#pragma once
#include <fu-input-stream.h>
/**
 * FuSynapticsCapeCmd:
 */
typedef enum {
    /**
     * FU_SYNAPTICS_CAPE_CMD_FW_UPDATE_START:
     */
    FU_SYNAPTICS_CAPE_CMD_FW_UPDATE_START = 0xC8,
    /**
     * FU_SYNAPTICS_CAPE_CMD_FW_UPDATE_WRITE:
     */
    FU_SYNAPTICS_CAPE_CMD_FW_UPDATE_WRITE = 0xC9,
    /**
     * FU_SYNAPTICS_CAPE_CMD_FW_UPDATE_END:
     */
    FU_SYNAPTICS_CAPE_CMD_FW_UPDATE_END = 0xCA,
    /**
     * FU_SYNAPTICS_CAPE_CMD_MCU_SOFT_RESET:
     */
    FU_SYNAPTICS_CAPE_CMD_MCU_SOFT_RESET = 0xAF,
    /**
     * FU_SYNAPTICS_CAPE_CMD_FW_GET_ACTIVE_PARTITION:
     */
    FU_SYNAPTICS_CAPE_CMD_FW_GET_ACTIVE_PARTITION = 0x1CF,
    /**
     * FU_SYNAPTICS_CAPE_CMD_GET_VERSION:
     */
    FU_SYNAPTICS_CAPE_CMD_GET_VERSION = 0x103,
}  FuSynapticsCapeCmd;
/**
 * FuSynapticsCapeError:
 */
typedef enum {
    /**
     * FU_SYNAPTICS_CAPE_ERROR_EAGAIN:
     */
    FU_SYNAPTICS_CAPE_ERROR_EAGAIN = -11,
    /**
     * FU_SYNAPTICS_CAPE_ERROR_SFU_FAIL:
     */
    FU_SYNAPTICS_CAPE_ERROR_SFU_FAIL = -200,
    /**
     * FU_SYNAPTICS_CAPE_ERROR_SFU_WRITE_FAIL:
     */
    FU_SYNAPTICS_CAPE_ERROR_SFU_WRITE_FAIL = -201,
    /**
     * FU_SYNAPTICS_CAPE_ERROR_SFU_READ_FAIL:
     */
    FU_SYNAPTICS_CAPE_ERROR_SFU_READ_FAIL = -202,
    /**
     * FU_SYNAPTICS_CAPE_ERROR_SFU_CRC_ERROR:
     */
    FU_SYNAPTICS_CAPE_ERROR_SFU_CRC_ERROR = -203,
    /**
     * FU_SYNAPTICS_CAPE_ERROR_SFU_USB_ID_NOT_MATCH:
     */
    FU_SYNAPTICS_CAPE_ERROR_SFU_USB_ID_NOT_MATCH = -204,
    /**
     * FU_SYNAPTICS_CAPE_ERROR_SFU_VERSION_DOWNGRADE:
     */
    FU_SYNAPTICS_CAPE_ERROR_SFU_VERSION_DOWNGRADE = -205,
    /**
     * FU_SYNAPTICS_CAPE_ERROR_SFU_HEADER_CORRUPTION:
     */
    FU_SYNAPTICS_CAPE_ERROR_SFU_HEADER_CORRUPTION = -206,
    /**
     * FU_SYNAPTICS_CAPE_ERROR_SFU_IMAGE_CORRUPTION:
     */
    FU_SYNAPTICS_CAPE_ERROR_SFU_IMAGE_CORRUPTION = -207,
    /**
     * FU_SYNAPTICS_CAPE_ERROR_SFU_ALREADY_ACTIVE:
     */
    FU_SYNAPTICS_CAPE_ERROR_SFU_ALREADY_ACTIVE = -208,
    /**
     * FU_SYNAPTICS_CAPE_ERROR_SFU_NOT_READY:
     */
    FU_SYNAPTICS_CAPE_ERROR_SFU_NOT_READY = -209,
    /**
     * FU_SYNAPTICS_CAPE_ERROR_SFU_SIGN_TRANSFER_CORRUPTION:
     */
    FU_SYNAPTICS_CAPE_ERROR_SFU_SIGN_TRANSFER_CORRUPTION = -210,
    /**
     * FU_SYNAPTICS_CAPE_ERROR_SFU_SIGNATURE_VERIFICATION:
     */
    FU_SYNAPTICS_CAPE_ERROR_SFU_SIGNATURE_VERIFICATION = -211,
    /**
     * FU_SYNAPTICS_CAPE_ERROR_SFU_TASK_NOT_RUNNING:
     */
    FU_SYNAPTICS_CAPE_ERROR_SFU_TASK_NOT_RUNNING = -212,
    /**
     * FU_SYNAPTICS_CAPE_ERROR_GENERIC_FAILURE:
     */
    FU_SYNAPTICS_CAPE_ERROR_GENERIC_FAILURE = -1025,
    /**
     * FU_SYNAPTICS_CAPE_ERROR_ALREADY_EXISTS:
     */
    FU_SYNAPTICS_CAPE_ERROR_ALREADY_EXISTS = -1026,
    /**
     * FU_SYNAPTICS_CAPE_ERROR_NULL_APP_POINTER:
     */
    FU_SYNAPTICS_CAPE_ERROR_NULL_APP_POINTER = -1027,
    /**
     * FU_SYNAPTICS_CAPE_ERROR_NULL_MODULE_POINTER:
     */
    FU_SYNAPTICS_CAPE_ERROR_NULL_MODULE_POINTER = -1028,
    /**
     * FU_SYNAPTICS_CAPE_ERROR_NULL_STREAM_POINTER:
     */
    FU_SYNAPTICS_CAPE_ERROR_NULL_STREAM_POINTER = -1029,
    /**
     * FU_SYNAPTICS_CAPE_ERROR_NULL_POINTER:
     */
    FU_SYNAPTICS_CAPE_ERROR_NULL_POINTER = -1030,
    /**
     * FU_SYNAPTICS_CAPE_ERROR_BAD_APP_ID:
     */
    FU_SYNAPTICS_CAPE_ERROR_BAD_APP_ID = -1031,
    /**
     * FU_SYNAPTICS_CAPE_ERROR_MODULE_TYPE_HAS_NO_API:
     */
    FU_SYNAPTICS_CAPE_ERROR_MODULE_TYPE_HAS_NO_API = -1034,
    /**
     * FU_SYNAPTICS_CAPE_ERROR_BAD_MAGIC_NUMBER:
     */
    FU_SYNAPTICS_CAPE_ERROR_BAD_MAGIC_NUMBER = -1052,
    /**
     * FU_SYNAPTICS_CAPE_ERROR_CMD_MODE_UNSUPPORTED:
     */
    FU_SYNAPTICS_CAPE_ERROR_CMD_MODE_UNSUPPORTED = -1056,
}  FuSynapticsCapeError;
const gchar *fu_synaptics_cape_error_to_string(FuSynapticsCapeError val) G_GNUC_CONST;
/**
 * FuSynapticsCapeModuleId:
 */
typedef enum {
    /**
     * FU_SYNAPTICS_CAPE_MODULE_ID_APP_CTRL:
     */
    FU_SYNAPTICS_CAPE_MODULE_ID_APP_CTRL = 0xb32d2300,
}  FuSynapticsCapeModuleId;
/**
 * FuSynapticsCapeSnglImgTypeId:
 */
typedef enum {
    /**
     * FU_SYNAPTICS_CAPE_SNGL_IMG_TYPE_ID_HID0:
     *
     * hid file for partition 0
     */
    FU_SYNAPTICS_CAPE_SNGL_IMG_TYPE_ID_HID0 = 0x30444948,
    /**
     * FU_SYNAPTICS_CAPE_SNGL_IMG_TYPE_ID_HID1:
     *
     * hid file for partition 1
     */
    FU_SYNAPTICS_CAPE_SNGL_IMG_TYPE_ID_HID1 = 0x31444948,
    /**
     * FU_SYNAPTICS_CAPE_SNGL_IMG_TYPE_ID_HOF0:
     *
     * hid + offer file for partition 0
     */
    FU_SYNAPTICS_CAPE_SNGL_IMG_TYPE_ID_HOF0 = 0x30464F48,
    /**
     * FU_SYNAPTICS_CAPE_SNGL_IMG_TYPE_ID_HOF1:
     *
     * hid + offer file for partition 1
     */
    FU_SYNAPTICS_CAPE_SNGL_IMG_TYPE_ID_HOF1 = 0x31464F48,
    /**
     * FU_SYNAPTICS_CAPE_SNGL_IMG_TYPE_ID_SFSX:
     *
     * sfs file
     */
    FU_SYNAPTICS_CAPE_SNGL_IMG_TYPE_ID_SFSX = 0x58534653,
    /**
     * FU_SYNAPTICS_CAPE_SNGL_IMG_TYPE_ID_SOFX:
     *
     * sfs + offer file
     */
    FU_SYNAPTICS_CAPE_SNGL_IMG_TYPE_ID_SOFX = 0x58464F53,
    /**
     * FU_SYNAPTICS_CAPE_SNGL_IMG_TYPE_ID_SIGN:
     *
     * digital signature file
     */
    FU_SYNAPTICS_CAPE_SNGL_IMG_TYPE_ID_SIGN = 0x4e474953,
}  FuSynapticsCapeSnglImgTypeId;
/**
 * FuSynapticsCapeFirmwarePartition:
 */
typedef enum {
    /**
     * FU_SYNAPTICS_CAPE_FIRMWARE_PARTITION_AUTO:
     */
    FU_SYNAPTICS_CAPE_FIRMWARE_PARTITION_AUTO,
    /**
     * FU_SYNAPTICS_CAPE_FIRMWARE_PARTITION_1:
     */
    FU_SYNAPTICS_CAPE_FIRMWARE_PARTITION_1,
    /**
     * FU_SYNAPTICS_CAPE_FIRMWARE_PARTITION_2:
     */
    FU_SYNAPTICS_CAPE_FIRMWARE_PARTITION_2,
}  FuSynapticsCapeFirmwarePartition;
#define FU_SYNAPTICS_CAPE_FIRMWARE_PARTITION_LAST 3
typedef struct {
  GByteArray *buf;
  guint refcount;
} FuSynapticsCapeMsg;

FuSynapticsCapeMsg *fu_synaptics_cape_msg_ref(FuSynapticsCapeMsg *st) G_GNUC_NON_NULL(1);
void fu_synaptics_cape_msg_unref(FuSynapticsCapeMsg *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuSynapticsCapeMsg, fu_synaptics_cape_msg_unref)
FuSynapticsCapeMsg *fu_synaptics_cape_msg_new(void) G_GNUC_WARN_UNUSED_RESULT;
guint16 fu_synaptics_cape_msg_get_data_len(const FuSynapticsCapeMsg *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
FuSynapticsCapeCmd fu_synaptics_cape_msg_get_cmd_id(const FuSynapticsCapeMsg *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
FuSynapticsCapeModuleId fu_synaptics_cape_msg_get_module_id(const FuSynapticsCapeMsg *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint32 fu_synaptics_cape_msg_get_data(const FuSynapticsCapeMsg *st, guint idx) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
void fu_synaptics_cape_msg_set_data_len(FuSynapticsCapeMsg *st, guint16 value) G_GNUC_NON_NULL(1);
void fu_synaptics_cape_msg_set_cmd_id(FuSynapticsCapeMsg *st, FuSynapticsCapeCmd value) G_GNUC_NON_NULL(1);
void fu_synaptics_cape_msg_set_module_id(FuSynapticsCapeMsg *st, FuSynapticsCapeModuleId value) G_GNUC_NON_NULL(1);
void fu_synaptics_cape_msg_set_data(FuSynapticsCapeMsg *st, guint idx, guint32 value) G_GNUC_NON_NULL(1);

#ifndef __GI_SCANNER__
#define FU_SYNAPTICS_CAPE_MSG_OFFSET_DATA_LEN 0x0
#define FU_SYNAPTICS_CAPE_MSG_OFFSET_CMD_ID 0x2
#define FU_SYNAPTICS_CAPE_MSG_OFFSET_MODULE_ID 0x4
#define FU_SYNAPTICS_CAPE_MSG_OFFSET_DATA 0x8
#endif

#ifndef __GI_SCANNER__
#define FU_SYNAPTICS_CAPE_MSG_SIZE_DATA 0x34
#define FU_SYNAPTICS_CAPE_MSG_N_ELEMENTS_DATA 13
#define FU_SYNAPTICS_CAPE_MSG_SIZE 0x3C
#endif

#ifndef __GI_SCANNER__
#define FU_SYNAPTICS_CAPE_MSG_DEFAULT_MODULE_ID FU_SYNAPTICS_CAPE_MODULE_ID_APP_CTRL
#endif
typedef struct {
  GByteArray *buf;
  guint refcount;
} FuSynapticsCapeCmdHidReport;

FuSynapticsCapeCmdHidReport *fu_synaptics_cape_cmd_hid_report_ref(FuSynapticsCapeCmdHidReport *st) G_GNUC_NON_NULL(1);
void fu_synaptics_cape_cmd_hid_report_unref(FuSynapticsCapeCmdHidReport *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuSynapticsCapeCmdHidReport, fu_synaptics_cape_cmd_hid_report_unref)
FuSynapticsCapeCmdHidReport *fu_synaptics_cape_cmd_hid_report_new(void) G_GNUC_WARN_UNUSED_RESULT;
FuSynapticsCapeMsg *fu_synaptics_cape_cmd_hid_report_get_msg(const FuSynapticsCapeCmdHidReport *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
gboolean
fu_synaptics_cape_cmd_hid_report_set_msg(FuSynapticsCapeCmdHidReport *st, const FuSynapticsCapeMsg *st_donor, GError **error) G_GNUC_NON_NULL(1, 2) G_GNUC_WARN_UNUSED_RESULT;

#ifndef __GI_SCANNER__
#define FU_SYNAPTICS_CAPE_CMD_HID_REPORT_OFFSET_REPORT_ID 0x0
#define FU_SYNAPTICS_CAPE_CMD_HID_REPORT_OFFSET_MSG 0x2
#endif

#ifndef __GI_SCANNER__
#define FU_SYNAPTICS_CAPE_CMD_HID_REPORT_SIZE 0x3E
#endif

#ifndef __GI_SCANNER__
#define FU_SYNAPTICS_CAPE_CMD_HID_REPORT_DEFAULT_REPORT_ID 1
#endif
typedef struct {
  GByteArray *buf;
  guint refcount;
} FuStructSynapticsCapeHidHdr;

FuStructSynapticsCapeHidHdr *fu_struct_synaptics_cape_hid_hdr_ref(FuStructSynapticsCapeHidHdr *st) G_GNUC_NON_NULL(1);
void fu_struct_synaptics_cape_hid_hdr_unref(FuStructSynapticsCapeHidHdr *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuStructSynapticsCapeHidHdr, fu_struct_synaptics_cape_hid_hdr_unref)
FuStructSynapticsCapeHidHdr *fu_struct_synaptics_cape_hid_hdr_new(void) G_GNUC_WARN_UNUSED_RESULT;
FuStructSynapticsCapeHidHdr *fu_struct_synaptics_cape_hid_hdr_parse_stream(GInputStream *stream, gsize offset, GError **error) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint32 fu_struct_synaptics_cape_hid_hdr_get_vid(const FuStructSynapticsCapeHidHdr *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint32 fu_struct_synaptics_cape_hid_hdr_get_pid(const FuStructSynapticsCapeHidHdr *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint32 fu_struct_synaptics_cape_hid_hdr_get_update_type(const FuStructSynapticsCapeHidHdr *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint32 fu_struct_synaptics_cape_hid_hdr_get_crc(const FuStructSynapticsCapeHidHdr *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint16 fu_struct_synaptics_cape_hid_hdr_get_ver_w(const FuStructSynapticsCapeHidHdr *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint16 fu_struct_synaptics_cape_hid_hdr_get_ver_x(const FuStructSynapticsCapeHidHdr *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint16 fu_struct_synaptics_cape_hid_hdr_get_ver_y(const FuStructSynapticsCapeHidHdr *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint16 fu_struct_synaptics_cape_hid_hdr_get_ver_z(const FuStructSynapticsCapeHidHdr *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
void fu_struct_synaptics_cape_hid_hdr_set_vid(FuStructSynapticsCapeHidHdr *st, guint32 value) G_GNUC_NON_NULL(1);
void fu_struct_synaptics_cape_hid_hdr_set_pid(FuStructSynapticsCapeHidHdr *st, guint32 value) G_GNUC_NON_NULL(1);
void fu_struct_synaptics_cape_hid_hdr_set_update_type(FuStructSynapticsCapeHidHdr *st, guint32 value) G_GNUC_NON_NULL(1);
void fu_struct_synaptics_cape_hid_hdr_set_crc(FuStructSynapticsCapeHidHdr *st, guint32 value) G_GNUC_NON_NULL(1);
void fu_struct_synaptics_cape_hid_hdr_set_ver_w(FuStructSynapticsCapeHidHdr *st, guint16 value) G_GNUC_NON_NULL(1);
void fu_struct_synaptics_cape_hid_hdr_set_ver_x(FuStructSynapticsCapeHidHdr *st, guint16 value) G_GNUC_NON_NULL(1);
void fu_struct_synaptics_cape_hid_hdr_set_ver_y(FuStructSynapticsCapeHidHdr *st, guint16 value) G_GNUC_NON_NULL(1);
void fu_struct_synaptics_cape_hid_hdr_set_ver_z(FuStructSynapticsCapeHidHdr *st, guint16 value) G_GNUC_NON_NULL(1);

#ifndef __GI_SCANNER__
#define FU_STRUCT_SYNAPTICS_CAPE_HID_HDR_OFFSET_VID 0x0
#define FU_STRUCT_SYNAPTICS_CAPE_HID_HDR_OFFSET_PID 0x4
#define FU_STRUCT_SYNAPTICS_CAPE_HID_HDR_OFFSET_UPDATE_TYPE 0x8
#define FU_STRUCT_SYNAPTICS_CAPE_HID_HDR_OFFSET_SIGNATURE 0xC
#define FU_STRUCT_SYNAPTICS_CAPE_HID_HDR_OFFSET_CRC 0x10
#define FU_STRUCT_SYNAPTICS_CAPE_HID_HDR_OFFSET_VER_W 0x14
#define FU_STRUCT_SYNAPTICS_CAPE_HID_HDR_OFFSET_VER_X 0x16
#define FU_STRUCT_SYNAPTICS_CAPE_HID_HDR_OFFSET_VER_Y 0x18
#define FU_STRUCT_SYNAPTICS_CAPE_HID_HDR_OFFSET_VER_Z 0x1A
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_SYNAPTICS_CAPE_HID_HDR_SIZE 0x20
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_SYNAPTICS_CAPE_HID_HDR_DEFAULT_SIGNATURE 0x43534645
#endif
typedef struct {
  GByteArray *buf;
  guint refcount;
} FuStructSynapticsCapeSnglHdr;

FuStructSynapticsCapeSnglHdr *fu_struct_synaptics_cape_sngl_hdr_ref(FuStructSynapticsCapeSnglHdr *st) G_GNUC_NON_NULL(1);
void fu_struct_synaptics_cape_sngl_hdr_unref(FuStructSynapticsCapeSnglHdr *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuStructSynapticsCapeSnglHdr, fu_struct_synaptics_cape_sngl_hdr_unref)
FuStructSynapticsCapeSnglHdr *fu_struct_synaptics_cape_sngl_hdr_new(void) G_GNUC_WARN_UNUSED_RESULT;
FuStructSynapticsCapeSnglHdr *fu_struct_synaptics_cape_sngl_hdr_parse_stream(GInputStream *stream, gsize offset, GError **error) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint32 fu_struct_synaptics_cape_sngl_hdr_get_file_crc(const FuStructSynapticsCapeSnglHdr *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint32 fu_struct_synaptics_cape_sngl_hdr_get_file_size(const FuStructSynapticsCapeSnglHdr *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint32 fu_struct_synaptics_cape_sngl_hdr_get_magic2(const FuStructSynapticsCapeSnglHdr *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint32 fu_struct_synaptics_cape_sngl_hdr_get_img_type(const FuStructSynapticsCapeSnglHdr *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint32 fu_struct_synaptics_cape_sngl_hdr_get_fw_version(const FuStructSynapticsCapeSnglHdr *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint16 fu_struct_synaptics_cape_sngl_hdr_get_vid(const FuStructSynapticsCapeSnglHdr *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint16 fu_struct_synaptics_cape_sngl_hdr_get_pid(const FuStructSynapticsCapeSnglHdr *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint32 fu_struct_synaptics_cape_sngl_hdr_get_fw_file_num(const FuStructSynapticsCapeSnglHdr *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint32 fu_struct_synaptics_cape_sngl_hdr_get_version(const FuStructSynapticsCapeSnglHdr *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint32 fu_struct_synaptics_cape_sngl_hdr_get_fw_crc(const FuStructSynapticsCapeSnglHdr *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
gchar *fu_struct_synaptics_cape_sngl_hdr_get_machine_name(const FuStructSynapticsCapeSnglHdr *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
gchar *fu_struct_synaptics_cape_sngl_hdr_get_time_stamp(const FuStructSynapticsCapeSnglHdr *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
void fu_struct_synaptics_cape_sngl_hdr_set_file_crc(FuStructSynapticsCapeSnglHdr *st, guint32 value) G_GNUC_NON_NULL(1);
void fu_struct_synaptics_cape_sngl_hdr_set_file_size(FuStructSynapticsCapeSnglHdr *st, guint32 value) G_GNUC_NON_NULL(1);
void fu_struct_synaptics_cape_sngl_hdr_set_magic2(FuStructSynapticsCapeSnglHdr *st, guint32 value) G_GNUC_NON_NULL(1);
void fu_struct_synaptics_cape_sngl_hdr_set_img_type(FuStructSynapticsCapeSnglHdr *st, guint32 value) G_GNUC_NON_NULL(1);
void fu_struct_synaptics_cape_sngl_hdr_set_fw_version(FuStructSynapticsCapeSnglHdr *st, guint32 value) G_GNUC_NON_NULL(1);
void fu_struct_synaptics_cape_sngl_hdr_set_vid(FuStructSynapticsCapeSnglHdr *st, guint16 value) G_GNUC_NON_NULL(1);
void fu_struct_synaptics_cape_sngl_hdr_set_pid(FuStructSynapticsCapeSnglHdr *st, guint16 value) G_GNUC_NON_NULL(1);
void fu_struct_synaptics_cape_sngl_hdr_set_fw_file_num(FuStructSynapticsCapeSnglHdr *st, guint32 value) G_GNUC_NON_NULL(1);
void fu_struct_synaptics_cape_sngl_hdr_set_version(FuStructSynapticsCapeSnglHdr *st, guint32 value) G_GNUC_NON_NULL(1);
void fu_struct_synaptics_cape_sngl_hdr_set_fw_crc(FuStructSynapticsCapeSnglHdr *st, guint32 value) G_GNUC_NON_NULL(1);
gboolean fu_struct_synaptics_cape_sngl_hdr_set_machine_name(FuStructSynapticsCapeSnglHdr *st, const gchar *value, GError **error) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
gboolean fu_struct_synaptics_cape_sngl_hdr_set_time_stamp(FuStructSynapticsCapeSnglHdr *st, const gchar *value, GError **error) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;

#ifndef __GI_SCANNER__
#define FU_STRUCT_SYNAPTICS_CAPE_SNGL_HDR_OFFSET_MAGIC 0x0
#define FU_STRUCT_SYNAPTICS_CAPE_SNGL_HDR_OFFSET_FILE_CRC 0x4
#define FU_STRUCT_SYNAPTICS_CAPE_SNGL_HDR_OFFSET_FILE_SIZE 0x8
#define FU_STRUCT_SYNAPTICS_CAPE_SNGL_HDR_OFFSET_MAGIC2 0xC
#define FU_STRUCT_SYNAPTICS_CAPE_SNGL_HDR_OFFSET_IMG_TYPE 0x10
#define FU_STRUCT_SYNAPTICS_CAPE_SNGL_HDR_OFFSET_FW_VERSION 0x14
#define FU_STRUCT_SYNAPTICS_CAPE_SNGL_HDR_OFFSET_VID 0x18
#define FU_STRUCT_SYNAPTICS_CAPE_SNGL_HDR_OFFSET_PID 0x1A
#define FU_STRUCT_SYNAPTICS_CAPE_SNGL_HDR_OFFSET_FW_FILE_NUM 0x1C
#define FU_STRUCT_SYNAPTICS_CAPE_SNGL_HDR_OFFSET_VERSION 0x20
#define FU_STRUCT_SYNAPTICS_CAPE_SNGL_HDR_OFFSET_FW_CRC 0x24
#define FU_STRUCT_SYNAPTICS_CAPE_SNGL_HDR_OFFSET_MACHINE_NAME 0x30
#define FU_STRUCT_SYNAPTICS_CAPE_SNGL_HDR_OFFSET_TIME_STAMP 0x40
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_SYNAPTICS_CAPE_SNGL_HDR_SIZE_MACHINE_NAME 0x10
#define FU_STRUCT_SYNAPTICS_CAPE_SNGL_HDR_N_ELEMENTS_MACHINE_NAME 16
#define FU_STRUCT_SYNAPTICS_CAPE_SNGL_HDR_SIZE_TIME_STAMP 0x10
#define FU_STRUCT_SYNAPTICS_CAPE_SNGL_HDR_N_ELEMENTS_TIME_STAMP 16
#define FU_STRUCT_SYNAPTICS_CAPE_SNGL_HDR_SIZE 0x50
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_SYNAPTICS_CAPE_SNGL_HDR_DEFAULT_MAGIC 0x4C474E53
#endif
typedef struct {
  GByteArray *buf;
  guint refcount;
} FuStructSynapticsCapeSnglFile;

FuStructSynapticsCapeSnglFile *fu_struct_synaptics_cape_sngl_file_ref(FuStructSynapticsCapeSnglFile *st) G_GNUC_NON_NULL(1);
void fu_struct_synaptics_cape_sngl_file_unref(FuStructSynapticsCapeSnglFile *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuStructSynapticsCapeSnglFile, fu_struct_synaptics_cape_sngl_file_unref)

#ifndef __GI_SCANNER__
#define FU_STRUCT_SYNAPTICS_CAPE_SNGL_FILE_OFFSET_ID 0x0
#define FU_STRUCT_SYNAPTICS_CAPE_SNGL_FILE_OFFSET_CRC 0x4
#define FU_STRUCT_SYNAPTICS_CAPE_SNGL_FILE_OFFSET_FILE 0x8
#define FU_STRUCT_SYNAPTICS_CAPE_SNGL_FILE_OFFSET_SIZE 0xC
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_SYNAPTICS_CAPE_SNGL_FILE_SIZE 0x10
#endif

#ifndef __GI_SCANNER__
#endif
