FuIhexFirmware

FuIhexFirmware

Functions

Types and Values

Description

Functions

fu_ihex_firmware_new ()

FuFirmware *
fu_ihex_firmware_new (void);

Creates a new FuFirmware of sub type Ihex

Since: 1.3.1


fu_ihex_firmware_get_records ()

GPtrArray *
fu_ihex_firmware_get_records (FuIhexFirmware *self);

Returns the raw lines from tokenization.

This might be useful if the plugin is expecting the hex file to be a list of operations, rather than a simple linear image with filled holes.

Parameters

self

A FuIhexFirmware

 

Returns

records.

[transfer none][element-type FuIhexFirmwareRecord]

Since: 1.3.4


fu_ihex_firmware_set_padding_value ()

void
fu_ihex_firmware_set_padding_value (FuIhexFirmware *self,
                                    guint8 padding_value);

Set the padding value to fill incomplete address ranges.

The default value of zero can be changed to 0xff if functions like fu_common_bytes_is_empty() are going to be used on subsections of the data.

Parameters

self

A FuIhexFirmware

 

padding_value

the byte used to pad the image

 

Since: 1.6.0

Types and Values

FU_TYPE_IHEX_FIRMWARE

#define FU_TYPE_IHEX_FIRMWARE (fu_ihex_firmware_get_type())

struct FuIhexFirmwareClass

struct FuIhexFirmwareClass {
	FuFirmwareClass parent_class;
};

FuIhexFirmwareRecord

typedef struct {
	guint ln;
	GString *buf;
	guint8 byte_cnt;
	guint32 addr;
	guint8 record_type;
	GByteArray *data;
} FuIhexFirmwareRecord;

A single Intel HEX record.


FU_IHEX_FIRMWARE_RECORD_TYPE_DATA

#define FU_IHEX_FIRMWARE_RECORD_TYPE_DATA	      0x00

FU_IHEX_FIRMWARE_RECORD_TYPE_EOF

#define FU_IHEX_FIRMWARE_RECORD_TYPE_EOF	      0x01

FU_IHEX_FIRMWARE_RECORD_TYPE_EXTENDED_SEGMENT

#define FU_IHEX_FIRMWARE_RECORD_TYPE_EXTENDED_SEGMENT 0x02

FU_IHEX_FIRMWARE_RECORD_TYPE_START_SEGMENT

#define FU_IHEX_FIRMWARE_RECORD_TYPE_START_SEGMENT    0x03

FU_IHEX_FIRMWARE_RECORD_TYPE_EXTENDED_LINEAR

#define FU_IHEX_FIRMWARE_RECORD_TYPE_EXTENDED_LINEAR  0x04

FU_IHEX_FIRMWARE_RECORD_TYPE_START_LINEAR

#define FU_IHEX_FIRMWARE_RECORD_TYPE_START_LINEAR     0x05

FU_IHEX_FIRMWARE_RECORD_TYPE_SIGNATURE

#define FU_IHEX_FIRMWARE_RECORD_TYPE_SIGNATURE	      0xfd

FuIhexFirmware

typedef struct _FuIhexFirmware FuIhexFirmware;

A Intel hex (ihex) firmware image.

See also: [classFuFirmware ]