/* auto-generated, do not modify */
#pragma once
#include <fwupd-common.h>

GByteArray *fu_struct_fdt_new(void);
GByteArray *fu_struct_fdt_parse_bytes(GBytes *blob, gsize offset, GError **error);
gboolean fu_struct_fdt_validate_bytes(GBytes *blob, gsize offset, GError **error);
guint32 fu_struct_fdt_get_totalsize(const GByteArray *st);
guint32 fu_struct_fdt_get_off_dt_struct(const GByteArray *st);
guint32 fu_struct_fdt_get_off_dt_strings(const GByteArray *st);
guint32 fu_struct_fdt_get_off_mem_rsvmap(const GByteArray *st);
guint32 fu_struct_fdt_get_version(const GByteArray *st);
guint32 fu_struct_fdt_get_last_comp_version(const GByteArray *st);
guint32 fu_struct_fdt_get_boot_cpuid_phys(const GByteArray *st);
guint32 fu_struct_fdt_get_size_dt_strings(const GByteArray *st);
guint32 fu_struct_fdt_get_size_dt_struct(const GByteArray *st);
void fu_struct_fdt_set_totalsize(GByteArray *st, guint32 value);
void fu_struct_fdt_set_off_dt_struct(GByteArray *st, guint32 value);
void fu_struct_fdt_set_off_dt_strings(GByteArray *st, guint32 value);
void fu_struct_fdt_set_off_mem_rsvmap(GByteArray *st, guint32 value);
void fu_struct_fdt_set_version(GByteArray *st, guint32 value);
void fu_struct_fdt_set_last_comp_version(GByteArray *st, guint32 value);
void fu_struct_fdt_set_boot_cpuid_phys(GByteArray *st, guint32 value);
void fu_struct_fdt_set_size_dt_strings(GByteArray *st, guint32 value);
void fu_struct_fdt_set_size_dt_struct(GByteArray *st, guint32 value);
#define FU_STRUCT_FDT_OFFSET_MAGIC 0x0
#define FU_STRUCT_FDT_OFFSET_TOTALSIZE 0x4
#define FU_STRUCT_FDT_OFFSET_OFF_DT_STRUCT 0x8
#define FU_STRUCT_FDT_OFFSET_OFF_DT_STRINGS 0xC
#define FU_STRUCT_FDT_OFFSET_OFF_MEM_RSVMAP 0x10
#define FU_STRUCT_FDT_OFFSET_VERSION 0x14
#define FU_STRUCT_FDT_OFFSET_LAST_COMP_VERSION 0x18
#define FU_STRUCT_FDT_OFFSET_BOOT_CPUID_PHYS 0x1C
#define FU_STRUCT_FDT_OFFSET_SIZE_DT_STRINGS 0x20
#define FU_STRUCT_FDT_OFFSET_SIZE_DT_STRUCT 0x24
#define FU_STRUCT_FDT_SIZE 0x28
#define FU_STRUCT_FDT_DEFAULT_MAGIC 0xD00DFEED
#define FU_STRUCT_FDT_DEFAULT_LAST_COMP_VERSION 2

GByteArray *fu_struct_fdt_reserve_entry_new(void);
GByteArray *fu_struct_fdt_reserve_entry_parse_bytes(GBytes *blob, gsize offset, GError **error);
guint64 fu_struct_fdt_reserve_entry_get_address(const GByteArray *st);
guint64 fu_struct_fdt_reserve_entry_get_size(const GByteArray *st);
void fu_struct_fdt_reserve_entry_set_address(GByteArray *st, guint64 value);
void fu_struct_fdt_reserve_entry_set_size(GByteArray *st, guint64 value);
#define FU_STRUCT_FDT_RESERVE_ENTRY_OFFSET_ADDRESS 0x0
#define FU_STRUCT_FDT_RESERVE_ENTRY_OFFSET_SIZE 0x8
#define FU_STRUCT_FDT_RESERVE_ENTRY_SIZE 0x10

GByteArray *fu_struct_fdt_prop_new(void);
GByteArray *fu_struct_fdt_prop_parse(const guint8 *buf, gsize bufsz, gsize offset, GError **error);
guint32 fu_struct_fdt_prop_get_len(const GByteArray *st);
guint32 fu_struct_fdt_prop_get_nameoff(const GByteArray *st);
void fu_struct_fdt_prop_set_len(GByteArray *st, guint32 value);
void fu_struct_fdt_prop_set_nameoff(GByteArray *st, guint32 value);
#define FU_STRUCT_FDT_PROP_OFFSET_LEN 0x0
#define FU_STRUCT_FDT_PROP_OFFSET_NAMEOFF 0x4
#define FU_STRUCT_FDT_PROP_SIZE 0x8
