/* auto-generated, do not modify */
#pragma once
#include <fwupd-common.h>
typedef enum {
    FU_CCGX_DMC_IMG_TYPE_INVALID = 0,
    FU_CCGX_DMC_IMG_TYPE_IMAGE0,
    FU_CCGX_DMC_IMG_TYPE_IMAGE1,
} FuCcgxDmcImgType;
typedef enum {
    FU_CCGX_DMC_IMG_STATUS_UNKNOWN = 0,
    FU_CCGX_DMC_IMG_STATUS_VALID,
    FU_CCGX_DMC_IMG_STATUS_INVALID,
    FU_CCGX_DMC_IMG_STATUS_RECOVERY,
    FU_CCGX_DMC_IMG_STATUS_RECOVERED_FROM_SECONDARY,
    FU_CCGX_DMC_IMG_STATUS_NOT_SUPPORTED = 0x0F,
} FuCcgxDmcImgStatus;
const gchar *fu_ccgx_dmc_img_status_to_string(FuCcgxDmcImgStatus val);
typedef enum {
    FU_CCGX_DMC_IMG_MODE_SINGLE_IMG = 0,
    FU_CCGX_DMC_IMG_MODE_DUAL_IMG_SYM,
    FU_CCGX_DMC_IMG_MODE_DUAL_IMG_ASYM,
    FU_CCGX_DMC_IMG_MODE_SINGLE_IMG_WITH_RAM_IMG,
    FU_CCGX_DMC_IMG_MODE_LAST,
} FuCcgxDmcImgMode;
const gchar *fu_ccgx_dmc_img_mode_to_string(FuCcgxDmcImgMode val);
typedef enum {
    FU_CCGX_DMC_DEVICE_STATUS_IDLE = 0,
    FU_CCGX_DMC_DEVICE_STATUS_UPDATE_PHASE1_IN_PROGRESS,
    FU_CCGX_DMC_DEVICE_STATUS_UPDATE_PHASE1_PARTIAL,
    FU_CCGX_DMC_DEVICE_STATUS_UPDATE_COMPLETE_FULL,
    FU_CCGX_DMC_DEVICE_STATUS_UPDATE_PHASE1_COMPLETE_PARTIAL,
    FU_CCGX_DMC_DEVICE_STATUS_UPDATE_PHASE1_COMPLETE_FULL_PHASE2_NOT_DONE,
    FU_CCGX_DMC_DEVICE_STATUS_FW_DOWNLOADED_UPDATE_PEND,
    FU_CCGX_DMC_DEVICE_STATUS_FW_DOWNLOADED_PARTIAL_UPDATE_PEND,
    FU_CCGX_DMC_DEVICE_STATUS_PHASE2_UPDATE_IN_PROGRESS = 0x81,
    FU_CCGX_DMC_DEVICE_STATUS_PHASE2_UPDATE_PARTIAL,
    FU_CCGX_DMC_DEVICE_STATUS_PHASE2_UPDATE_FACTORY_BACKUP,
    FU_CCGX_DMC_DEVICE_STATUS_PHASE2_UPDATE_COMPLETE_PARTIAL,
    FU_CCGX_DMC_DEVICE_STATUS_PHASE2_UPDATE_COMPLETE_FULL,
    FU_CCGX_DMC_DEVICE_STATUS_PHASE2_UPDATE_FAIL_INVALID_FWCT,
    FU_CCGX_DMC_DEVICE_STATUS_PHASE2_UPDATE_FAIL_INVALID_DOCK_IDENTITY,
    FU_CCGX_DMC_DEVICE_STATUS_PHASE2_UPDATE_FAIL_INVALID_COMPOSITE_VER,
    FU_CCGX_DMC_DEVICE_STATUS_PHASE2_UPDATE_FAIL_AUTHENTICATION_FAILED,
    FU_CCGX_DMC_DEVICE_STATUS_PHASE2_UPDATE_FAIL_INVALID_ALGORITHM,
    FU_CCGX_DMC_DEVICE_STATUS_PHASE2_UPDATE_FAIL_SPI_READ_FAILED,
    FU_CCGX_DMC_DEVICE_STATUS_PHASE2_UPDATE_FAIL_NO_VALID_KEY,
    FU_CCGX_DMC_DEVICE_STATUS_PHASE2_UPDATE_FAIL_NO_VALID_SPI_PACKAGE,
    FU_CCGX_DMC_DEVICE_STATUS_PHASE2_UPDATE_FAIL_RAM_INIT_FAILED,
    FU_CCGX_DMC_DEVICE_STATUS_PHASE2_UPDATE_FAIL_FACTORY_BACKUP_FAILED,
    FU_CCGX_DMC_DEVICE_STATUS_PHASE2_UPDATE_FAIL_NO_VALID_FACTORY_PACKAGE,
    FU_CCGX_DMC_DEVICE_STATUS_UPDATE_FAIL = 0xff,
} FuCcgxDmcDeviceStatus;
const gchar *fu_ccgx_dmc_device_status_to_string(FuCcgxDmcDeviceStatus val);
typedef enum {
    FU_CCGX_DMC_DEVX_DEVICE_TYPE_INVALID = 0x00,
    FU_CCGX_DMC_DEVX_DEVICE_TYPE_CCG3 = 0x01,
    FU_CCGX_DMC_DEVX_DEVICE_TYPE_DMC = 0x02,
    FU_CCGX_DMC_DEVX_DEVICE_TYPE_CCG4 = 0x03,
    FU_CCGX_DMC_DEVX_DEVICE_TYPE_CCG5 = 0x04,
    FU_CCGX_DMC_DEVX_DEVICE_TYPE_HX3 = 0x05,
    FU_CCGX_DMC_DEVX_DEVICE_TYPE_HX3_PD = 0x0A,
    FU_CCGX_DMC_DEVX_DEVICE_TYPE_DMC_PD = 0x0B,
    FU_CCGX_DMC_DEVX_DEVICE_TYPE_SPI = 0xFF,
} FuCcgxDmcDevxDeviceType;
const gchar *fu_ccgx_dmc_devx_device_type_to_string(FuCcgxDmcDevxDeviceType val);
typedef enum {
    FU_CCGX_DMC_RQT_CODE_UPGRADE_START = 0xD0,
    FU_CCGX_DMC_RQT_CODE_RESERV0,
    FU_CCGX_DMC_RQT_CODE_FWCT_WRITE,
    FU_CCGX_DMC_RQT_CODE_IMG_WRITE,
    FU_CCGX_DMC_RQT_CODE_RESERV1,
    FU_CCGX_DMC_RQT_CODE_RESERV2,
    FU_CCGX_DMC_RQT_CODE_DOCK_STATUS,
    FU_CCGX_DMC_RQT_CODE_DOCK_IDENTITY,
    FU_CCGX_DMC_RQT_CODE_RESET_STATE_MACHINE,
    FU_CCGX_DMC_RQT_CODE_SOFT_RESET = 0xDC,
    FU_CCGX_DMC_RQT_CODE_TRIGGER = 0xDA,
} FuCcgxDmcRqtCode;
typedef enum {
    FU_CCGX_DMC_INT_OPCODE_FW_UPGRADE_RQT = 1,
    FU_CCGX_DMC_INT_OPCODE_FW_UPGRADE_STATUS = 0x80,
    FU_CCGX_DMC_INT_OPCODE_IMG_WRITE_STATUS,
    FU_CCGX_DMC_INT_OPCODE_REENUM,
    FU_CCGX_DMC_INT_OPCODE_FWCT_ANALYSIS_STATUS,
} FuCcgxDmcIntOpcode;
const gchar *fu_ccgx_dmc_int_opcode_to_string(FuCcgxDmcIntOpcode val);
typedef enum {
    FU_CCGX_DMC_FWCT_ANALYSIS_STATUS_INVALID_FWCT = 0,
    FU_CCGX_DMC_FWCT_ANALYSIS_STATUS_INVALID_DOCK_IDENTITY,
    FU_CCGX_DMC_FWCT_ANALYSIS_STATUS_INVALID_COMPOSITE_VERSION,
    FU_CCGX_DMC_FWCT_ANALYSIS_STATUS_AUTHENTICATION_FAILED,
    FU_CCGX_DMC_FWCT_ANALYSIS_STATUS_INVALID_ALGORITHM,
    FU_CCGX_DMC_FWCT_ANALYSIS_STATUS_INVALID_FENCE,
} FuCcgxDmcFwctAnalysisStatus;
const gchar *fu_ccgx_dmc_fwct_analysis_status_to_string(FuCcgxDmcFwctAnalysisStatus val);
typedef enum {
    FU_CCGX_DMC_UPDATE_MODEL_NONE = 0,
    FU_CCGX_DMC_UPDATE_MODEL_DOWNLOAD_TRIGGER,
    FU_CCGX_DMC_UPDATE_MODEL_PENDING_RESET,
} FuCcgxDmcUpdateModel;
const gchar *fu_ccgx_dmc_update_model_to_string(FuCcgxDmcUpdateModel val);

