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

#pragma once
#include <fu-input-stream.h>
/**
 * FuHpiCfuState:
 */
typedef enum {
    /**
     * FU_HPI_CFU_STATE_START_ENTIRE_TRANSACTION:
     */
    FU_HPI_CFU_STATE_START_ENTIRE_TRANSACTION = 0x00,
    /**
     * FU_HPI_CFU_STATE_START_ENTIRE_TRANSACTION_ACCEPTED:
     */
    FU_HPI_CFU_STATE_START_ENTIRE_TRANSACTION_ACCEPTED = 0x01,
    /**
     * FU_HPI_CFU_STATE_START_OFFER_LIST:
     */
    FU_HPI_CFU_STATE_START_OFFER_LIST = 0x02,
    /**
     * FU_HPI_CFU_STATE_START_OFFER_LIST_ACCEPTED:
     */
    FU_HPI_CFU_STATE_START_OFFER_LIST_ACCEPTED = 0x03,
    /**
     * FU_HPI_CFU_STATE_UPDATE_OFFER:
     */
    FU_HPI_CFU_STATE_UPDATE_OFFER = 0x04,
    /**
     * FU_HPI_CFU_STATE_UPDATE_OFFER_ACCEPTED:
     */
    FU_HPI_CFU_STATE_UPDATE_OFFER_ACCEPTED = 0x05,
    /**
     * FU_HPI_CFU_STATE_UPDATE_CONTENT:
     */
    FU_HPI_CFU_STATE_UPDATE_CONTENT = 0x06,
    /**
     * FU_HPI_CFU_STATE_UPDATE_SUCCESS:
     */
    FU_HPI_CFU_STATE_UPDATE_SUCCESS = 0x07,
    /**
     * FU_HPI_CFU_STATE_UPDATE_OFFER_REJECTED:
     */
    FU_HPI_CFU_STATE_UPDATE_OFFER_REJECTED = 0x08,
    /**
     * FU_HPI_CFU_STATE_UPDATE_MORE_OFFERS:
     */
    FU_HPI_CFU_STATE_UPDATE_MORE_OFFERS = 0x09,
    /**
     * FU_HPI_CFU_STATE_END_OFFER_LIST:
     */
    FU_HPI_CFU_STATE_END_OFFER_LIST = 0x0A,
    /**
     * FU_HPI_CFU_STATE_END_OFFER_LIST_ACCEPTED:
     */
    FU_HPI_CFU_STATE_END_OFFER_LIST_ACCEPTED = 0x0B,
    /**
     * FU_HPI_CFU_STATE_UPDATE_STOP:
     */
    FU_HPI_CFU_STATE_UPDATE_STOP = 0x0C,
    /**
     * FU_HPI_CFU_STATE_ERROR:
     */
    FU_HPI_CFU_STATE_ERROR = 0x0D,
    /**
     * FU_HPI_CFU_STATE_CHECK_UPDATE_CONTENT:
     */
    FU_HPI_CFU_STATE_CHECK_UPDATE_CONTENT = 0x0E,
    /**
     * FU_HPI_CFU_STATE_NOTIFY_ON_READY:
     */
    FU_HPI_CFU_STATE_NOTIFY_ON_READY = 0x0F,
    /**
     * FU_HPI_CFU_STATE_WAIT_FOR_READY_NOTIFICATION:
     */
    FU_HPI_CFU_STATE_WAIT_FOR_READY_NOTIFICATION = 0x10,
    /**
     * FU_HPI_CFU_STATE_VERIFY_CHECK_SWAP_PENDING_BY_SENDING_OFFER_LIST_AGAIN:
     */
    FU_HPI_CFU_STATE_VERIFY_CHECK_SWAP_PENDING_BY_SENDING_OFFER_LIST_AGAIN = 0x11,
    /**
     * FU_HPI_CFU_STATE_VERIFY_CHECK_SWAP_PENDING_OFFER_LIST_ACCEPTED:
     */
    FU_HPI_CFU_STATE_VERIFY_CHECK_SWAP_PENDING_OFFER_LIST_ACCEPTED = 0x12,
    /**
     * FU_HPI_CFU_STATE_VERIFY_CHECK_SWAP_PENDING_SEND_OFFER_AGAIN:
     */
    FU_HPI_CFU_STATE_VERIFY_CHECK_SWAP_PENDING_SEND_OFFER_AGAIN = 0x13,
    /**
     * FU_HPI_CFU_STATE_VERIFY_CHECK_SWAP_PENDING_OFFER_ACCEPTED:
     */
    FU_HPI_CFU_STATE_VERIFY_CHECK_SWAP_PENDING_OFFER_ACCEPTED = 0x14,
    /**
     * FU_HPI_CFU_STATE_VERIFY_CHECK_SWAP_PENDING_SEND_UPDATE_END_OFFER_LIST:
     */
    FU_HPI_CFU_STATE_VERIFY_CHECK_SWAP_PENDING_SEND_UPDATE_END_OFFER_LIST = 0x15,
    /**
     * FU_HPI_CFU_STATE_VERIFY_CHECK_SWAP_PENDING_UPDATE_END_OFFER_LIST_ACCEPTED:
     */
    FU_HPI_CFU_STATE_VERIFY_CHECK_SWAP_PENDING_UPDATE_END_OFFER_LIST_ACCEPTED = 0x16,
    /**
     * FU_HPI_CFU_STATE_UPDATE_VERIFY_ERROR:
     */
    FU_HPI_CFU_STATE_UPDATE_VERIFY_ERROR = 0x17,
}  FuHpiCfuState;
const gchar *fu_hpi_cfu_state_to_string(FuHpiCfuState val) G_GNUC_CONST;
/**
 * FuHpiCfuFirmwareOfferReject:
 */
