/* * Copyright (C) 2017 Richard Hughes * * SPDX-License-Identifier: LGPL-2.1+ */ #pragma once #include #define FU_TYPE_CHUNK (fu_chunk_get_type()) G_DECLARE_FINAL_TYPE(FuChunk, fu_chunk, FU, CHUNK, GObject) FuChunk * fu_chunk_bytes_new(GBytes *bytes); void fu_chunk_set_idx(FuChunk *self, guint32 idx); guint32 fu_chunk_get_idx(FuChunk *self); void fu_chunk_set_page(FuChunk *self, guint32 page); guint32 fu_chunk_get_page(FuChunk *self); void fu_chunk_set_address(FuChunk *self, guint32 address); guint32 fu_chunk_get_address(FuChunk *self); const guint8 * fu_chunk_get_data(FuChunk *self); guint8 * fu_chunk_get_data_out(FuChunk *self); guint32 fu_chunk_get_data_sz(FuChunk *self); void fu_chunk_set_bytes(FuChunk *self, GBytes *bytes); GBytes * fu_chunk_get_bytes(FuChunk *self); FuChunk * fu_chunk_new(guint32 idx, guint32 page, guint32 address, const guint8 *data, guint32 data_sz); gchar * fu_chunk_to_string(FuChunk *self); gchar * fu_chunk_array_to_string(GPtrArray *chunks); GPtrArray * fu_chunk_array_new(const guint8 *data, guint32 data_sz, guint32 addr_start, guint32 page_sz, guint32 packet_sz); GPtrArray * fu_chunk_array_mutable_new(guint8 *data, guint32 data_sz, guint32 addr_start, guint32 page_sz, guint32 packet_sz); GPtrArray * fu_chunk_array_new_from_bytes(GBytes *blob, guint32 addr_start, guint32 page_sz, guint32 packet_sz);