GByteArray *fu_struct_ccgx_dmc_dock_identity_new(void);
guint8 fu_struct_ccgx_dmc_dock_identity_get_structure_version(const GByteArray *st);
guint8 fu_struct_ccgx_dmc_dock_identity_get_cdtt_version(const GByteArray *st);
guint16 fu_struct_ccgx_dmc_dock_identity_get_vid(const GByteArray *st);
guint16 fu_struct_ccgx_dmc_dock_identity_get_pid(const GByteArray *st);
guint16 fu_struct_ccgx_dmc_dock_identity_get_device_id(const GByteArray *st);
gchar *fu_struct_ccgx_dmc_dock_identity_get_vendor_string(const GByteArray *st);
gchar *fu_struct_ccgx_dmc_dock_identity_get_product_string(const GByteArray *st);
guint8 fu_struct_ccgx_dmc_dock_identity_get_custom_meta_data_flag(const GByteArray *st);
guint8 fu_struct_ccgx_dmc_dock_identity_get_model(const GByteArray *st);
void fu_struct_ccgx_dmc_dock_identity_set_structure_version(GByteArray *st, guint8 value);
void fu_struct_ccgx_dmc_dock_identity_set_cdtt_version(GByteArray *st, guint8 value);
void fu_struct_ccgx_dmc_dock_identity_set_vid(GByteArray *st, guint16 value);
void fu_struct_ccgx_dmc_dock_identity_set_pid(GByteArray *st, guint16 value);
void fu_struct_ccgx_dmc_dock_identity_set_device_id(GByteArray *st, guint16 value);
gboolean fu_struct_ccgx_dmc_dock_identity_set_vendor_string(GByteArray *st, const gchar *value, GError **error);
gboolean fu_struct_ccgx_dmc_dock_identity_set_product_string(GByteArray *st, const gchar *value, GError **error);
void fu_struct_ccgx_dmc_dock_identity_set_custom_meta_data_flag(GByteArray *st, guint8 value);
void fu_struct_ccgx_dmc_dock_identity_set_model(GByteArray *st, guint8 value);
#define FU_STRUCT_CCGX_DMC_DOCK_IDENTITY_OFFSET_STRUCTURE_VERSION 0x0
#define FU_STRUCT_CCGX_DMC_DOCK_IDENTITY_OFFSET_CDTT_VERSION 0x1
#define FU_STRUCT_CCGX_DMC_DOCK_IDENTITY_OFFSET_VID 0x2
#define FU_STRUCT_CCGX_DMC_DOCK_IDENTITY_OFFSET_PID 0x4
#define FU_STRUCT_CCGX_DMC_DOCK_IDENTITY_OFFSET_DEVICE_ID 0x6
#define FU_STRUCT_CCGX_DMC_DOCK_IDENTITY_OFFSET_VENDOR_STRING 0x8
#define FU_STRUCT_CCGX_DMC_DOCK_IDENTITY_OFFSET_PRODUCT_STRING 0x28
#define FU_STRUCT_CCGX_DMC_DOCK_IDENTITY_OFFSET_CUSTOM_META_DATA_FLAG 0x48
#define FU_STRUCT_CCGX_DMC_DOCK_IDENTITY_OFFSET_MODEL 0x49
#define FU_STRUCT_CCGX_DMC_DOCK_IDENTITY_SIZE_VENDOR_STRING 0x20
#define FU_STRUCT_CCGX_DMC_DOCK_IDENTITY_SIZE_PRODUCT_STRING 0x20
#define FU_STRUCT_CCGX_DMC_DOCK_IDENTITY_SIZE 0x4A