typedef enum {
    /**
     * FU_HPI_CFU_FIRMWARE_OFFER_REJECT_OLD_FW:
     */
    FU_HPI_CFU_FIRMWARE_OFFER_REJECT_OLD_FW = 0x00,
    /**
     * FU_HPI_CFU_FIRMWARE_OFFER_REJECT_INV_COMPONENT:
     */
    FU_HPI_CFU_FIRMWARE_OFFER_REJECT_INV_COMPONENT = 0x01,
    /**
     * FU_HPI_CFU_FIRMWARE_OFFER_REJECT_SWAP_PENDING:
     */
    FU_HPI_CFU_FIRMWARE_OFFER_REJECT_SWAP_PENDING = 0x02,
    /**
     * FU_HPI_CFU_FIRMWARE_OFFER_REJECT_MISMATCH:
     */
    FU_HPI_CFU_FIRMWARE_OFFER_REJECT_MISMATCH = 0x03,
    /**
     * FU_HPI_CFU_FIRMWARE_OFFER_REJECT_BANK:
     */
    FU_HPI_CFU_FIRMWARE_OFFER_REJECT_BANK = 0x04,
    /**
     * FU_HPI_CFU_FIRMWARE_OFFER_REJECT_PLATFORM:
     */
    FU_HPI_CFU_FIRMWARE_OFFER_REJECT_PLATFORM = 0x05,
    /**
     * FU_HPI_CFU_FIRMWARE_OFFER_REJECT_MILESTONE:
     */
    FU_HPI_CFU_FIRMWARE_OFFER_REJECT_MILESTONE = 0x06,
    /**
     * FU_HPI_CFU_FIRMWARE_OFFER_REJECT_INV_PCOL_REV:
     */
    FU_HPI_CFU_FIRMWARE_OFFER_REJECT_INV_PCOL_REV = 0x07,
    /**
     * FU_HPI_CFU_FIRMWARE_OFFER_REJECT_VARIANT:
     */
    FU_HPI_CFU_FIRMWARE_OFFER_REJECT_VARIANT = 0x08,
}  FuHpiCfuFirmwareOfferReject;
const gchar *fu_hpi_cfu_firmware_offer_reject_to_string(FuHpiCfuFirmwareOfferReject val) G_GNUC_CONST;
/**
 * FuHpiCfuFirmwareUpdateOffer:
 */
