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

#pragma once
#include <fu-input-stream.h>
typedef struct {
  GByteArray *buf;
  guint refcount;
} FuStructHLinkHeader;

FuStructHLinkHeader *fu_struct_h_link_header_ref(FuStructHLinkHeader *st) G_GNUC_NON_NULL(1);
void fu_struct_h_link_header_unref(FuStructHLinkHeader *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuStructHLinkHeader, fu_struct_h_link_header_unref)
FuStructHLinkHeader *fu_struct_h_link_header_new(void) G_GNUC_WARN_UNUSED_RESULT;
FuStructHLinkHeader *fu_struct_h_link_header_parse(const guint8 *buf, gsize bufsz, gsize offset, GError **error) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint32 fu_struct_h_link_header_get_req_id(const FuStructHLinkHeader *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint32 fu_struct_h_link_header_get_res_id(const FuStructHLinkHeader *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint16 fu_struct_h_link_header_get_flags(const FuStructHLinkHeader *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint16 fu_struct_h_link_header_get_msg_name_size(const FuStructHLinkHeader *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint32 fu_struct_h_link_header_get_payload_size(const FuStructHLinkHeader *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
void fu_struct_h_link_header_set_req_id(FuStructHLinkHeader *st, guint32 value) G_GNUC_NON_NULL(1);
void fu_struct_h_link_header_set_res_id(FuStructHLinkHeader *st, guint32 value) G_GNUC_NON_NULL(1);
void fu_struct_h_link_header_set_flags(FuStructHLinkHeader *st, guint16 value) G_GNUC_NON_NULL(1);
void fu_struct_h_link_header_set_msg_name_size(FuStructHLinkHeader *st, guint16 value) G_GNUC_NON_NULL(1);
void fu_struct_h_link_header_set_payload_size(FuStructHLinkHeader *st, guint32 value) G_GNUC_NON_NULL(1);

#ifndef __GI_SCANNER__
#define FU_STRUCT_H_LINK_HEADER_OFFSET_REQ_ID 0x0
#define FU_STRUCT_H_LINK_HEADER_OFFSET_RES_ID 0x4
#define FU_STRUCT_H_LINK_HEADER_OFFSET_FLAGS 0x8
#define FU_STRUCT_H_LINK_HEADER_OFFSET_MSG_NAME_SIZE 0xA
#define FU_STRUCT_H_LINK_HEADER_OFFSET_PAYLOAD_SIZE 0xC
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_H_LINK_HEADER_SIZE 0x10
#endif

#ifndef __GI_SCANNER__
#endif