GByteArray *fu_struct_ccgx_dmc_devx_status_parse(const guint8 *buf, gsize bufsz, gsize offset, GError **error);
FuCcgxDmcDevxDeviceType fu_struct_ccgx_dmc_devx_status_get_device_type(const GByteArray *st);
guint8 fu_struct_ccgx_dmc_devx_status_get_component_id(const GByteArray *st);
FuCcgxDmcImgMode fu_struct_ccgx_dmc_devx_status_get_image_mode(const GByteArray *st);
guint8 fu_struct_ccgx_dmc_devx_status_get_current_image(const GByteArray *st);
guint8 fu_struct_ccgx_dmc_devx_status_get_img_status(const GByteArray *st);
const guint8 *fu_struct_ccgx_dmc_devx_status_get_fw_version(const GByteArray *st, gsize *bufsz);
#define FU_STRUCT_CCGX_DMC_DEVX_STATUS_OFFSET_DEVICE_TYPE 0x0
#define FU_STRUCT_CCGX_DMC_DEVX_STATUS_OFFSET_COMPONENT_ID 0x1
#define FU_STRUCT_CCGX_DMC_DEVX_STATUS_OFFSET_IMAGE_MODE 0x2
#define FU_STRUCT_CCGX_DMC_DEVX_STATUS_OFFSET_CURRENT_IMAGE 0x3
#define FU_STRUCT_CCGX_DMC_DEVX_STATUS_OFFSET_IMG_STATUS 0x4
#define FU_STRUCT_CCGX_DMC_DEVX_STATUS_OFFSET_FW_VERSION 0x8
#define FU_STRUCT_CCGX_DMC_DEVX_STATUS_SIZE_FW_VERSION 0x18
#define FU_STRUCT_CCGX_DMC_DEVX_STATUS_SIZE 0x20

