/* auto-generated, do not modify */
#pragma once
#include <fwupd-common.h>
typedef enum {
    FU_GOODIXTP_IC_TYPE_NONE,
    FU_GOODIXTP_IC_TYPE_PHOENIX,
    FU_GOODIXTP_IC_TYPE_TYPE_NANJING,
    FU_GOODIXTP_IC_TYPE_MOUSEPAD,
    FU_GOODIXTP_IC_TYPE_NORMANDYL,
    FU_GOODIXTP_IC_TYPE_BERLINB,
    FU_GOODIXTP_IC_TYPE_YELLOWSTONE,
} FuGoodixtpIcType;

GByteArray *fu_struct_goodix_brlb_hdr_parse_bytes(GBytes *blob, gsize offset, GError **error);
guint32 fu_struct_goodix_brlb_hdr_get_firmware_size(const GByteArray *st);
guint32 fu_struct_goodix_brlb_hdr_get_checksum(const GByteArray *st);
guint16 fu_struct_goodix_brlb_hdr_get_vid(const GByteArray *st);
guint8 fu_struct_goodix_brlb_hdr_get_subsys_num(const GByteArray *st);
#define FU_STRUCT_GOODIX_BRLB_HDR_OFFSET_FIRMWARE_SIZE 0x0
#define FU_STRUCT_GOODIX_BRLB_HDR_OFFSET_CHECKSUM 0x4
#define FU_STRUCT_GOODIX_BRLB_HDR_OFFSET_VID 0x1B
#define FU_STRUCT_GOODIX_BRLB_HDR_OFFSET_SUBSYS_NUM 0x1D
#define FU_STRUCT_GOODIX_BRLB_HDR_SIZE 0x2A

GByteArray *fu_struct_goodix_brlb_img_parse_bytes(GBytes *blob, gsize offset, GError **error);
guint8 fu_struct_goodix_brlb_img_get_kind(const GByteArray *st);
guint32 fu_struct_goodix_brlb_img_get_size(const GByteArray *st);
guint32 fu_struct_goodix_brlb_img_get_addr(const GByteArray *st);
#define FU_STRUCT_GOODIX_BRLB_IMG_OFFSET_KIND 0x0
#define FU_STRUCT_GOODIX_BRLB_IMG_OFFSET_SIZE 0x1
#define FU_STRUCT_GOODIX_BRLB_IMG_OFFSET_ADDR 0x5
#define FU_STRUCT_GOODIX_BRLB_IMG_SIZE 0xA

GByteArray *fu_struct_goodix_gtx8_hdr_parse_bytes(GBytes *blob, gsize offset, GError **error);
guint32 fu_struct_goodix_gtx8_hdr_get_firmware_size(const GByteArray *st);
guint16 fu_struct_goodix_gtx8_hdr_get_checksum(const GByteArray *st);
guint16 fu_struct_goodix_gtx8_hdr_get_vid(const GByteArray *st);
guint8 fu_struct_goodix_gtx8_hdr_get_subsys_num(const GByteArray *st);
#define FU_STRUCT_GOODIX_GTX8_HDR_OFFSET_FIRMWARE_SIZE 0x0
#define FU_STRUCT_GOODIX_GTX8_HDR_OFFSET_CHECKSUM 0x4
#define FU_STRUCT_GOODIX_GTX8_HDR_OFFSET_VID 0x19
#define FU_STRUCT_GOODIX_GTX8_HDR_OFFSET_SUBSYS_NUM 0x1B
#define FU_STRUCT_GOODIX_GTX8_HDR_SIZE 0x20

GByteArray *fu_struct_goodix_gtx8_img_parse_bytes(GBytes *blob, gsize offset, GError **error);
guint8 fu_struct_goodix_gtx8_img_get_kind(const GByteArray *st);
guint32 fu_struct_goodix_gtx8_img_get_size(const GByteArray *st);
guint16 fu_struct_goodix_gtx8_img_get_addr(const GByteArray *st);
#define FU_STRUCT_GOODIX_GTX8_IMG_OFFSET_KIND 0x0
#define FU_STRUCT_GOODIX_GTX8_IMG_OFFSET_SIZE 0x1
#define FU_STRUCT_GOODIX_GTX8_IMG_OFFSET_ADDR 0x5
#define FU_STRUCT_GOODIX_GTX8_IMG_SIZE 0x8
