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

Loop-carried state of one unwrap: cursors, session, and budget. More...

Collaboration diagram for xz_unwrap_state_t:

Data Fields

unarch_read_fn read
 Byte reader over the stream.
void * ctx
 Context for read.
uint64_t size
 Stream length in bytes.
uint8_t * out
 Destination arena.
size_t out_cap
 Arena capacity in bytes.
uint64_t in_off
 Input bytes consumed so far.
size_t total_out
 Output bytes produced so far.
unarch_xz_stream_t xs
 Live decode session.
ra8_decomp_budget_t budget
 Unified decompression budget.
uint8_t chunk [k_xz_chunk]
 Input refill window (one pass).

Detailed Description

Loop-carried state of one unwrap: cursors, session, and budget.

Bundled so the refill/pass helpers stay under the function-size budget while sharing one coherent record.

Invariant
in_off <= size and total_out <= out_cap between passes.
See also
unarch_xz_unwrap()
Since
Version 0.1.0

Definition at line 269 of file unarch_xz.c.

Field Documentation

◆ budget

ra8_decomp_budget_t xz_unwrap_state_t::budget

Unified decompression budget.

Definition at line 278 of file unarch_xz.c.

Referenced by internal_unwrap_pass(), and unarch_xz_unwrap().

◆ chunk

uint8_t xz_unwrap_state_t::chunk[k_xz_chunk]

Input refill window (one pass).

Definition at line 279 of file unarch_xz.c.

Referenced by internal_unwrap_pass().

◆ ctx

void* xz_unwrap_state_t::ctx

Context for read.

Definition at line 271 of file unarch_xz.c.

Referenced by internal_unwrap_pass(), and unarch_xz_unwrap().

◆ in_off

uint64_t xz_unwrap_state_t::in_off

Input bytes consumed so far.

Definition at line 275 of file unarch_xz.c.

Referenced by internal_unwrap_pass(), and unarch_xz_unwrap().

◆ out

uint8_t* xz_unwrap_state_t::out

Destination arena.

Definition at line 273 of file unarch_xz.c.

Referenced by internal_unwrap_pass(), and unarch_xz_unwrap().

◆ out_cap

size_t xz_unwrap_state_t::out_cap

Arena capacity in bytes.

Definition at line 274 of file unarch_xz.c.

Referenced by internal_unwrap_pass(), and unarch_xz_unwrap().

◆ read

unarch_read_fn xz_unwrap_state_t::read

Byte reader over the stream.

Definition at line 270 of file unarch_xz.c.

Referenced by internal_unwrap_pass(), and unarch_xz_unwrap().

◆ size

uint64_t xz_unwrap_state_t::size

Stream length in bytes.

Definition at line 272 of file unarch_xz.c.

Referenced by internal_unwrap_pass(), and unarch_xz_unwrap().

◆ total_out

size_t xz_unwrap_state_t::total_out

Output bytes produced so far.

Definition at line 276 of file unarch_xz.c.

Referenced by internal_unwrap_pass(), and unarch_xz_unwrap().

◆ xs

unarch_xz_stream_t xz_unwrap_state_t::xs

Live decode session.

Definition at line 277 of file unarch_xz.c.

Referenced by internal_unwrap_pass(), and unarch_xz_unwrap().


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