GByteArray *fu_struct_ccgx_dmc_dock_status_new(void);
FuCcgxDmcDeviceStatus fu_struct_ccgx_dmc_dock_status_get_device_status(const GByteArray *st);
guint8 fu_struct_ccgx_dmc_dock_status_get_device_count(const GByteArray *st);
guint16 fu_struct_ccgx_dmc_dock_status_get_status_length(const GByteArray *st);
guint32 fu_struct_ccgx_dmc_dock_status_get_composite_version(const GByteArray *st);
void fu_struct_ccgx_dmc_dock_status_set_device_status(GByteArray *st, FuCcgxDmcDeviceStatus value);
void fu_struct_ccgx_dmc_dock_status_set_device_count(GByteArray *st, guint8 value);
void fu_struct_ccgx_dmc_dock_status_set_status_length(GByteArray *st, guint16 value);
void fu_struct_ccgx_dmc_dock_status_set_composite_version(GByteArray *st, guint32 value);
#define FU_STRUCT_CCGX_DMC_DOCK_STATUS_OFFSET_DEVICE_STATUS 0x0
#define FU_STRUCT_CCGX_DMC_DOCK_STATUS_OFFSET_DEVICE_COUNT 0x1
#define FU_STRUCT_CCGX_DMC_DOCK_STATUS_OFFSET_STATUS_LENGTH 0x2
#define FU_STRUCT_CCGX_DMC_DOCK_STATUS_OFFSET_COMPOSITE_VERSION 0x4
#define FU_STRUCT_CCGX_DMC_DOCK_STATUS_SIZE 0x8