typedef enum {
    /**
     * FU_HPI_CFU_FIRMWARE_UPDATE_OFFER_SKIP:
     */
    FU_HPI_CFU_FIRMWARE_UPDATE_OFFER_SKIP = 0x00,
    /**
     * FU_HPI_CFU_FIRMWARE_UPDATE_OFFER_ACCEPT:
     */
    FU_HPI_CFU_FIRMWARE_UPDATE_OFFER_ACCEPT = 0x01,
    /**
     * FU_HPI_CFU_FIRMWARE_UPDATE_OFFER_REJECT:
     */
    FU_HPI_CFU_FIRMWARE_UPDATE_OFFER_REJECT = 0x02,
    /**
     * FU_HPI_CFU_FIRMWARE_UPDATE_OFFER_BUSY:
     */
    FU_HPI_CFU_FIRMWARE_UPDATE_OFFER_BUSY = 0x03,
    /**
     * FU_HPI_CFU_FIRMWARE_UPDATE_OFFER_COMMAND_READY:
     */
    FU_HPI_CFU_FIRMWARE_UPDATE_OFFER_COMMAND_READY = 0x04,
    /**
     * FU_HPI_CFU_FIRMWARE_UPDATE_OFFER_CMD_NOT_SUPPORTED:
     */
    FU_HPI_CFU_FIRMWARE_UPDATE_OFFER_CMD_NOT_SUPPORTED = 0xFF,
}  FuHpiCfuFirmwareUpdateOffer;
const gchar *fu_hpi_cfu_firmware_update_offer_to_string(FuHpiCfuFirmwareUpdateOffer val) G_GNUC_CONST;
/**
 * FuHpiCfuFirmwareUpdateStatus:
 */
typedef enum {
    /**
     * FU_HPI_CFU_FIRMWARE_UPDATE_STATUS_SUCCESS:
     */
    FU_HPI_CFU_FIRMWARE_UPDATE_STATUS_SUCCESS = 0x00,
    /**
     * FU_HPI_CFU_FIRMWARE_UPDATE_STATUS_ERROR_PREPARE:
     */
    FU_HPI_CFU_FIRMWARE_UPDATE_STATUS_ERROR_PREPARE = 0x01,
    /**
     * FU_HPI_CFU_FIRMWARE_UPDATE_STATUS_ERROR_WRITE:
     */
    FU_HPI_CFU_FIRMWARE_UPDATE_STATUS_ERROR_WRITE = 0x02,
    /**
     * FU_HPI_CFU_FIRMWARE_UPDATE_STATUS_ERROR_COMPLETE:
     */
    FU_HPI_CFU_FIRMWARE_UPDATE_STATUS_ERROR_COMPLETE = 0x03,
    /**
     * FU_HPI_CFU_FIRMWARE_UPDATE_STATUS_ERROR_VERIFY:
     */
    FU_HPI_CFU_FIRMWARE_UPDATE_STATUS_ERROR_VERIFY = 0x04,
    /**
     * FU_HPI_CFU_FIRMWARE_UPDATE_STATUS_ERROR_CRC:
     */
    FU_HPI_CFU_FIRMWARE_UPDATE_STATUS_ERROR_CRC = 0x05,
    /**
     * FU_HPI_CFU_FIRMWARE_UPDATE_STATUS_ERROR_SIGNATURE:
     */
    FU_HPI_CFU_FIRMWARE_UPDATE_STATUS_ERROR_SIGNATURE = 0x06,
    /**
     * FU_HPI_CFU_FIRMWARE_UPDATE_STATUS_ERROR_VERSION:
     */
    FU_HPI_CFU_FIRMWARE_UPDATE_STATUS_ERROR_VERSION = 0x07,
    /**
     * FU_HPI_CFU_FIRMWARE_UPDATE_STATUS_SWAP_PENDING:
     */
    FU_HPI_CFU_FIRMWARE_UPDATE_STATUS_SWAP_PENDING = 0x08,
    /**
     * FU_HPI_CFU_FIRMWARE_UPDATE_STATUS_ERROR_INVALID_ADDR:
     */
    FU_HPI_CFU_FIRMWARE_UPDATE_STATUS_ERROR_INVALID_ADDR = 0x09,
    /**
     * FU_HPI_CFU_FIRMWARE_UPDATE_STATUS_ERROR_NO_OFFER:
     */
    FU_HPI_CFU_FIRMWARE_UPDATE_STATUS_ERROR_NO_OFFER = 0x0A,
    /**
     * FU_HPI_CFU_FIRMWARE_UPDATE_STATUS_ERROR_INVALID:
     */
    FU_HPI_CFU_FIRMWARE_UPDATE_STATUS_ERROR_INVALID = 0x0B,
}  FuHpiCfuFirmwareUpdateStatus;
const gchar *fu_hpi_cfu_firmware_update_status_to_string(FuHpiCfuFirmwareUpdateStatus val) G_GNUC_CONST;
typedef struct {
  GByteArray *buf;
  guint refcount;
} FuStructHpiCfuOfferCmd;

