/* auto-generated, do not modify */
#pragma once
#include <fwupd-common.h>
typedef enum {
    FU_CFU_OFFER_COMPONENT_ID_NOT_USED = 0,
    FU_CFU_OFFER_COMPONENT_ID_OFFER_INFORMATION = 0xFF,
    FU_CFU_OFFER_COMPONENT_ID_OFFER_INFORMATION2 = 0xFE,
} FuCfuOfferComponentId;

GByteArray *fu_struct_cfu_payload_new(void);
GByteArray *fu_struct_cfu_payload_parse_bytes(GBytes *blob, gsize offset, GError **error);
guint32 fu_struct_cfu_payload_get_addr(const GByteArray *st);
guint8 fu_struct_cfu_payload_get_size(const GByteArray *st);
void fu_struct_cfu_payload_set_addr(GByteArray *st, guint32 value);
void fu_struct_cfu_payload_set_size(GByteArray *st, guint8 value);
#define FU_STRUCT_CFU_PAYLOAD_OFFSET_ADDR 0x0
#define FU_STRUCT_CFU_PAYLOAD_OFFSET_SIZE 0x4
#define FU_STRUCT_CFU_PAYLOAD_SIZE 0x5

GByteArray *fu_struct_cfu_offer_new(void);
GByteArray *fu_struct_cfu_offer_parse_bytes(GBytes *blob, gsize offset, GError **error);
guint8 fu_struct_cfu_offer_get_segment_number(const GByteArray *st);
guint8 fu_struct_cfu_offer_get_flags1(const GByteArray *st);
FuCfuOfferComponentId fu_struct_cfu_offer_get_component_id(const GByteArray *st);
guint8 fu_struct_cfu_offer_get_token(const GByteArray *st);
guint32 fu_struct_cfu_offer_get_version(const GByteArray *st);
guint32 fu_struct_cfu_offer_get_compat_variant_mask(const GByteArray *st);
guint8 fu_struct_cfu_offer_get_flags2(const GByteArray *st);
guint8 fu_struct_cfu_offer_get_flags3(const GByteArray *st);
guint16 fu_struct_cfu_offer_get_product_id(const GByteArray *st);
void fu_struct_cfu_offer_set_segment_number(GByteArray *st, guint8 value);
void fu_struct_cfu_offer_set_flags1(GByteArray *st, guint8 value);
void fu_struct_cfu_offer_set_component_id(GByteArray *st, FuCfuOfferComponentId value);
void fu_struct_cfu_offer_set_token(GByteArray *st, guint8 value);
void fu_struct_cfu_offer_set_version(GByteArray *st, guint32 value);
void fu_struct_cfu_offer_set_compat_variant_mask(GByteArray *st, guint32 value);
void fu_struct_cfu_offer_set_flags2(GByteArray *st, guint8 value);
void fu_struct_cfu_offer_set_flags3(GByteArray *st, guint8 value);
void fu_struct_cfu_offer_set_product_id(GByteArray *st, guint16 value);
#define FU_STRUCT_CFU_OFFER_OFFSET_SEGMENT_NUMBER 0x0
#define FU_STRUCT_CFU_OFFER_OFFSET_FLAGS1 0x1
#define FU_STRUCT_CFU_OFFER_OFFSET_COMPONENT_ID 0x2
#define FU_STRUCT_CFU_OFFER_OFFSET_TOKEN 0x3
#define FU_STRUCT_CFU_OFFER_OFFSET_VERSION 0x4
#define FU_STRUCT_CFU_OFFER_OFFSET_COMPAT_VARIANT_MASK 0x8
#define FU_STRUCT_CFU_OFFER_OFFSET_FLAGS2 0xC
#define FU_STRUCT_CFU_OFFER_OFFSET_FLAGS3 0xD
#define FU_STRUCT_CFU_OFFER_OFFSET_PRODUCT_ID 0xE
#define FU_STRUCT_CFU_OFFER_SIZE 0x10
