ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_decomp_limits_t Struct Reference

One decompression policy: the five resource bounds decoders enforce. More...

#include <ra8_decomp_limits.h>

Data Fields

uint64_t max_output_bytes
 Per-decode-unit output cap, bytes.
uint32_t max_ratio
 Output:input ratio bound (multiplier).
uint32_t ratio_grace_bytes
 Additive output grace before ratio applies.
uint32_t max_entries
 Per-archive enumerated-entry cap.
uint32_t max_iterations
 Per-decode-loop iteration budget.
uint8_t max_depth
 Stacked decode-layer (nesting) cap.

Detailed Description

One decompression policy: the five resource bounds decoders enforce.

Value type – copy freely. Build one with ra8_decomp_limits_default and tighten fields as needed (tests use small limits to exercise breach paths cheaply). Every field must be non-zero: a zero bound would mean "reject everything" for caps and "unlimited" ambiguity for the grace, so ra8_decomp_budget_init validates all six.

Invariant
All fields are non-zero once validated by ra8_decomp_budget_init.
Example:
lim.max_output_bytes = 1024U * 1024U; // tighten for a host test
ra8_decomp_limits_t ra8_decomp_limits_default(void)
The owner-approved default decompression policy.
One decompression policy: the five resource bounds decoders enforce.
uint64_t max_output_bytes
Per-decode-unit output cap, bytes.
See also
ra8_decomp_budget_t
Since
Version 0.1.0

Definition at line 129 of file ra8_decomp_limits.h.

Field Documentation

◆ max_depth

uint8_t ra8_decomp_limits_t::max_depth

Stacked decode-layer (nesting) cap.

Definition at line 135 of file ra8_decomp_limits.h.

Referenced by internal_limits_usable(), and ra8_decomp_limits_default().

◆ max_entries

uint32_t ra8_decomp_limits_t::max_entries

Per-archive enumerated-entry cap.

Definition at line 133 of file ra8_decomp_limits.h.

Referenced by internal_limits_usable(), priv_comic_cbz_open(), priv_epub_zip_guard_archive(), and ra8_decomp_limits_default().

◆ max_iterations

uint32_t ra8_decomp_limits_t::max_iterations

Per-decode-loop iteration budget.

Definition at line 134 of file ra8_decomp_limits.h.

Referenced by internal_limits_usable(), and ra8_decomp_limits_default().

◆ max_output_bytes

uint64_t ra8_decomp_limits_t::max_output_bytes

Per-decode-unit output cap, bytes.

Definition at line 130 of file ra8_decomp_limits.h.

Referenced by internal_limits_usable(), ra8_decomp_check_declared(), and ra8_decomp_limits_default().

◆ max_ratio

uint32_t ra8_decomp_limits_t::max_ratio

Output:input ratio bound (multiplier).

Definition at line 131 of file ra8_decomp_limits.h.

Referenced by internal_limits_usable(), internal_ratio_bound(), and ra8_decomp_limits_default().

◆ ratio_grace_bytes

uint32_t ra8_decomp_limits_t::ratio_grace_bytes

Additive output grace before ratio applies.

Definition at line 132 of file ra8_decomp_limits.h.

Referenced by internal_limits_usable(), internal_ratio_bound(), and ra8_decomp_limits_default().


The documentation for this struct was generated from the following file: