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

#pragma once
#include <fu-input-stream.h>
/**
 * FuAmdKriaTypeCode:
 */
typedef enum {
    /**
     * FU_AMD_KRIA_TYPE_CODE_BINARY:
     */
    FU_AMD_KRIA_TYPE_CODE_BINARY,
    /**
     * FU_AMD_KRIA_TYPE_CODE_BCD_PLUS:
     */
    FU_AMD_KRIA_TYPE_CODE_BCD_PLUS,
    /**
     * FU_AMD_KRIA_TYPE_CODE_ACSII6:
     */
    FU_AMD_KRIA_TYPE_CODE_ACSII6,
    /**
     * FU_AMD_KRIA_TYPE_CODE_LANG_CODE_DEP:
     */
    FU_AMD_KRIA_TYPE_CODE_LANG_CODE_DEP,
}  FuAmdKriaTypeCode;
#define FU_AMD_KRIA_TYPE_CODE_LAST 4
typedef struct {
  GByteArray *buf;
  guint refcount;
} FuStructIpmiCommon;

FuStructIpmiCommon *fu_struct_ipmi_common_ref(FuStructIpmiCommon *st) G_GNUC_NON_NULL(1);
void fu_struct_ipmi_common_unref(FuStructIpmiCommon *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuStructIpmiCommon, fu_struct_ipmi_common_unref)
FuStructIpmiCommon *fu_struct_ipmi_common_parse_stream(GInputStream *stream, gsize offset, GError **error) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_ipmi_common_get_version(const FuStructIpmiCommon *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_ipmi_common_get_internal_offest(const FuStructIpmiCommon *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_ipmi_common_get_chassis_offeset(const FuStructIpmiCommon *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_ipmi_common_get_board_offset(const FuStructIpmiCommon *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_ipmi_common_get_product_offset(const FuStructIpmiCommon *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_ipmi_common_get_multirecord_offset(const FuStructIpmiCommon *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_ipmi_common_get_checksum(const FuStructIpmiCommon *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;

#ifndef __GI_SCANNER__
#define FU_STRUCT_IPMI_COMMON_OFFSET_VERSION 0x0
#define FU_STRUCT_IPMI_COMMON_OFFSET_INTERNAL_OFFEST 0x1
#define FU_STRUCT_IPMI_COMMON_OFFSET_CHASSIS_OFFESET 0x2
#define FU_STRUCT_IPMI_COMMON_OFFSET_BOARD_OFFSET 0x3
#define FU_STRUCT_IPMI_COMMON_OFFSET_PRODUCT_OFFSET 0x4
#define FU_STRUCT_IPMI_COMMON_OFFSET_MULTIRECORD_OFFSET 0x5
#define FU_STRUCT_IPMI_COMMON_OFFSET_CHECKSUM 0x7
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_IPMI_COMMON_SIZE 0x8
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_IPMI_COMMON_DEFAULT_VERSION 0x1
#endif
typedef struct {
  GByteArray *buf;
  guint refcount;
} FuStructBoardInfo;

FuStructBoardInfo *fu_struct_board_info_ref(FuStructBoardInfo *st) G_GNUC_NON_NULL(1);
void fu_struct_board_info_unref(FuStructBoardInfo *st) G_GNUC_NON_NULL(1);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuStructBoardInfo, fu_struct_board_info_unref)
FuStructBoardInfo *fu_struct_board_info_parse_stream(GInputStream *stream, gsize offset, GError **error) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_board_info_get_version(const FuStructBoardInfo *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_board_info_get_length(const FuStructBoardInfo *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_board_info_get_lang_code(const FuStructBoardInfo *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint32 fu_struct_board_info_get_mfg_date(const FuStructBoardInfo *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;
guint8 fu_struct_board_info_get_manufacturer_len(const FuStructBoardInfo *st) G_GNUC_NON_NULL(1) G_GNUC_WARN_UNUSED_RESULT;

#ifndef __GI_SCANNER__
#define FU_STRUCT_BOARD_INFO_OFFSET_VERSION 0x0
#define FU_STRUCT_BOARD_INFO_OFFSET_LENGTH 0x1
#define FU_STRUCT_BOARD_INFO_OFFSET_LANG_CODE 0x2
#define FU_STRUCT_BOARD_INFO_OFFSET_MFG_DATE 0x3
#define FU_STRUCT_BOARD_INFO_OFFSET_MANUFACTURER_LEN 0x6
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_BOARD_INFO_SIZE 0x7
#endif

#ifndef __GI_SCANNER__
#define FU_STRUCT_BOARD_INFO_DEFAULT_VERSION 0x1
#endif
