fwupd/libfwupdplugin/fu-ihex-firmware.h
Richard Hughes 7f7e4437fc ihex: Make FuIhexFirmware derivable for future use
An ABI change, so probably not a good idea to backport.
2021-04-06 14:54:39 +01:00

38 lines
1001 B
C

/*
* Copyright (C) 2019 Richard Hughes <richard@hughsie.com>
*
* SPDX-License-Identifier: LGPL-2.1+
*/
#pragma once
#include "fu-firmware.h"
#define FU_TYPE_IHEX_FIRMWARE (fu_ihex_firmware_get_type ())
G_DECLARE_DERIVABLE_TYPE (FuIhexFirmware, fu_ihex_firmware, FU, IHEX_FIRMWARE, FuFirmware)
struct _FuIhexFirmwareClass
{
FuFirmwareClass parent_class;
};
typedef struct {
guint ln;
GString *buf;
guint8 byte_cnt;
guint32 addr;
guint8 record_type;
GByteArray *data;
} FuIhexFirmwareRecord;
#define FU_IHEX_FIRMWARE_RECORD_TYPE_DATA 0x00
#define FU_IHEX_FIRMWARE_RECORD_TYPE_EOF 0x01
#define FU_IHEX_FIRMWARE_RECORD_TYPE_EXTENDED_SEGMENT 0x02
#define FU_IHEX_FIRMWARE_RECORD_TYPE_START_SEGMENT 0x03
#define FU_IHEX_FIRMWARE_RECORD_TYPE_EXTENDED_LINEAR 0x04
#define FU_IHEX_FIRMWARE_RECORD_TYPE_START_LINEAR 0x05
#define FU_IHEX_FIRMWARE_RECORD_TYPE_SIGNATURE 0xfd
FuFirmware *fu_ihex_firmware_new (void);
GPtrArray *fu_ihex_firmware_get_records (FuIhexFirmware *self);