Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
|
Infuse-IoT constrained binary patching. More...
#include <stdint.h>
#include <zephyr/storage/flash_map.h>
#include <zephyr/storage/stream_flash.h>
#include <zephyr/toolchain.h>
Go to the source code of this file.
Data Structures | |
struct | cpatch_array_validation |
Expected values for various memory regions. More... | |
struct | cpatch_header |
CPatch file header. More... | |
Macros | |
#define | CPATCH_MAGIC_NUMBER 0xBA854092 |
Magic number that signifies a CPatch file. | |
Typedefs | |
typedef void(* | cpatch_progress_cb_t) (size_t output_offset) |
Patching output progress callback. | |
Functions | |
int | cpatch_patch_start (const struct flash_area *input, const struct flash_area *patch, struct cpatch_header *header) |
Validate patch file and input data region. | |
int | cpatch_patch_apply (const struct flash_area *input, const struct flash_area *patch, struct stream_flash_ctx *output, struct cpatch_header *header, cpatch_progress_cb_t progress_cb) |
Create an output file by applying a patch file to an input file. | |
Infuse-IoT constrained binary patching.
SPDX-License-Identifier: FSL-1.1-ALv2
CPatch is a binary diff and patching algorithm designed for simple and sequential output construction for constrained embedded devices. No caching, single pass, optimized for executable binary files.