GByteArray *fu_struct_ccgx_dmc_int_rqt_new(void);
FuCcgxDmcIntOpcode fu_struct_ccgx_dmc_int_rqt_get_opcode(const GByteArray *st);
guint8 fu_struct_ccgx_dmc_int_rqt_get_length(const GByteArray *st);
const guint8 *fu_struct_ccgx_dmc_int_rqt_get_data(const GByteArray *st, gsize *bufsz);
void fu_struct_ccgx_dmc_int_rqt_set_opcode(GByteArray *st, FuCcgxDmcIntOpcode value);
void fu_struct_ccgx_dmc_int_rqt_set_length(GByteArray *st, guint8 value);
gboolean fu_struct_ccgx_dmc_int_rqt_set_data(GByteArray *st, const guint8 *buf, gsize bufsz, GError **error);
#define FU_STRUCT_CCGX_DMC_INT_RQT_OFFSET_OPCODE 0x0
#define FU_STRUCT_CCGX_DMC_INT_RQT_OFFSET_LENGTH 0x1
#define FU_STRUCT_CCGX_DMC_INT_RQT_OFFSET_DATA 0x2
#define FU_STRUCT_CCGX_DMC_INT_RQT_SIZE_DATA 0x8
#define FU_STRUCT_CCGX_DMC_INT_RQT_SIZE 0xA

GByteArray *fu_struct_ccgx_dmc_fwct_info_new(void);
GByteArray *fu_struct_ccgx_dmc_fwct_info_parse(const guint8 *buf, gsize bufsz, gsize offset, GError **error);
gboolean fu_struct_ccgx_dmc_fwct_info_validate_bytes(GBytes *blob, gsize offset, GError **error);
guint16 fu_struct_ccgx_dmc_fwct_info_get_size(const GByteArray *st);
guint8 fu_struct_ccgx_dmc_fwct_info_get_checksum(const GByteArray *st);
guint8 fu_struct_ccgx_dmc_fwct_info_get_version(const GByteArray *st);
guint8 fu_struct_ccgx_dmc_fwct_info_get_custom_meta_type(const GByteArray *st);
guint8 fu_struct_ccgx_dmc_fwct_info_get_cdtt_version(const GByteArray *st);
guint16 fu_struct_ccgx_dmc_fwct_info_get_vid(const GByteArray *st);
guint16 fu_struct_ccgx_dmc_fwct_info_get_pid(const GByteArray *st);
guint16 fu_struct_ccgx_dmc_fwct_info_get_device_id(const GByteArray *st);
guint32 fu_struct_ccgx_dmc_fwct_info_get_composite_version(const GByteArray *st);
guint8 fu_struct_ccgx_dmc_fwct_info_get_image_count(const GByteArray *st);
void fu_struct_ccgx_dmc_fwct_info_set_size(GByteArray *st, guint16 value);
void fu_struct_ccgx_dmc_fwct_info_set_checksum(GByteArray *st, guint8 value);
void fu_struct_ccgx_dmc_fwct_info_set_version(GByteArray *st, guint8 value);
void fu_struct_ccgx_dmc_fwct_info_set_custom_meta_type(GByteArray *st, guint8 value);
void fu_struct_ccgx_dmc_fwct_info_set_cdtt_version(GByteArray *st, guint8 value);
void fu_struct_ccgx_dmc_fwct_info_set_vid(GByteArray *st, guint16 value);
void fu_struct_ccgx_dmc_fwct_info_set_pid(GByteArray *st, guint16 value);
void fu_struct_ccgx_dmc_fwct_info_set_device_id(GByteArray *st, guint16 value);
void fu_struct_ccgx_dmc_fwct_info_set_composite_version(GByteArray *st, guint32 value);
void fu_struct_ccgx_dmc_fwct_info_set_image_count(GByteArray *st, guint8 value);
#define FU_STRUCT_CCGX_DMC_FWCT_INFO_OFFSET_SIGNATURE 0x0
#define FU_STRUCT_CCGX_DMC_FWCT_INFO_OFFSET_SIZE 0x4
#define FU_STRUCT_CCGX_DMC_FWCT_INFO_OFFSET_CHECKSUM 0x6
#define FU_STRUCT_CCGX_DMC_FWCT_INFO_OFFSET_VERSION 0x7
#define FU_STRUCT_CCGX_DMC_FWCT_INFO_OFFSET_CUSTOM_META_TYPE 0x8
#define FU_STRUCT_CCGX_DMC_FWCT_INFO_OFFSET_CDTT_VERSION 0x9
#define FU_STRUCT_CCGX_DMC_FWCT_INFO_OFFSET_VID 0xA
#define FU_STRUCT_CCGX_DMC_FWCT_INFO_OFFSET_PID 0xC
#define FU_STRUCT_CCGX_DMC_FWCT_INFO_OFFSET_DEVICE_ID 0xE
#define FU_STRUCT_CCGX_DMC_FWCT_INFO_OFFSET_COMPOSITE_VERSION 0x20
#define FU_STRUCT_CCGX_DMC_FWCT_INFO_OFFSET_IMAGE_COUNT 0x24
#define FU_STRUCT_CCGX_DMC_FWCT_INFO_SIZE 0x28
#define FU_STRUCT_CCGX_DMC_FWCT_INFO_DEFAULT_SIGNATURE 0x54435746