FuStructHpiCfuOfferCmd *fu_struct_hpi_cfu_offer_cmd_ref(FuStructHpiCfuOfferCmd *st) G_GNUC_NON_NULL(1);
void fu_struct_hpi_cfu_offer_cmd_unref(FuStructHpiCfuOfferCmd *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuStructHpiCfuOfferCmd, fu_struct_hpi_cfu_offer_cmd_unref)
FuStructHpiCfuOfferCmd *fu_struct_hpi_cfu_offer_cmd_new(void) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_hpi_cfu_offer_cmd_get_report_id(const FuStructHpiCfuOfferCmd *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_hpi_cfu_offer_cmd_get_segment_number(const FuStructHpiCfuOfferCmd *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_hpi_cfu_offer_cmd_get_flags(const FuStructHpiCfuOfferCmd *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_hpi_cfu_offer_cmd_get_component_id(const FuStructHpiCfuOfferCmd *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_hpi_cfu_offer_cmd_get_token(const FuStructHpiCfuOfferCmd *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_hpi_cfu_offer_cmd_get_variant(const FuStructHpiCfuOfferCmd *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint16 fu_struct_hpi_cfu_offer_cmd_get_minor_version(const FuStructHpiCfuOfferCmd *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_hpi_cfu_offer_cmd_get_major_version(const FuStructHpiCfuOfferCmd *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint32 fu_struct_hpi_cfu_offer_cmd_get_vendor_specific(const FuStructHpiCfuOfferCmd *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_hpi_cfu_offer_cmd_get_protocol_version(const FuStructHpiCfuOfferCmd *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint16 fu_struct_hpi_cfu_offer_cmd_get_product_specific(const FuStructHpiCfuOfferCmd *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
void fu_struct_hpi_cfu_offer_cmd_set_report_id(FuStructHpiCfuOfferCmd *st, guint8 value) G_GNUC_NON_NULL(1);
void fu_struct_hpi_cfu_offer_cmd_set_segment_number(FuStructHpiCfuOfferCmd *st, guint8 value) G_GNUC_NON_NULL(1);
void fu_struct_hpi_cfu_offer_cmd_set_flags(FuStructHpiCfuOfferCmd *st, guint8 value) G_GNUC_NON_NULL(1);
void fu_struct_hpi_cfu_offer_cmd_set_component_id(FuStructHpiCfuOfferCmd *st, guint8 value) G_GNUC_NON_NULL(1);
void fu_struct_hpi_cfu_offer_cmd_set_token(FuStructHpiCfuOfferCmd *st, guint8 value) G_GNUC_NON_NULL(1);
void fu_struct_hpi_cfu_offer_cmd_set_variant(FuStructHpiCfuOfferCmd *st, guint8 value) G_GNUC_NON_NULL(1);
void fu_struct_hpi_cfu_offer_cmd_set_minor_version(FuStructHpiCfuOfferCmd *st, guint16 value) G_GNUC_NON_NULL(1);
void fu_struct_hpi_cfu_offer_cmd_set_major_version(FuStructHpiCfuOfferCmd *st, guint8 value) G_GNUC_NON_NULL(1);
void fu_struct_hpi_cfu_offer_cmd_set_vendor_specific(FuStructHpiCfuOfferCmd *st, guint32 value) G_GNUC_NON_NULL(1);
void fu_struct_hpi_cfu_offer_cmd_set_protocol_version(FuStructHpiCfuOfferCmd *st, guint8 value) G_GNUC_NON_NULL(1);
void fu_struct_hpi_cfu_offer_cmd_set_product_specific(FuStructHpiCfuOfferCmd *st, guint16 value) G_GNUC_NON_NULL(1);

#ifndef __GI_SCANNER__
#define FU_STRUCT_HPI_CFU_OFFER_CMD_OFFSET_REPORT_ID 0x0
#define FU_STRUCT_HPI_CFU_OFFER_CMD_OFFSET_SEGMENT_NUMBER 0x1
#define FU_STRUCT_HPI_CFU_OFFER_CMD_OFFSET_FLAGS 0x2
#define FU_STRUCT_HPI_CFU_OFFER_CMD_OFFSET_COMPONENT_ID 0x3
#define FU_STRUCT_HPI_CFU_OFFER_CMD_OFFSET_TOKEN 0x4
#define FU_STRUCT_HPI_CFU_OFFER_CMD_OFFSET_VARIANT 0x5
#define FU_STRUCT_HPI_CFU_OFFER_CMD_OFFSET_MINOR_VERSION 0x6
#define FU_STRUCT_HPI_CFU_OFFER_CMD_OFFSET_MAJOR_VERSION 0x8
#define FU_STRUCT_HPI_CFU_OFFER_CMD_OFFSET_VENDOR_SPECIFIC 0x9
#define FU_STRUCT_HPI_CFU_OFFER_CMD_OFFSET_PROTOCOL_VERSION 0xD
#define FU_STRUCT_HPI_CFU_OFFER_CMD_OFFSET_PRODUCT_SPECIFIC 0xF
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_HPI_CFU_OFFER_CMD_SIZE 0x11
#endif

#ifndef __GI_SCANNER__
#endif
typedef struct {
  GByteArray *buf;
  guint refcount;
} FuStructHpiCfuPayloadCmd;

FuStructHpiCfuPayloadCmd *fu_struct_hpi_cfu_payload_cmd_ref(FuStructHpiCfuPayloadCmd *st) G_GNUC_NON_NULL(1);
void fu_struct_hpi_cfu_payload_cmd_unref(FuStructHpiCfuPayloadCmd *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuStructHpiCfuPayloadCmd, fu_struct_hpi_cfu_payload_cmd_unref)
FuStructHpiCfuPayloadCmd *fu_struct_hpi_cfu_payload_cmd_new(void) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_hpi_cfu_payload_cmd_get_report_id(const FuStructHpiCfuPayloadCmd *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_hpi_cfu_payload_cmd_get_flags(const FuStructHpiCfuPayloadCmd *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_hpi_cfu_payload_cmd_get_length(const FuStructHpiCfuPayloadCmd *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint16 fu_struct_hpi_cfu_payload_cmd_get_seq_number(const FuStructHpiCfuPayloadCmd *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint32 fu_struct_hpi_cfu_payload_cmd_get_address(const FuStructHpiCfuPayloadCmd *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
const guint8 *fu_struct_hpi_cfu_payload_cmd_get_data(const FuStructHpiCfuPayloadCmd *st, gsize *bufsz) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
void fu_struct_hpi_cfu_payload_cmd_set_report_id(FuStructHpiCfuPayloadCmd *st, guint8 value) G_GNUC_NON_NULL(1);
void fu_struct_hpi_cfu_payload_cmd_set_flags(FuStructHpiCfuPayloadCmd *st, guint8 value) G_GNUC_NON_NULL(1);
void fu_struct_hpi_cfu_payload_cmd_set_length(FuStructHpiCfuPayloadCmd *st, guint8 value) G_GNUC_NON_NULL(1);
void fu_struct_hpi_cfu_payload_cmd_set_seq_number(FuStructHpiCfuPayloadCmd *st, guint16 value) G_GNUC_NON_NULL(1);
void fu_struct_hpi_cfu_payload_cmd_set_address(FuStructHpiCfuPayloadCmd *st, guint32 value) G_GNUC_NON_NULL(1);
gboolean fu_struct_hpi_cfu_payload_cmd_set_data(FuStructHpiCfuPayloadCmd *st, const guint8 *buf, gsize bufsz, GError **error) G_GNUC_NON_NULL(1, 2) G_GNUC_WARN_UNUSED_RESULT;

#ifndef __GI_SCANNER__
#define FU_STRUCT_HPI_CFU_PAYLOAD_CMD_OFFSET_REPORT_ID 0x0
#define FU_STRUCT_HPI_CFU_PAYLOAD_CMD_OFFSET_FLAGS 0x1
#define FU_STRUCT_HPI_CFU_PAYLOAD_CMD_OFFSET_LENGTH 0x2
#define FU_STRUCT_HPI_CFU_PAYLOAD_CMD_OFFSET_SEQ_NUMBER 0x3
#define FU_STRUCT_HPI_CFU_PAYLOAD_CMD_OFFSET_ADDRESS 0x5
#define FU_STRUCT_HPI_CFU_PAYLOAD_CMD_OFFSET_DATA 0x9
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_HPI_CFU_PAYLOAD_CMD_SIZE_DATA 0x34
#define FU_STRUCT_HPI_CFU_PAYLOAD_CMD_N_ELEMENTS_DATA 52
#define FU_STRUCT_HPI_CFU_PAYLOAD_CMD_SIZE 0x3D
#endif

#ifndef __GI_SCANNER__
#endif
typedef struct {
  GByteArray *buf;
  guint refcount;
} FuStructHpiCfuBuf;

FuStructHpiCfuBuf *fu_struct_hpi_cfu_buf_ref(FuStructHpiCfuBuf *st) G_GNUC_NON_NULL(1);
void fu_struct_hpi_cfu_buf_unref(FuStructHpiCfuBuf *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuStructHpiCfuBuf, fu_struct_hpi_cfu_buf_unref)
FuStructHpiCfuBuf *fu_struct_hpi_cfu_buf_new(void) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_hpi_cfu_buf_get_report_id(const FuStructHpiCfuBuf *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_hpi_cfu_buf_get_command(const FuStructHpiCfuBuf *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
const guint8 *fu_struct_hpi_cfu_buf_get_report_data(const FuStructHpiCfuBuf *st, gsize *bufsz) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
void fu_struct_hpi_cfu_buf_set_report_id(FuStructHpiCfuBuf *st, guint8 value) G_GNUC_NON_NULL(1);
void fu_struct_hpi_cfu_buf_set_command(FuStructHpiCfuBuf *st, guint8 value) G_GNUC_NON_NULL(1);
gboolean fu_struct_hpi_cfu_buf_set_report_data(FuStructHpiCfuBuf *st, const guint8 *buf, gsize bufsz, GError **error) G_GNUC_NON_NULL(1, 2) G_GNUC_WARN_UNUSED_RESULT;

#ifndef __GI_SCANNER__
#define FU_STRUCT_HPI_CFU_BUF_OFFSET_REPORT_ID 0x0
#define FU_STRUCT_HPI_CFU_BUF_OFFSET_COMMAND 0x1
#define FU_STRUCT_HPI_CFU_BUF_OFFSET_REPORT_DATA 0x2
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_HPI_CFU_BUF_SIZE_REPORT_DATA 0xF
#define FU_STRUCT_HPI_CFU_BUF_N_ELEMENTS_REPORT_DATA 15
#define FU_STRUCT_HPI_CFU_BUF_SIZE 0x11
#endif

#ifndef __GI_SCANNER__
#endif
