/* auto-generated, do not modify */
#pragma once
#include <fwupd-common.h>

GByteArray *fu_struct_igsc_oprom_version_parse(const guint8 *buf, gsize bufsz, gsize offset, GError **error);
guint16 fu_struct_igsc_oprom_version_get_major(const GByteArray *st);
guint16 fu_struct_igsc_oprom_version_get_minor(const GByteArray *st);
guint16 fu_struct_igsc_oprom_version_get_hotfix(const GByteArray *st);
guint16 fu_struct_igsc_oprom_version_get_build(const GByteArray *st);
#define FU_STRUCT_IGSC_OPROM_VERSION_OFFSET_MAJOR 0x0
#define FU_STRUCT_IGSC_OPROM_VERSION_OFFSET_MINOR 0x2
#define FU_STRUCT_IGSC_OPROM_VERSION_OFFSET_HOTFIX 0x4
#define FU_STRUCT_IGSC_OPROM_VERSION_OFFSET_BUILD 0x6
#define FU_STRUCT_IGSC_OPROM_VERSION_SIZE 0x8

GByteArray *fu_struct_igsc_fw_version_new(void);
gchar *fu_struct_igsc_fw_version_get_project(const GByteArray *st);
guint16 fu_struct_igsc_fw_version_get_hotfix(const GByteArray *st);
guint16 fu_struct_igsc_fw_version_get_build(const GByteArray *st);
gboolean fu_struct_igsc_fw_version_set_project(GByteArray *st, const gchar *value, GError **error);
void fu_struct_igsc_fw_version_set_hotfix(GByteArray *st, guint16 value);
void fu_struct_igsc_fw_version_set_build(GByteArray *st, guint16 value);
#define FU_STRUCT_IGSC_FW_VERSION_OFFSET_PROJECT 0x0
#define FU_STRUCT_IGSC_FW_VERSION_OFFSET_HOTFIX 0x4
#define FU_STRUCT_IGSC_FW_VERSION_OFFSET_BUILD 0x6
#define FU_STRUCT_IGSC_FW_VERSION_SIZE_PROJECT 0x4
#define FU_STRUCT_IGSC_FW_VERSION_SIZE 0x8

GByteArray *fu_struct_igsc_oprom_subsystem_device_id_parse_bytes(GBytes *blob, gsize offset, GError **error);
guint16 fu_struct_igsc_oprom_subsystem_device_id_get_subsys_vendor_id(const GByteArray *st);
guint16 fu_struct_igsc_oprom_subsystem_device_id_get_subsys_device_id(const GByteArray *st);
#define FU_STRUCT_IGSC_OPROM_SUBSYSTEM_DEVICE_ID_OFFSET_SUBSYS_VENDOR_ID 0x0
#define FU_STRUCT_IGSC_OPROM_SUBSYSTEM_DEVICE_ID_OFFSET_SUBSYS_DEVICE_ID 0x2
#define FU_STRUCT_IGSC_OPROM_SUBSYSTEM_DEVICE_ID_SIZE 0x4

GByteArray *fu_struct_igsc_oprom_subsystem_device4_id_parse_bytes(GBytes *blob, gsize offset, GError **error);
guint16 fu_struct_igsc_oprom_subsystem_device4_id_get_vendor_id(const GByteArray *st);
guint16 fu_struct_igsc_oprom_subsystem_device4_id_get_device_id(const GByteArray *st);
guint16 fu_struct_igsc_oprom_subsystem_device4_id_get_subsys_vendor_id(const GByteArray *st);
guint16 fu_struct_igsc_oprom_subsystem_device4_id_get_subsys_device_id(const GByteArray *st);
#define FU_STRUCT_IGSC_OPROM_SUBSYSTEM_DEVICE4_ID_OFFSET_VENDOR_ID 0x0
#define FU_STRUCT_IGSC_OPROM_SUBSYSTEM_DEVICE4_ID_OFFSET_DEVICE_ID 0x2
#define FU_STRUCT_IGSC_OPROM_SUBSYSTEM_DEVICE4_ID_OFFSET_SUBSYS_VENDOR_ID 0x4
#define FU_STRUCT_IGSC_OPROM_SUBSYSTEM_DEVICE4_ID_OFFSET_SUBSYS_DEVICE_ID 0x6
#define FU_STRUCT_IGSC_OPROM_SUBSYSTEM_DEVICE4_ID_SIZE 0x8

GByteArray *fu_struct_igsc_fwu_gws_image_info_parse_bytes(GBytes *blob, gsize offset, GError **error);
guint32 fu_struct_igsc_fwu_gws_image_info_get_instance_id(const GByteArray *st);
#define FU_STRUCT_IGSC_FWU_GWS_IMAGE_INFO_OFFSET_FORMAT_VERSION 0x0
#define FU_STRUCT_IGSC_FWU_GWS_IMAGE_INFO_OFFSET_INSTANCE_ID 0x4
#define FU_STRUCT_IGSC_FWU_GWS_IMAGE_INFO_SIZE 0x40
#define FU_STRUCT_IGSC_FWU_GWS_IMAGE_INFO_DEFAULT_FORMAT_VERSION 0x1