GByteArray *fu_struct_ccgx_dmc_fwct_image_info_new(void);
GByteArray *fu_struct_ccgx_dmc_fwct_image_info_parse(const guint8 *buf, gsize bufsz, gsize offset, GError **error);
guint8 fu_struct_ccgx_dmc_fwct_image_info_get_device_type(const GByteArray *st);
guint8 fu_struct_ccgx_dmc_fwct_image_info_get_img_type(const GByteArray *st);
guint8 fu_struct_ccgx_dmc_fwct_image_info_get_comp_id(const GByteArray *st);
guint8 fu_struct_ccgx_dmc_fwct_image_info_get_row_size(const GByteArray *st);
guint32 fu_struct_ccgx_dmc_fwct_image_info_get_fw_version(const GByteArray *st);
guint32 fu_struct_ccgx_dmc_fwct_image_info_get_app_version(const GByteArray *st);
guint32 fu_struct_ccgx_dmc_fwct_image_info_get_img_offset(const GByteArray *st);
guint32 fu_struct_ccgx_dmc_fwct_image_info_get_img_size(const GByteArray *st);
const guint8 *fu_struct_ccgx_dmc_fwct_image_info_get_img_digest(const GByteArray *st, gsize *bufsz);
guint8 fu_struct_ccgx_dmc_fwct_image_info_get_num_img_segments(const GByteArray *st);
void fu_struct_ccgx_dmc_fwct_image_info_set_device_type(GByteArray *st, guint8 value);
void fu_struct_ccgx_dmc_fwct_image_info_set_img_type(GByteArray *st, guint8 value);
void fu_struct_ccgx_dmc_fwct_image_info_set_comp_id(GByteArray *st, guint8 value);
void fu_struct_ccgx_dmc_fwct_image_info_set_row_size(GByteArray *st, guint8 value);
void fu_struct_ccgx_dmc_fwct_image_info_set_fw_version(GByteArray *st, guint32 value);
void fu_struct_ccgx_dmc_fwct_image_info_set_app_version(GByteArray *st, guint32 value);
void fu_struct_ccgx_dmc_fwct_image_info_set_img_offset(GByteArray *st, guint32 value);
void fu_struct_ccgx_dmc_fwct_image_info_set_img_size(GByteArray *st, guint32 value);
gboolean fu_struct_ccgx_dmc_fwct_image_info_set_img_digest(GByteArray *st, const guint8 *buf, gsize bufsz, GError **error);
void fu_struct_ccgx_dmc_fwct_image_info_set_num_img_segments(GByteArray *st, guint8 value);
#define FU_STRUCT_CCGX_DMC_FWCT_IMAGE_INFO_OFFSET_DEVICE_TYPE 0x0
#define FU_STRUCT_CCGX_DMC_FWCT_IMAGE_INFO_OFFSET_IMG_TYPE 0x1
#define FU_STRUCT_CCGX_DMC_FWCT_IMAGE_INFO_OFFSET_COMP_ID 0x2
#define FU_STRUCT_CCGX_DMC_FWCT_IMAGE_INFO_OFFSET_ROW_SIZE 0x3
#define FU_STRUCT_CCGX_DMC_FWCT_IMAGE_INFO_OFFSET_FW_VERSION 0x8
#define FU_STRUCT_CCGX_DMC_FWCT_IMAGE_INFO_OFFSET_APP_VERSION 0xC
#define FU_STRUCT_CCGX_DMC_FWCT_IMAGE_INFO_OFFSET_IMG_OFFSET 0x10
#define FU_STRUCT_CCGX_DMC_FWCT_IMAGE_INFO_OFFSET_IMG_SIZE 0x14
#define FU_STRUCT_CCGX_DMC_FWCT_IMAGE_INFO_OFFSET_IMG_DIGEST 0x18
#define FU_STRUCT_CCGX_DMC_FWCT_IMAGE_INFO_OFFSET_NUM_IMG_SEGMENTS 0x38
#define FU_STRUCT_CCGX_DMC_FWCT_IMAGE_INFO_SIZE_IMG_DIGEST 0x20
#define FU_STRUCT_CCGX_DMC_FWCT_IMAGE_INFO_SIZE 0x3C

