|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
One decoded RAR block: a file member, a directory, or a skipped block. More...
#include <ra8_rar.h>
Data Fields | |
| uint64_t | data_off |
| Absolute offset of the member's data area. | |
| uint64_t | pack_size |
| Packed (stored/compressed) data length, bytes. | |
| uint64_t | unp_size |
| Unpacked length, bytes. | |
| uint64_t | next_off |
| Absolute offset of the next block header. | |
| uint16_t | name_len |
| Name bytes copied into the caller buffer (clamped). | |
| uint8_t | method |
| ra8_rar_method_t (normalised; 0 = store). | |
| uint8_t | is_file |
| 1 if this block is a file member header. | |
| uint8_t | is_dir |
| 1 if the file member is a directory entry. | |
One decoded RAR block: a file member, a directory, or a skipped block.
Filled by ra8_rar_next. next_off always advances strictly past the current block, so a caller can walk the archive with a bounded loop. For a file member (is_file == 1) the data area is [data_off, data_off + pack_size); a STORE member (method == k_ra8_rar_method_store) has pack_size == unp_size literal bytes.
| uint64_t ra8_rar_entry_t::data_off |
Absolute offset of the member's data area.
Definition at line 170 of file ra8_rar.h.
Referenced by internal_add_member(), internal_rar4_file(), internal_rar5_file(), internal_rar_check_stored(), priv_comic_cbr_extract(), ra8_rar_extract(), and ra8_rar_extract_stored().
| uint8_t ra8_rar_entry_t::is_dir |
1 if the file member is a directory entry.
Definition at line 177 of file ra8_rar.h.
Referenced by internal_add_member(), internal_rar4_file(), internal_rar5_file(), internal_rar_check_stored(), priv_comic_cbr_extract(), and ra8_rar_extract().
| uint8_t ra8_rar_entry_t::is_file |
1 if this block is a file member header.
Definition at line 176 of file ra8_rar.h.
Referenced by internal_add_member(), internal_rar4_file(), internal_rar5_file(), internal_rar_check_stored(), priv_comic_cbr_extract(), and ra8_rar_extract().
| uint8_t ra8_rar_entry_t::method |
ra8_rar_method_t (normalised; 0 = store).
Definition at line 175 of file ra8_rar.h.
Referenced by internal_add_member(), internal_rar4_file(), internal_rar5_file(), internal_rar_check_stored(), priv_comic_cbr_extract(), and ra8_rar_extract().
| uint16_t ra8_rar_entry_t::name_len |
Name bytes copied into the caller buffer (clamped).
Definition at line 174 of file ra8_rar.h.
Referenced by internal_rar4_file(), internal_rar5_file(), and priv_comic_cbr_open().
| uint64_t ra8_rar_entry_t::next_off |
Absolute offset of the next block header.
Definition at line 173 of file ra8_rar.h.
Referenced by internal_rar4_block(), internal_rar4_file(), internal_rar5_block(), and priv_comic_cbr_open().
| uint64_t ra8_rar_entry_t::pack_size |
Packed (stored/compressed) data length, bytes.
Definition at line 171 of file ra8_rar.h.
Referenced by internal_add_member(), internal_rar4_file(), internal_rar5_file(), priv_comic_cbr_extract(), and ra8_rar_extract().
| uint64_t ra8_rar_entry_t::unp_size |
Unpacked length, bytes.
Definition at line 172 of file ra8_rar.h.
Referenced by internal_add_member(), internal_rar4_file(), internal_rar5_file(), internal_rar_check_stored(), priv_comic_cbr_extract(), ra8_rar_extract(), and ra8_rar_extract_stored().