raiiaf.core.header¶
Header utilities for RAIIAF files.
This module defines functions to initialize, parse, and validate the RAIIAF
file header. The header layout is defined by raiiaf.core.constants.HEADER_FORMAT
and has the following fields:
magic (6s): ASCII bytes b”raiiaf”
version_major (B)
version_minor (B)
flags (B)
chunk_table_offset (I)
chunk_table_size (I)
chunk_count (I)
file_size (I)
reserved (I)
Functions
|
Initialize and pack a RAIIAF file header. |
|
Parse a RAIIAF header from raw bytes. |
|
Validate a parsed RAIIAF header. |
- raiiaf.core.header.header_init(version_major=1, version_minor=0, flags=0, chunk_table_offset=0, chunk_table_size=0, chunk_count=0, file_size=0, reserved=0)[source]¶
Initialize and pack a RAIIAF file header.
- Parameters:
version_major (int) – Major version number.
version_minor (int) – Minor version number.
flags (int) – Header flags.
chunk_table_offset (int) – Offset (in bytes) to the start of the chunk table.
chunk_table_size (int) – Size (in bytes) of the chunk table.
chunk_count (int) – Number of chunks referenced in the table.
file_size (int) – Total file size in bytes.
reserved (int) – Reserved for future use.
- Returns:
Packed header bytes conforming to HEADER_FORMAT.
- Return type:
bytes
- raiiaf.core.header.header_parse(buf: bytes) dict[source]¶
Parse a RAIIAF header from raw bytes.
- Parameters:
buf (bytes) – Raw file bytes containing the header at the beginning.
- Returns:
- Parsed header fields with keys: magic, version_major, version_minor,
flags, chunk_table_offset, chunk_table_size, chunk_count, file_size, reserved.
- Return type:
dict
- Raises:
raiiafCorruptHeader – If the provided buffer is too small.