GByteArray *fu_struct_ccgx_dmc_fwct_segmentation_info_new(void);
GByteArray *fu_struct_ccgx_dmc_fwct_segmentation_info_parse(const guint8 *buf, gsize bufsz, gsize offset, GError **error);
guint8 fu_struct_ccgx_dmc_fwct_segmentation_info_get_img_id(const GByteArray *st);
guint8 fu_struct_ccgx_dmc_fwct_segmentation_info_get_type(const GByteArray *st);
guint16 fu_struct_ccgx_dmc_fwct_segmentation_info_get_start_row(const GByteArray *st);
guint16 fu_struct_ccgx_dmc_fwct_segmentation_info_get_num_rows(const GByteArray *st);
void fu_struct_ccgx_dmc_fwct_segmentation_info_set_img_id(GByteArray *st, guint8 value);
void fu_struct_ccgx_dmc_fwct_segmentation_info_set_type(GByteArray *st, guint8 value);
void fu_struct_ccgx_dmc_fwct_segmentation_info_set_start_row(GByteArray *st, guint16 value);
void fu_struct_ccgx_dmc_fwct_segmentation_info_set_num_rows(GByteArray *st, guint16 value);
#define FU_STRUCT_CCGX_DMC_FWCT_SEGMENTATION_INFO_OFFSET_IMG_ID 0x0
#define FU_STRUCT_CCGX_DMC_FWCT_SEGMENTATION_INFO_OFFSET_TYPE 0x1
#define FU_STRUCT_CCGX_DMC_FWCT_SEGMENTATION_INFO_OFFSET_START_ROW 0x2
#define FU_STRUCT_CCGX_DMC_FWCT_SEGMENTATION_INFO_OFFSET_NUM_ROWS 0x4
#define FU_STRUCT_CCGX_DMC_FWCT_SEGMENTATION_INFO_SIZE 0x8
