Application Parser InterfaceApplication Interface

Description

Application interface for the bootloader image parser.

The Parser Interface can be used to parse upgrade images from the context of the application.

Data Structures

struct BootloaderParserCallbacks_t
Function pointers to parser callbacks.

Typedefs

typedef void(* BootloaderParserCallback_t ) (uint32_t address, uint8_t *data, size_t length, void *context)
typedef struct BootloaderParserContext BootloaderParserContext_t
Context for the bootloader image parser routine.

Functions

int32_t bootloader_initParser ( BootloaderParserContext_t *context, size_t contextSize)
int32_t bootloader_parseBuffer ( BootloaderParserContext_t *context, BootloaderParserCallbacks_t *callbacks, uint8_t data[], size_t numBytes)

Typedef Documentation

typedef void(* BootloaderParserCallback_t) (uint32_t address, uint8_t *data, size_t length, void *context)

Bootloader parser callback

Parameters
address Address of the data
data Raw data
length Size in bytes of raw data.
context A context variable defined by the implementation that is implementing this callback.

Definition at line 48 of file btl_interface_parser.h .

Function Documentation

int32_t bootloader_initParser ( BootloaderParserContext_t * context,
size_t contextSize
)

Initialize the image parser.

Parameters
[in] context Pointer to the parser context struct
[in] contextSize Size of the context struct
Returns
BOOTLOADER_OK if success, BOOTLOADER_ERROR_PARSE_CONTEXT if context struct is too small.
int32_t bootloader_parseBuffer ( BootloaderParserContext_t * context,
BootloaderParserCallbacks_t * callbacks,
uint8_t data[],
size_t numBytes
)

Parse a buffer.

Parameters
[in] context Pointer to the parser context struct.
[in] callbacks Callbacks to be called by the parser.
[in] data Data to be parsed.
[in] numBytes Size of the data buffer.
Returns
BOOTLOADER_ERROR_PARSE_CONTINUE if the chunk was parsed correctly, and a new chunk is expected. BOOTLOADER_ERROR_PARSE_ERROR if something went wrong while parsing. BOOTLOADER_ERROR_PARSE_SUCCESS if the entire file was successfully parsed.