ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
mdl_verify_internal.h
Go to the documentation of this file.
1
14#pragma once
15
16#include <stddef.h>
17#include <stdint.h>
18
19#include "mdl_export.h"
20#include "mdl_storage.h"
21#include "mdl_verify.h"
22#include "ra8_attributes.h"
23#include "ra8_err.h"
24
26typedef enum : uint32_t {
29
35
45
63RA8_PRIV void*
64priv_mdl_verify_workspace_take(mdl_export_workspace_t* workspace, size_t bytes, size_t alignment);
65
83RA8_PRIV void* priv_mdl_verify_arena_alloc(void* opaque, size_t items, size_t size);
84
98RA8_PRIV void priv_mdl_verify_arena_free(void* opaque, void* address);
99
118 uint8_t* destination,
119 size_t length,
120 size_t* out_read);
121
136RA8_PRIV bool priv_mdl_verify_is_image(const char* name);
137
152RA8_PRIV bool priv_mdl_verify_safe_member_name(const char* name);
153
172
193 mdl_export_workspace_t* workspace,
194 mdl_verify_report_t* report);
Package a downloaded chapter folder into a reader-openable container.
struct mdl_export_workspace mdl_export_workspace_t
Caller-owned bounded arena for all exporter scratch state.
Injected portable storage resources for downloader domain code.
Bounded, no-heap structural validation of mdl artifacts.
ra8_err_t priv_mdl_verify_tar(mdl_verify_io_t *io, mdl_verify_report_t *report)
Validate an uncompressed CBT.
void priv_mdl_verify_arena_free(void *opaque, void *address)
Accept a miniz free for a monotonic arena.
Definition mdl_verify.c:162
mdl_verify_limit_t
Bounded member policy shared by every structural verifier.
@ k_verify_member_max
Maximum archive member count.
ra8_err_t priv_mdl_verify_io_read_up_to(mdl_verify_io_t *io, uint8_t *destination, size_t length, size_t *out_read)
Read up to a requested portable span.
Definition mdl_verify.c:233
bool priv_mdl_verify_safe_member_name(const char *name)
Reject unsafe archive member paths.
Definition mdl_verify.c:86
void * priv_mdl_verify_workspace_take(mdl_export_workspace_t *workspace, size_t bytes, size_t alignment)
Reserve one aligned span from the verifier's caller-owned arena.
Definition mdl_verify.c:30
void * priv_mdl_verify_arena_alloc(void *opaque, size_t items, size_t size)
Allocate one aligned miniz span from a monotonic arena.
Definition mdl_verify.c:138
ra8_err_t priv_mdl_verify_gzip_tar(mdl_verify_io_t *io, mdl_export_workspace_t *workspace, mdl_verify_report_t *report)
Validate a gzip-compressed CBT.
bool priv_mdl_verify_is_image(const char *name)
Recognize supported image suffixes.
Definition mdl_verify.c:79
Annotation-attribute framework macros for ra8-firmware.
#define RA8_PRIV
Module-private helper: shared across TUs but only inside one library.
Error Code Definitions for ra8-firmware.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
Definition ra8_err.h:546
Caller-owned open file; fields are private to the facade.
One non-reentrant downloader filesystem dependency bundle.
Definition mdl_storage.h:40
Allocation bridge retaining an explicit capacity failure.
bool exhausted
An allocation did not fit.
mdl_export_workspace_t * workspace
Caller-owned bump arena.
One open portable input and its immutable size snapshot.
mdl_storage_t * storage
Borrowed storage binding.
ra8_err_t read_error
First random-reader failure.
fw_fs_file_t * file
Borrowed or locally owned facade handle.
fw_fs_file_t owned_file
Path wrapper's facade handle storage.
bool owned
Whether close remains required.
uint64_t size_bytes
Length observed after open.