ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
epub_miniz_alloc.h
Go to the documentation of this file.
1
36
37#pragma once
38
39#ifdef __cplusplus
40extern "C" {
41#endif
42
43#include <stdalign.h>
44#include <stddef.h>
45#include <stdint.h>
46
47#include "ra8_err.h"
48
74typedef enum : uint32_t {
77
86typedef struct {
88 alignas(max_align_t) uint8_t bytes[k_epub_miniz_pool_bytes];
90
100typedef struct {
101 uint8_t* base;
102 size_t capacity;
103 uint8_t initialized;
105
124[[nodiscard]] ra8_err_t
125epub_miniz_arena_init(epub_miniz_arena_t* arena, void* workspace, size_t workspace_bytes);
126
140
165void* epub_miniz_alloc(void* opaque, size_t items, size_t size);
166
186void epub_miniz_free(void* opaque, void* address);
187
214void* epub_miniz_realloc(void* opaque, void* address, size_t items, size_t size);
215
216#ifdef __cplusplus
217}
218#endif
void epub_miniz_free(void *opaque, void *address)
miniz-compatible free (mz_free_func).
ra8_err_t epub_miniz_arena_init(epub_miniz_arena_t *arena, void *workspace, size_t workspace_bytes)
Initialise or reset a miniz arena over caller-owned storage.
void * epub_miniz_alloc(void *opaque, size_t items, size_t size)
miniz-compatible allocator (mz_alloc_func).
void * epub_miniz_realloc(void *opaque, void *address, size_t items, size_t size)
miniz-compatible realloc (mz_realloc_func).
epub_miniz_alloc_limits_t
Static pool geometry for the miniz arena.
@ k_epub_miniz_pool_bytes
Arena size, bytes (160 KiB).
void epub_miniz_arena_deinit(epub_miniz_arena_t *arena)
Invalidate an arena descriptor after miniz has released its blocks.
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
Descriptor for one caller-owned miniz allocation arena.
size_t capacity
Usable bytes; exactly the documented pool size.
uint8_t initialized
1 after successful init; 0 after deinit.
uint8_t * base
Aligned caller workspace, or NULL when inactive.
Exactly-sized, maximally-aligned storage for one miniz arena.
uint8_t bytes[k_epub_miniz_pool_bytes]
Allocator backing bytes.