guint16 fu_struct_igsc_fwu_fw_image_data_get_version_major(const GByteArray *st);
guint16 fu_struct_igsc_fwu_fw_image_data_get_version_minor(const GByteArray *st);
guint16 fu_struct_igsc_fwu_fw_image_data_get_version_hotfix(const GByteArray *st);
guint16 fu_struct_igsc_fwu_fw_image_data_get_version_build(const GByteArray *st);
guint16 fu_struct_igsc_fwu_fw_image_data_get_flags(const GByteArray *st);
guint8 fu_struct_igsc_fwu_fw_image_data_get_fw_type(const GByteArray *st);
guint8 fu_struct_igsc_fwu_fw_image_data_get_fw_sub_type(const GByteArray *st);
guint32 fu_struct_igsc_fwu_fw_image_data_get_arb_svn(const GByteArray *st);
guint32 fu_struct_igsc_fwu_fw_image_data_get_tcb_svn(const GByteArray *st);
guint32 fu_struct_igsc_fwu_fw_image_data_get_vcn(const GByteArray *st);
#define FU_STRUCT_IGSC_FWU_FW_IMAGE_DATA_OFFSET_VERSION_MAJOR 0x0
#define FU_STRUCT_IGSC_FWU_FW_IMAGE_DATA_OFFSET_VERSION_MINOR 0x2
#define FU_STRUCT_IGSC_FWU_FW_IMAGE_DATA_OFFSET_VERSION_HOTFIX 0x4
#define FU_STRUCT_IGSC_FWU_FW_IMAGE_DATA_OFFSET_VERSION_BUILD 0x6
#define FU_STRUCT_IGSC_FWU_FW_IMAGE_DATA_OFFSET_FLAGS 0x8
#define FU_STRUCT_IGSC_FWU_FW_IMAGE_DATA_OFFSET_FW_TYPE 0xA
#define FU_STRUCT_IGSC_FWU_FW_IMAGE_DATA_OFFSET_FW_SUB_TYPE 0xB
#define FU_STRUCT_IGSC_FWU_FW_IMAGE_DATA_OFFSET_ARB_SVN 0xC
#define FU_STRUCT_IGSC_FWU_FW_IMAGE_DATA_OFFSET_TCB_SVN 0x10
#define FU_STRUCT_IGSC_FWU_FW_IMAGE_DATA_OFFSET_VCN 0x14
#define FU_STRUCT_IGSC_FWU_FW_IMAGE_DATA_SIZE 0x18

guint32 fu_struct_igsc_fwu_iup_data_get_iup_name(const GByteArray *st);
guint16 fu_struct_igsc_fwu_iup_data_get_flags(const GByteArray *st);
guint32 fu_struct_igsc_fwu_iup_data_get_svn(const GByteArray *st);
guint32 fu_struct_igsc_fwu_iup_data_get_vcn(const GByteArray *st);
#define FU_STRUCT_IGSC_FWU_IUP_DATA_OFFSET_IUP_NAME 0x0
#define FU_STRUCT_IGSC_FWU_IUP_DATA_OFFSET_FLAGS 0x4
#define FU_STRUCT_IGSC_FWU_IUP_DATA_OFFSET_SVN 0x8
#define FU_STRUCT_IGSC_FWU_IUP_DATA_OFFSET_VCN 0xC
#define FU_STRUCT_IGSC_FWU_IUP_DATA_SIZE 0x10

guint32 fu_struct_igsc_fwu_heci_image_metadata_get_version_format(const GByteArray *st);
#define FU_STRUCT_IGSC_FWU_HECI_IMAGE_METADATA_OFFSET_VERSION_FORMAT 0x0
#define FU_STRUCT_IGSC_FWU_HECI_IMAGE_METADATA_SIZE 0x4
#define FU_STRUCT_IGSC_FWU_HECI_IMAGE_METADATA_DEFAULT_VERSION_FORMAT 0x1

GByteArray *fu_struct_igsc_fwu_image_metadata_v1_parse_bytes(GBytes *blob, gsize offset, GError **error);
guint32 fu_struct_igsc_fwu_image_metadata_v1_get_version_format(const GByteArray *st);
gchar *fu_struct_igsc_fwu_image_metadata_v1_get_project(const GByteArray *st);
guint16 fu_struct_igsc_fwu_image_metadata_v1_get_version_hotfix(const GByteArray *st);
guint16 fu_struct_igsc_fwu_image_metadata_v1_get_version_build(const GByteArray *st);
#define FU_STRUCT_IGSC_FWU_IMAGE_METADATA_V1_OFFSET_VERSION_FORMAT 0x0
#define FU_STRUCT_IGSC_FWU_IMAGE_METADATA_V1_OFFSET_PROJECT 0x4
#define FU_STRUCT_IGSC_FWU_IMAGE_METADATA_V1_OFFSET_VERSION_HOTFIX 0x8
#define FU_STRUCT_IGSC_FWU_IMAGE_METADATA_V1_OFFSET_VERSION_BUILD 0xA
#define FU_STRUCT_IGSC_FWU_IMAGE_METADATA_V1_SIZE_PROJECT 0x4
#define FU_STRUCT_IGSC_FWU_IMAGE_METADATA_V1_SIZE 0xC
#define FU_STRUCT_IGSC_FWU_IMAGE_METADATA_V1_DEFAULT_VERSION_FORMAT 0x1
