|
libaaruformat 1.0
Aaru Data Preservation Suite - Format Library
|
Master context representing an open or in‑creation Aaru image. More...
#include <aaruformat/context.h>
Data Fields | |
| uint64_t | magic |
| File magic (AARU_MAGIC) post-open. | |
| AaruHeaderV2 | header |
| Parsed container header (v2). | |
| FILE * | imageStream |
| Underlying FILE* stream (binary mode). | |
| uint8_t | library_major_version |
| Linked library major version. | |
| uint8_t | library_minor_version |
| Linked library minor version;. | |
| uint64_t * | user_data_ddt |
| Legacy flat DDT pointer (NULL when using v2 mini/big arrays). | |
| TapeDdtHashEntry * | tape_ddt |
| Hash table root for tape DDT entries. | |
| uint32_t * | sector_prefix_ddt |
| Legacy CD sector prefix DDT (deprecated by *2). | |
| uint32_t * | sector_suffix_ddt |
| Legacy CD sector suffix DDT. | |
| uint64_t * | sector_prefix_ddt2 |
| CD sector prefix DDT V2. | |
| uint64_t * | sector_suffix_ddt2 |
| CD sector suffix DDT V2. | |
| uint64_t * | user_data_ddt2 |
| DDT entries (big variant) primary/secondary current. | |
| uint64_t * | cached_secondary_ddt2 |
| Cached secondary table (big entries) or NULL. | |
| DdtHeader2 | user_data_ddt_header |
| Active user data DDT v2 header (primary table meta). | |
| uint64_t | cached_ddt_offset |
| File offset of currently cached secondary DDT (0=none). | |
| uint64_t | cached_ddt_position |
| Position index of cached secondary DDT. | |
| uint64_t | primary_ddt_offset |
| File offset of the primary DDT v2 table. | |
| size_t | mapped_memory_ddt_size |
| Length of mmapped DDT if userDataDdt is mmapped. | |
| int | ddt_version |
| DDT version in use (1=legacy, 2=v2 hierarchical). | |
| uint8_t | shift |
| Legacy overall shift (deprecated by data_shift/table_shift). | |
| bool | in_memory_ddt |
| True if primary (and possibly secondary) DDT loaded. | |
| uint8_t * | sector_prefix |
| Raw per-sector prefix (e.g., sync+header) uncorrected. | |
| uint8_t * | sector_prefix_corrected |
| Corrected variant (post error correction) if stored. | |
| uint8_t * | sector_suffix |
| Raw per-sector suffix (EDC/ECC) uncorrected. | |
| uint8_t * | sector_suffix_corrected |
| Corrected suffix if stored separately. | |
| uint8_t * | sector_subchannel |
| Raw 96-byte subchannel (if captured). | |
| uint8_t * | mode2_subheaders |
| MODE2 Form1/Form2 8-byte subheaders (concatenated). | |
| uint8_t * | sector_id |
| DVD sector ID (4 bytes) if present. | |
| uint8_t * | sector_ied |
| DVD sector IED (2 bytes) if present. | |
| uint8_t * | sector_cpr_mai |
| DVD sector CPR_MAI (6 bytes) if present. | |
| uint8_t * | sector_edc |
| DVD sector EDC (4 bytes) if present. | |
| uint8_t * | sector_decrypted_title_key |
| DVD decrypted title key (5 bytes) if present. | |
| struct DumpHardwareEntriesWithData * | dump_hardware_entries_with_data |
| Array of dump hardware entries + strings. | |
| uint8_t * | metadata_block |
| Raw metadata UTF-16LE concatenated strings. | |
| uint8_t * | cicm_block |
| CICM XML payload. | |
| uint8_t * | json_block |
| JSON metadata block payload (UTF-8). | |
| uint8_t * | creator |
| Who (person) created the image? | |
| uint8_t * | media_title |
| Title of the media represented by the image. | |
| uint8_t * | comments |
| Image comments. | |
| uint8_t * | media_manufacturer |
| Manufacturer of the media represented by the image. | |
| uint8_t * | media_model |
| Model of the media represented by the image. | |
| uint8_t * | media_serial_number |
| Serial number of the media represented by the image. | |
| uint8_t * | media_barcode |
| Barcode of the media represented by the image. | |
| uint8_t * | media_part_number |
| Part number of the media represented by the image. | |
| uint8_t * | drive_manufacturer |
| Manufacturer of the drive used to read the media represented by the image. | |
| uint8_t * | drive_model |
| Model of the drive used to read the media represented by the image. | |
| uint8_t * | drive_serial_number |
| Serial number of the drive used to read the media represented by the image. | |
| uint8_t * | drive_firmware_revision |
| Firmware revision of the drive used to read the media represented by the image. | |
| GeometryBlockHeader | geometry_block |
| Logical geometry block (if present). | |
| MetadataBlockHeader | metadata_block_header |
| Metadata block header. | |
| CicmMetadataBlock | cicm_block_header |
| CICM metadata header (if present). | |
| DumpHardwareHeader | dump_hardware_header |
| Dump hardware header. | |
| AaruMetadataJsonBlockHeader | json_block_header |
| JSON metadata block header (if present). | |
| uint32_t | cylinders |
| Cylinders of the media represented by the image. | |
| uint32_t | heads |
| Heads of the media represented by the image. | |
| uint32_t | sectors_per_track |
| Sectors per track of the media represented by the image (for variable image, the smallest) | |
| int32_t | media_sequence |
| Number in sequence for the media represented by the image. | |
| int32_t | last_media_sequence |
| Last media of the sequence the media represented by the image corresponds to. | |
| TrackEntry * | track_entries |
| Full track list (tracksHeader.entries elements). | |
| TrackEntry * | data_tracks |
| Filtered list of data tracks (subset of trackEntries). | |
| TracksHeader | tracks_header |
| Tracks header (optical) if present. | |
| uint8_t | number_of_data_tracks |
| Count of tracks considered "data" (sequence 1..99 heuristics). | |
| CdEccContext * | ecc_cd_context |
| CD ECC/EDC helper tables (allocated on demand). | |
| crc64_ctx * | crc64_context |
| Opaque CRC64 context for streaming updates. | |
| UT_array * | index_entries |
| Flattened index entries (UT_array of IndexEntry). | |
| hash_map_t * | sector_hash_map |
| Deduplication hash map (fingerprint->entry mapping). | |
| struct CacheHeader | block_header_cache |
| LRU/Cache header for block headers. | |
| struct CacheHeader | block_cache |
| LRU/Cache header for block payloads. | |
| ImageInfo | image_info |
| Exposed high-level image info summary. | |
| bool * | readableSectorTags |
| Per-sector boolean array (optical tags read successfully?). | |
| mediaTagEntry * | mediaTags |
| Hash table of extra media tags (uthash root). | |
| spamsum_ctx * | spamsum_context |
| Opaque SpamSum context for streaming updates. | |
| blake3_hasher * | blake3_context |
| Opaque BLAKE3 context for streaming updates. | |
| Checksums | checksums |
| Whole-image checksums discovered. | |
| md5_ctx | md5_context |
| Opaque MD5 context for streaming updates. | |
| sha1_ctx | sha1_context |
| Opaque SHA-1 context for streaming updates. | |
| sha256_ctx | sha256_context |
| Opaque SHA-256 context for streaming updates. | |
| bool | calculating_md5 |
| True if whole-image MD5 being calculated on-the-fly. | |
| bool | calculating_sha1 |
| True if whole-image SHA-1 being calculated on-the-fly. | |
| bool | calculating_sha256 |
| True if whole-image SHA-256 being calculated on-the-fly. | |
| bool | calculating_spamsum |
| True if whole-image SpamSum being calculated on-the-fly. | |
| bool | calculating_blake3 |
| True if whole-image BLAKE3 being calculated on-the-fly. | |
| uint8_t * | writing_buffer |
| Accumulation buffer for current block data. | |
| BlockHeader | current_block_header |
| Header for block currently being assembled (write path). | |
| uint64_t | next_block_position |
| Absolute file offset where next block will be written. | |
| uint64_t | last_written_block |
| Last written block number (write path). | |
| size_t | sector_prefix_length |
| Length of sector_prefix. | |
| size_t | sector_suffix_length |
| Length of sector_suffix. | |
| size_t | sector_prefix_offset |
| Current position in sector_prefix. | |
| size_t | sector_suffix_offset |
| Current position in sector_suffix. | |
| int | current_block_offset |
| Logical offset inside block (units: bytes or sectors depending on path). | |
| int | writing_buffer_position |
| Current size / position within writingBuffer. | |
| uint8_t | current_track_type |
| Current track type (when writing optical images with tracks, needed for block compression type). | |
| bool | is_writing |
| True if context opened/created for writing. | |
| bool | rewinded |
| True if stream has been rewound after open (write path). | |
| bool | writing_long |
| True if writing long sectors. | |
| uint32_t | lzma_dict_size |
| LZMA dictionary size (writing path). | |
| bool | deduplicate |
| Storage deduplication active (duplicates coalesce). | |
| bool | compression_enabled |
| True if block compression enabled (writing path). | |
| tapeFileHashEntry * | tape_files |
| Hash table root for tape files. | |
| TapePartitionHashEntry * | tape_partitions |
| Hash table root for tape partitions. | |
| bool | is_tape |
| True if the image is a tape image. | |
Master context representing an open or in‑creation Aaru image.
Contains stream handle, parsed headers, deduplication structures, optical extras, metadata blocks, checksum information, caches, and write-state. Allocate with library factory (or zero‑init + explicit open) and destroy with corresponding close/free routine.
Field grouping:
Notes:
| blake3_hasher* aaruformat_context::blake3_context |
Opaque BLAKE3 context for streaming updates.
Definition at line 268 of file context.h.
Referenced by aaruf_create(), aaruf_write_sector(), aaruf_write_sector_long(), cleanup_failed_create(), and write_checksum_block().
| struct CacheHeader aaruformat_context::block_cache |
LRU/Cache header for block payloads.
Definition at line 257 of file context.h.
Referenced by aaruf_create(), aaruf_open(), and aaruf_read_sector().
| struct CacheHeader aaruformat_context::block_header_cache |
LRU/Cache header for block headers.
Definition at line 256 of file context.h.
Referenced by aaruf_create(), aaruf_open(), and aaruf_read_sector().
| uint64_t aaruformat_context::cached_ddt_offset |
File offset of currently cached secondary DDT (0=none).
Definition at line 190 of file context.h.
Referenced by decode_ddt_multi_level_v2(), set_ddt_multi_level_v2(), and write_cached_secondary_ddt().
| uint64_t aaruformat_context::cached_ddt_position |
Position index of cached secondary DDT.
Definition at line 191 of file context.h.
Referenced by set_ddt_multi_level_v2(), and write_cached_secondary_ddt().
| uint64_t* aaruformat_context::cached_secondary_ddt2 |
Cached secondary table (big entries) or NULL.
Definition at line 188 of file context.h.
Referenced by decode_ddt_multi_level_v2(), set_ddt_multi_level_v2(), and write_cached_secondary_ddt().
| bool aaruformat_context::calculating_blake3 |
True if whole-image BLAKE3 being calculated on-the-fly.
Definition at line 277 of file context.h.
Referenced by aaruf_create(), aaruf_write_sector(), aaruf_write_sector_long(), and write_checksum_block().
| bool aaruformat_context::calculating_md5 |
True if whole-image MD5 being calculated on-the-fly.
Definition at line 273 of file context.h.
Referenced by aaruf_create(), aaruf_write_sector(), aaruf_write_sector_long(), and write_checksum_block().
| bool aaruformat_context::calculating_sha1 |
True if whole-image SHA-1 being calculated on-the-fly.
Definition at line 274 of file context.h.
Referenced by aaruf_create(), aaruf_write_sector(), aaruf_write_sector_long(), and write_checksum_block().
| bool aaruformat_context::calculating_sha256 |
True if whole-image SHA-256 being calculated on-the-fly.
Definition at line 275 of file context.h.
Referenced by aaruf_create(), aaruf_write_sector(), aaruf_write_sector_long(), and write_checksum_block().
| bool aaruformat_context::calculating_spamsum |
True if whole-image SpamSum being calculated on-the-fly.
Definition at line 276 of file context.h.
Referenced by aaruf_create(), aaruf_write_sector(), aaruf_write_sector_long(), and write_checksum_block().
| Checksums aaruformat_context::checksums |
Whole-image checksums discovered.
Definition at line 269 of file context.h.
Referenced by aaruf_close(), process_checksum_block(), and write_checksum_block().
| uint8_t* aaruformat_context::cicm_block |
CICM XML payload.
Definition at line 214 of file context.h.
Referenced by aaruf_close(), aaruf_get_cicm_metadata(), process_cicm_block(), and write_cicm_block().
| CicmMetadataBlock aaruformat_context::cicm_block_header |
CICM metadata header (if present).
Definition at line 231 of file context.h.
Referenced by aaruf_get_cicm_metadata(), process_cicm_block(), and write_cicm_block().
| uint8_t* aaruformat_context::comments |
Image comments.
Definition at line 218 of file context.h.
Referenced by aaruf_clear_comments(), aaruf_get_comments(), aaruf_set_comments(), process_metadata_block(), and write_metadata_block().
| bool aaruformat_context::compression_enabled |
True if block compression enabled (writing path).
Definition at line 299 of file context.h.
Referenced by aaruf_create(), aaruf_write_sector(), set_ddt_multi_level_v2(), write_cached_secondary_ddt(), write_dvd_long_sector_blocks(), write_dvd_title_key_decrypted_block(), write_media_tags(), write_mode2_subheaders_block(), write_sector_prefix(), write_sector_prefix_ddt(), write_sector_subchannel(), write_sector_suffix(), write_sector_suffix_ddt(), write_single_level_ddt(), and write_tape_ddt().
| crc64_ctx* aaruformat_context::crc64_context |
Opaque CRC64 context for streaming updates.
Definition at line 249 of file context.h.
Referenced by aaruf_close_current_block().
| uint8_t* aaruformat_context::creator |
Who (person) created the image?
Definition at line 216 of file context.h.
Referenced by aaruf_clear_creator(), aaruf_get_creator(), aaruf_set_creator(), process_metadata_block(), and write_metadata_block().
| BlockHeader aaruformat_context::current_block_header |
Header for block currently being assembled (write path).
Definition at line 281 of file context.h.
Referenced by aaruf_close_current_block(), and aaruf_write_sector().
| int aaruformat_context::current_block_offset |
Logical offset inside block (units: bytes or sectors depending on path).
Definition at line 288 of file context.h.
Referenced by aaruf_close_current_block(), and aaruf_write_sector().
| uint8_t aaruformat_context::current_track_type |
Current track type (when writing optical images with tracks, needed for block compression type).
Definition at line 290 of file context.h.
Referenced by aaruf_write_sector().
| uint32_t aaruformat_context::cylinders |
Cylinders of the media represented by the image.
Definition at line 234 of file context.h.
Referenced by aaruf_open(), aaruf_set_geometry(), and process_geometry_block().
| TrackEntry* aaruformat_context::data_tracks |
Filtered list of data tracks (subset of trackEntries).
Definition at line 243 of file context.h.
Referenced by aaruf_read_sector_long(), aaruf_read_track_sector(), aaruf_set_tracks(), and process_tracks_block().
| int aaruformat_context::ddt_version |
DDT version in use (1=legacy, 2=v2 hierarchical).
Definition at line 194 of file context.h.
Referenced by aaruf_read_sector(), process_ddt_v1(), and process_ddt_v2().
| bool aaruformat_context::deduplicate |
Storage deduplication active (duplicates coalesce).
Definition at line 298 of file context.h.
Referenced by aaruf_close(), aaruf_create(), and aaruf_write_sector().
| uint8_t* aaruformat_context::drive_firmware_revision |
Firmware revision of the drive used to read the media represented by the image.
Definition at line 228 of file context.h.
Referenced by aaruf_clear_drive_firmware_revision(), aaruf_get_drive_firmware_revision(), aaruf_set_drive_firmware_revision(), process_metadata_block(), and write_metadata_block().
| uint8_t* aaruformat_context::drive_manufacturer |
Manufacturer of the drive used to read the media represented by the image.
Definition at line 224 of file context.h.
Referenced by aaruf_clear_drive_manufacturer(), aaruf_get_drive_manufacturer(), aaruf_set_drive_manufacturer(), process_metadata_block(), and write_metadata_block().
| uint8_t* aaruformat_context::drive_model |
Model of the drive used to read the media represented by the image.
Definition at line 225 of file context.h.
Referenced by aaruf_clear_drive_model(), aaruf_get_drive_model(), aaruf_set_drive_model(), process_metadata_block(), and write_metadata_block().
| uint8_t* aaruformat_context::drive_serial_number |
Serial number of the drive used to read the media represented by the image.
Definition at line 226 of file context.h.
Referenced by aaruf_clear_drive_serial_number(), aaruf_get_drive_serial_number(), aaruf_set_drive_serial_number(), process_metadata_block(), and write_metadata_block().
| struct DumpHardwareEntriesWithData* aaruformat_context::dump_hardware_entries_with_data |
Array of dump hardware entries + strings.
Definition at line 212 of file context.h.
Referenced by aaruf_close(), aaruf_get_dumphw(), aaruf_set_dumphw(), process_dumphw_block(), reset_dump_hardware_context(), and write_dumphw_block().
| DumpHardwareHeader aaruformat_context::dump_hardware_header |
Dump hardware header.
Definition at line 232 of file context.h.
Referenced by aaruf_close(), aaruf_get_dumphw(), aaruf_set_dumphw(), process_dumphw_block(), reset_dump_hardware_context(), and write_dumphw_block().
| CdEccContext* aaruformat_context::ecc_cd_context |
CD ECC/EDC helper tables (allocated on demand).
Definition at line 248 of file context.h.
Referenced by aaruf_close(), aaruf_create(), aaruf_open(), aaruf_read_sector_long(), aaruf_write_sector_long(), and cleanup_failed_create().
| GeometryBlockHeader aaruformat_context::geometry_block |
Logical geometry block (if present).
Definition at line 229 of file context.h.
Referenced by aaruf_get_geometry(), aaruf_open(), aaruf_set_geometry(), process_geometry_block(), and write_geometry_block().
| AaruHeaderV2 aaruformat_context::header |
Parsed container header (v2).
Definition at line 175 of file context.h.
Referenced by aaruf_close(), aaruf_create(), aaruf_open(), aaruf_verify_image(), process_data_block(), process_dumphw_block(), process_index_v1(), process_index_v2(), process_index_v3(), process_tracks_block(), verify_index_v1(), verify_index_v2(), verify_index_v3(), write_checksum_block(), and write_index_block().
| uint32_t aaruformat_context::heads |
Heads of the media represented by the image.
Definition at line 235 of file context.h.
Referenced by aaruf_open(), aaruf_set_geometry(), and process_geometry_block().
| ImageInfo aaruformat_context::image_info |
Exposed high-level image info summary.
Definition at line 260 of file context.h.
Referenced by aaruf_create(), aaruf_get_image_info(), aaruf_open(), aaruf_read_sector(), aaruf_read_sector_long(), aaruf_read_sector_tag(), aaruf_read_track_sector(), aaruf_set_tracks(), aaruf_write_sector(), aaruf_write_sector_long(), aaruf_write_sector_tag(), process_aaru_metadata_json_block(), process_cicm_block(), process_data_block(), process_ddt_v1(), process_ddt_v2(), process_geometry_block(), process_metadata_block(), process_tape_files_block(), process_tape_partitions_block(), process_tracks_block(), write_dvd_long_sector_blocks(), write_dvd_title_key_decrypted_block(), write_mode2_subheaders_block(), write_sector_prefix_ddt(), write_sector_subchannel(), and write_sector_suffix_ddt().
| FILE* aaruformat_context::imageStream |
Underlying FILE* stream (binary mode).
Definition at line 176 of file context.h.
Referenced by aaruf_close(), aaruf_close_current_block(), aaruf_create(), aaruf_open(), aaruf_read_sector(), aaruf_verify_image(), add_subindex_entries(), cleanup_failed_create(), cleanup_open_failure(), decode_ddt_entry_v1(), decode_ddt_entry_v2(), decode_ddt_multi_level_v2(), decode_ddt_single_level_v2(), process_aaru_metadata_json_block(), process_checksum_block(), process_cicm_block(), process_data_block(), process_ddt_v1(), process_ddt_v2(), process_dumphw_block(), process_geometry_block(), process_index_v1(), process_index_v2(), process_index_v3(), process_metadata_block(), process_tape_files_block(), process_tape_partitions_block(), process_tracks_block(), set_ddt_entry_v2(), set_ddt_multi_level_v2(), set_ddt_single_level_v2(), set_ddt_tape(), verify_index_v1(), verify_index_v2(), verify_index_v3(), write_aaru_json_block(), write_cached_secondary_ddt(), write_checksum_block(), write_cicm_block(), write_dumphw_block(), write_dvd_long_sector_blocks(), write_dvd_title_key_decrypted_block(), write_geometry_block(), write_index_block(), write_media_tags(), write_metadata_block(), write_mode2_subheaders_block(), write_primary_ddt(), write_sector_prefix(), write_sector_prefix_ddt(), write_sector_subchannel(), write_sector_suffix(), write_sector_suffix_ddt(), write_single_level_ddt(), write_tape_file_block(), write_tape_partition_block(), and write_tracks_block().
| bool aaruformat_context::in_memory_ddt |
True if primary (and possibly secondary) DDT loaded.
Definition at line 196 of file context.h.
Referenced by aaruf_close(), aaruf_create(), process_ddt_v1(), and process_ddt_v2().
| UT_array* aaruformat_context::index_entries |
Flattened index entries (UT_array of IndexEntry).
Definition at line 252 of file context.h.
Referenced by aaruf_close(), aaruf_close_current_block(), aaruf_create(), cleanup_failed_create(), set_ddt_multi_level_v2(), write_aaru_json_block(), write_cached_secondary_ddt(), write_checksum_block(), write_cicm_block(), write_dumphw_block(), write_dvd_long_sector_blocks(), write_dvd_title_key_decrypted_block(), write_geometry_block(), write_index_block(), write_media_tags(), write_metadata_block(), write_mode2_subheaders_block(), write_primary_ddt(), write_sector_prefix(), write_sector_prefix_ddt(), write_sector_subchannel(), write_sector_suffix(), write_sector_suffix_ddt(), write_single_level_ddt(), write_tape_file_block(), write_tape_partition_block(), and write_tracks_block().
| bool aaruformat_context::is_tape |
True if the image is a tape image.
Definition at line 304 of file context.h.
Referenced by aaruf_close(), aaruf_create(), set_ddt_tape(), and write_tape_ddt().
| bool aaruformat_context::is_writing |
True if context opened/created for writing.
Definition at line 292 of file context.h.
Referenced by aaruf_clear_comments(), aaruf_clear_creator(), aaruf_clear_drive_firmware_revision(), aaruf_clear_drive_manufacturer(), aaruf_clear_drive_model(), aaruf_clear_drive_serial_number(), aaruf_clear_media_barcode(), aaruf_clear_media_manufacturer(), aaruf_clear_media_model(), aaruf_clear_media_part_number(), aaruf_clear_media_sequence(), aaruf_clear_media_serial_number(), aaruf_clear_media_title(), aaruf_close(), aaruf_close_current_block(), aaruf_create(), aaruf_set_aaru_json_metadata(), aaruf_set_comments(), aaruf_set_creator(), aaruf_set_drive_firmware_revision(), aaruf_set_drive_manufacturer(), aaruf_set_drive_model(), aaruf_set_drive_serial_number(), aaruf_set_dumphw(), aaruf_set_geometry(), aaruf_set_media_barcode(), aaruf_set_media_manufacturer(), aaruf_set_media_model(), aaruf_set_media_part_number(), aaruf_set_media_sequence(), aaruf_set_media_serial_number(), aaruf_set_media_title(), aaruf_set_tape_file(), aaruf_set_tape_partition(), aaruf_write_media_tag(), aaruf_write_sector(), aaruf_write_sector_long(), and aaruf_write_sector_tag().
| uint8_t* aaruformat_context::json_block |
JSON metadata block payload (UTF-8).
Definition at line 215 of file context.h.
Referenced by aaruf_get_aaru_json_metadata(), aaruf_set_aaru_json_metadata(), process_aaru_metadata_json_block(), and write_aaru_json_block().
| AaruMetadataJsonBlockHeader aaruformat_context::json_block_header |
JSON metadata block header (if present).
Definition at line 233 of file context.h.
Referenced by aaruf_get_aaru_json_metadata(), aaruf_set_aaru_json_metadata(), process_aaru_metadata_json_block(), and write_aaru_json_block().
| int32_t aaruformat_context::last_media_sequence |
Last media of the sequence the media represented by the image corresponds to.
Definition at line 239 of file context.h.
Referenced by process_metadata_block().
| uint64_t aaruformat_context::last_written_block |
Last written block number (write path).
Definition at line 283 of file context.h.
Referenced by aaruf_create(), aaruf_write_sector(), and aaruf_write_sector_long().
| uint8_t aaruformat_context::library_major_version |
Linked library major version.
Definition at line 177 of file context.h.
Referenced by aaruf_create(), and aaruf_open().
| uint8_t aaruformat_context::library_minor_version |
Linked library minor version;.
Definition at line 178 of file context.h.
Referenced by aaruf_create(), and aaruf_open().
| uint32_t aaruformat_context::lzma_dict_size |
LZMA dictionary size (writing path).
Definition at line 297 of file context.h.
Referenced by aaruf_close_current_block(), aaruf_create(), set_ddt_multi_level_v2(), write_cached_secondary_ddt(), write_dvd_long_sector_blocks(), write_dvd_title_key_decrypted_block(), write_media_tags(), write_mode2_subheaders_block(), write_sector_prefix(), write_sector_prefix_ddt(), write_sector_subchannel(), write_sector_suffix(), write_sector_suffix_ddt(), and write_single_level_ddt().
| uint64_t aaruformat_context::magic |
File magic (AARU_MAGIC) post-open.
Definition at line 174 of file context.h.
Referenced by aaruf_clear_comments(), aaruf_clear_creator(), aaruf_clear_drive_firmware_revision(), aaruf_clear_drive_manufacturer(), aaruf_clear_drive_model(), aaruf_clear_drive_serial_number(), aaruf_clear_media_barcode(), aaruf_clear_media_manufacturer(), aaruf_clear_media_model(), aaruf_clear_media_part_number(), aaruf_clear_media_sequence(), aaruf_clear_media_serial_number(), aaruf_clear_media_title(), aaruf_close(), aaruf_close_current_block(), aaruf_create(), aaruf_get_aaru_json_metadata(), aaruf_get_cicm_metadata(), aaruf_get_comments(), aaruf_get_creator(), aaruf_get_drive_firmware_revision(), aaruf_get_drive_manufacturer(), aaruf_get_drive_model(), aaruf_get_drive_serial_number(), aaruf_get_dumphw(), aaruf_get_geometry(), aaruf_get_image_info(), aaruf_get_media_barcode(), aaruf_get_media_manufacturer(), aaruf_get_media_model(), aaruf_get_media_part_number(), aaruf_get_media_sequence(), aaruf_get_media_serial_number(), aaruf_get_media_title(), aaruf_get_negative_sectors(), aaruf_get_overflow_sectors(), aaruf_get_tape_file(), aaruf_get_tape_partition(), aaruf_get_tracks(), aaruf_get_user_sectors(), aaruf_open(), aaruf_read_media_tag(), aaruf_read_sector(), aaruf_read_sector_long(), aaruf_read_sector_tag(), aaruf_read_track_sector(), aaruf_set_aaru_json_metadata(), aaruf_set_comments(), aaruf_set_creator(), aaruf_set_drive_firmware_revision(), aaruf_set_drive_manufacturer(), aaruf_set_drive_model(), aaruf_set_drive_serial_number(), aaruf_set_dumphw(), aaruf_set_geometry(), aaruf_set_media_barcode(), aaruf_set_media_manufacturer(), aaruf_set_media_model(), aaruf_set_media_part_number(), aaruf_set_media_sequence(), aaruf_set_media_serial_number(), aaruf_set_media_title(), aaruf_set_tape_file(), aaruf_set_tape_partition(), aaruf_set_tracks(), aaruf_verify_image(), aaruf_write_media_tag(), aaruf_write_sector(), aaruf_write_sector_long(), and aaruf_write_sector_tag().
| size_t aaruformat_context::mapped_memory_ddt_size |
Length of mmapped DDT if userDataDdt is mmapped.
Definition at line 193 of file context.h.
Referenced by aaruf_close(), and process_ddt_v1().
| md5_ctx aaruformat_context::md5_context |
Opaque MD5 context for streaming updates.
Definition at line 270 of file context.h.
Referenced by aaruf_create(), aaruf_write_sector(), aaruf_write_sector_long(), and write_checksum_block().
| uint8_t* aaruformat_context::media_barcode |
Barcode of the media represented by the image.
Definition at line 222 of file context.h.
Referenced by aaruf_clear_media_barcode(), aaruf_get_media_barcode(), aaruf_set_media_barcode(), process_metadata_block(), and write_metadata_block().
| uint8_t* aaruformat_context::media_manufacturer |
Manufacturer of the media represented by the image.
Definition at line 219 of file context.h.
Referenced by aaruf_clear_media_manufacturer(), aaruf_get_media_manufacturer(), aaruf_set_media_manufacturer(), process_metadata_block(), and write_metadata_block().
| uint8_t* aaruformat_context::media_model |
Model of the media represented by the image.
Definition at line 220 of file context.h.
Referenced by aaruf_clear_media_model(), aaruf_get_media_model(), aaruf_set_media_model(), process_metadata_block(), and write_metadata_block().
| uint8_t* aaruformat_context::media_part_number |
Part number of the media represented by the image.
Definition at line 223 of file context.h.
Referenced by aaruf_clear_media_part_number(), aaruf_get_media_part_number(), aaruf_set_media_part_number(), process_metadata_block(), and write_metadata_block().
| int32_t aaruformat_context::media_sequence |
Number in sequence for the media represented by the image.
Definition at line 238 of file context.h.
Referenced by process_metadata_block().
| uint8_t* aaruformat_context::media_serial_number |
Serial number of the media represented by the image.
Definition at line 221 of file context.h.
Referenced by aaruf_clear_media_serial_number(), aaruf_get_media_serial_number(), aaruf_set_media_serial_number(), process_metadata_block(), and write_metadata_block().
| uint8_t* aaruformat_context::media_title |
Title of the media represented by the image.
Definition at line 217 of file context.h.
Referenced by aaruf_clear_media_title(), aaruf_get_media_title(), aaruf_set_media_title(), process_metadata_block(), and write_metadata_block().
| mediaTagEntry* aaruformat_context::mediaTags |
Hash table of extra media tags (uthash root).
Definition at line 264 of file context.h.
Referenced by aaruf_close(), aaruf_read_media_tag(), aaruf_write_media_tag(), process_data_block(), and write_media_tags().
| uint8_t* aaruformat_context::metadata_block |
Raw metadata UTF-16LE concatenated strings.
Definition at line 213 of file context.h.
Referenced by aaruf_close(), and process_metadata_block().
| MetadataBlockHeader aaruformat_context::metadata_block_header |
Metadata block header.
Definition at line 230 of file context.h.
Referenced by aaruf_clear_comments(), aaruf_clear_creator(), aaruf_clear_drive_firmware_revision(), aaruf_clear_drive_manufacturer(), aaruf_clear_drive_model(), aaruf_clear_drive_serial_number(), aaruf_clear_media_barcode(), aaruf_clear_media_manufacturer(), aaruf_clear_media_model(), aaruf_clear_media_part_number(), aaruf_clear_media_sequence(), aaruf_clear_media_serial_number(), aaruf_clear_media_title(), aaruf_get_comments(), aaruf_get_creator(), aaruf_get_drive_firmware_revision(), aaruf_get_drive_manufacturer(), aaruf_get_drive_model(), aaruf_get_drive_serial_number(), aaruf_get_media_barcode(), aaruf_get_media_manufacturer(), aaruf_get_media_model(), aaruf_get_media_part_number(), aaruf_get_media_sequence(), aaruf_get_media_serial_number(), aaruf_get_media_title(), aaruf_set_comments(), aaruf_set_creator(), aaruf_set_drive_firmware_revision(), aaruf_set_drive_manufacturer(), aaruf_set_drive_model(), aaruf_set_drive_serial_number(), aaruf_set_media_barcode(), aaruf_set_media_manufacturer(), aaruf_set_media_model(), aaruf_set_media_part_number(), aaruf_set_media_sequence(), aaruf_set_media_serial_number(), aaruf_set_media_title(), process_metadata_block(), and write_metadata_block().
| uint8_t* aaruformat_context::mode2_subheaders |
MODE2 Form1/Form2 8-byte subheaders (concatenated).
Definition at line 204 of file context.h.
Referenced by aaruf_close(), aaruf_read_sector_long(), aaruf_write_sector_long(), process_data_block(), and write_mode2_subheaders_block().
| uint64_t aaruformat_context::next_block_position |
Absolute file offset where next block will be written.
Definition at line 282 of file context.h.
Referenced by aaruf_close_current_block(), aaruf_create(), aaruf_write_sector(), and set_ddt_multi_level_v2().
| uint8_t aaruformat_context::number_of_data_tracks |
Count of tracks considered "data" (sequence 1..99 heuristics).
Definition at line 245 of file context.h.
Referenced by aaruf_read_sector_long(), aaruf_read_track_sector(), aaruf_set_tracks(), and process_tracks_block().
| uint64_t aaruformat_context::primary_ddt_offset |
File offset of the primary DDT v2 table.
Definition at line 192 of file context.h.
Referenced by aaruf_create(), process_ddt_v2(), set_ddt_multi_level_v2(), write_cached_secondary_ddt(), and write_primary_ddt().
| bool* aaruformat_context::readableSectorTags |
Per-sector boolean array (optical tags read successfully?).
Definition at line 263 of file context.h.
Referenced by aaruf_close(), aaruf_create(), aaruf_open(), cleanup_failed_create(), cleanup_open_failure(), and process_data_block().
| bool aaruformat_context::rewinded |
True if stream has been rewound after open (write path).
Definition at line 293 of file context.h.
Referenced by aaruf_create(), aaruf_write_sector(), and aaruf_write_sector_long().
| uint8_t* aaruformat_context::sector_cpr_mai |
DVD sector CPR_MAI (6 bytes) if present.
Definition at line 207 of file context.h.
Referenced by aaruf_close(), aaruf_read_sector_long(), aaruf_read_sector_tag(), aaruf_write_sector_long(), aaruf_write_sector_tag(), process_data_block(), and write_dvd_long_sector_blocks().
| uint8_t* aaruformat_context::sector_decrypted_title_key |
DVD decrypted title key (5 bytes) if present.
Definition at line 209 of file context.h.
Referenced by aaruf_read_sector_tag(), aaruf_write_sector_tag(), process_data_block(), and write_dvd_title_key_decrypted_block().
| uint8_t* aaruformat_context::sector_edc |
DVD sector EDC (4 bytes) if present.
Definition at line 208 of file context.h.
Referenced by aaruf_close(), aaruf_read_sector_long(), aaruf_read_sector_tag(), aaruf_write_sector_long(), aaruf_write_sector_tag(), process_data_block(), and write_dvd_long_sector_blocks().
| hash_map_t* aaruformat_context::sector_hash_map |
Deduplication hash map (fingerprint->entry mapping).
Definition at line 253 of file context.h.
Referenced by aaruf_close(), aaruf_create(), aaruf_write_sector(), and cleanup_failed_create().
| uint8_t* aaruformat_context::sector_id |
DVD sector ID (4 bytes) if present.
Definition at line 205 of file context.h.
Referenced by aaruf_close(), aaruf_read_sector_long(), aaruf_read_sector_tag(), aaruf_write_sector_long(), aaruf_write_sector_tag(), process_data_block(), and write_dvd_long_sector_blocks().
| uint8_t* aaruformat_context::sector_ied |
DVD sector IED (2 bytes) if present.
Definition at line 206 of file context.h.
Referenced by aaruf_close(), aaruf_read_sector_long(), aaruf_read_sector_tag(), aaruf_write_sector_long(), aaruf_write_sector_tag(), process_data_block(), and write_dvd_long_sector_blocks().
| uint8_t* aaruformat_context::sector_prefix |
Raw per-sector prefix (e.g., sync+header) uncorrected.
Definition at line 199 of file context.h.
Referenced by aaruf_close(), aaruf_read_sector_long(), aaruf_write_sector_long(), process_data_block(), and write_sector_prefix().
| uint8_t* aaruformat_context::sector_prefix_corrected |
Corrected variant (post error correction) if stored.
Definition at line 200 of file context.h.
Referenced by aaruf_close(), aaruf_read_sector_long(), and process_data_block().
| uint32_t* aaruformat_context::sector_prefix_ddt |
Legacy CD sector prefix DDT (deprecated by *2).
Definition at line 183 of file context.h.
Referenced by aaruf_close(), aaruf_read_sector_long(), and process_ddt_v1().
| uint64_t* aaruformat_context::sector_prefix_ddt2 |
CD sector prefix DDT V2.
Definition at line 185 of file context.h.
Referenced by aaruf_close(), aaruf_read_sector_long(), aaruf_write_sector_long(), process_ddt_v2(), and write_sector_prefix_ddt().
| size_t aaruformat_context::sector_prefix_length |
Length of sector_prefix.
Definition at line 284 of file context.h.
Referenced by aaruf_write_sector_long().
| size_t aaruformat_context::sector_prefix_offset |
Current position in sector_prefix.
Definition at line 286 of file context.h.
Referenced by aaruf_write_sector_long(), and write_sector_prefix().
| uint8_t* aaruformat_context::sector_subchannel |
Raw 96-byte subchannel (if captured).
Definition at line 203 of file context.h.
Referenced by aaruf_close(), aaruf_read_sector_long(), aaruf_read_sector_tag(), aaruf_write_sector_long(), aaruf_write_sector_tag(), process_data_block(), and write_sector_subchannel().
| uint8_t* aaruformat_context::sector_suffix |
Raw per-sector suffix (EDC/ECC) uncorrected.
Definition at line 201 of file context.h.
Referenced by aaruf_close(), aaruf_read_sector_long(), aaruf_write_sector_long(), process_data_block(), and write_sector_suffix().
| uint8_t* aaruformat_context::sector_suffix_corrected |
Corrected suffix if stored separately.
Definition at line 202 of file context.h.
Referenced by aaruf_close(), aaruf_read_sector_long(), and process_data_block().
| uint32_t* aaruformat_context::sector_suffix_ddt |
Legacy CD sector suffix DDT.
Definition at line 184 of file context.h.
Referenced by aaruf_close(), aaruf_read_sector_long(), and process_ddt_v1().
| uint64_t* aaruformat_context::sector_suffix_ddt2 |
CD sector suffix DDT V2.
Definition at line 186 of file context.h.
Referenced by aaruf_close(), aaruf_read_sector_long(), aaruf_write_sector_long(), process_ddt_v2(), and write_sector_suffix_ddt().
| size_t aaruformat_context::sector_suffix_length |
Length of sector_suffix.
Definition at line 285 of file context.h.
Referenced by aaruf_write_sector_long().
| size_t aaruformat_context::sector_suffix_offset |
Current position in sector_suffix.
Definition at line 287 of file context.h.
Referenced by aaruf_write_sector_long(), and write_sector_suffix().
| uint32_t aaruformat_context::sectors_per_track |
Sectors per track of the media represented by the image (for variable image, the smallest)
Definition at line 236 of file context.h.
Referenced by aaruf_open(), aaruf_set_geometry(), and process_geometry_block().
| sha1_ctx aaruformat_context::sha1_context |
Opaque SHA-1 context for streaming updates.
Definition at line 271 of file context.h.
Referenced by aaruf_create(), aaruf_write_sector(), aaruf_write_sector_long(), and write_checksum_block().
| sha256_ctx aaruformat_context::sha256_context |
Opaque SHA-256 context for streaming updates.
Definition at line 272 of file context.h.
Referenced by aaruf_create(), aaruf_write_sector(), aaruf_write_sector_long(), and write_checksum_block().
| uint8_t aaruformat_context::shift |
Legacy overall shift (deprecated by data_shift/table_shift).
Definition at line 195 of file context.h.
Referenced by aaruf_create(), aaruf_open(), decode_ddt_entry_v1(), and process_ddt_v1().
| spamsum_ctx* aaruformat_context::spamsum_context |
Opaque SpamSum context for streaming updates.
Definition at line 267 of file context.h.
Referenced by aaruf_create(), aaruf_write_sector(), aaruf_write_sector_long(), cleanup_failed_create(), and write_checksum_block().
| TapeDdtHashEntry* aaruformat_context::tape_ddt |
Hash table root for tape DDT entries.
Definition at line 182 of file context.h.
Referenced by aaruf_create(), set_ddt_tape(), and write_tape_ddt().
| tapeFileHashEntry* aaruformat_context::tape_files |
Hash table root for tape files.
Definition at line 302 of file context.h.
Referenced by aaruf_get_tape_file(), aaruf_set_tape_file(), process_tape_files_block(), and write_tape_file_block().
| TapePartitionHashEntry* aaruformat_context::tape_partitions |
Hash table root for tape partitions.
Definition at line 303 of file context.h.
Referenced by aaruf_get_tape_partition(), aaruf_set_tape_partition(), process_tape_partitions_block(), and write_tape_partition_block().
| TrackEntry* aaruformat_context::track_entries |
Full track list (tracksHeader.entries elements).
Definition at line 242 of file context.h.
Referenced by aaruf_close(), aaruf_get_tracks(), aaruf_read_sector_tag(), aaruf_set_tracks(), aaruf_write_sector(), aaruf_write_sector_long(), aaruf_write_sector_tag(), process_tracks_block(), and write_tracks_block().
| TracksHeader aaruformat_context::tracks_header |
Tracks header (optical) if present.
Definition at line 244 of file context.h.
Referenced by aaruf_get_tracks(), aaruf_read_sector_tag(), aaruf_set_tracks(), aaruf_write_sector(), aaruf_write_sector_long(), aaruf_write_sector_tag(), process_tracks_block(), and write_tracks_block().
| uint64_t* aaruformat_context::user_data_ddt |
Legacy flat DDT pointer (NULL when using v2 mini/big arrays).
Definition at line 181 of file context.h.
Referenced by aaruf_close(), decode_ddt_entry_v1(), and process_ddt_v1().
| uint64_t* aaruformat_context::user_data_ddt2 |
DDT entries (big variant) primary/secondary current.
Definition at line 187 of file context.h.
Referenced by aaruf_create(), cleanup_failed_create(), decode_ddt_multi_level_v2(), decode_ddt_single_level_v2(), process_ddt_v2(), set_ddt_multi_level_v2(), set_ddt_single_level_v2(), write_cached_secondary_ddt(), write_primary_ddt(), write_single_level_ddt(), and write_tape_ddt().
| DdtHeader2 aaruformat_context::user_data_ddt_header |
Active user data DDT v2 header (primary table meta).
Definition at line 189 of file context.h.
Referenced by aaruf_close_current_block(), aaruf_create(), aaruf_get_negative_sectors(), aaruf_get_overflow_sectors(), aaruf_get_user_sectors(), aaruf_read_sector(), aaruf_read_sector_long(), aaruf_read_sector_tag(), aaruf_write_sector(), aaruf_write_sector_long(), aaruf_write_sector_tag(), decode_ddt_entry_v2(), decode_ddt_multi_level_v2(), decode_ddt_single_level_v2(), process_ddt_v2(), set_ddt_entry_v2(), set_ddt_multi_level_v2(), set_ddt_single_level_v2(), set_ddt_tape(), write_aaru_json_block(), write_cached_secondary_ddt(), write_checksum_block(), write_cicm_block(), write_dumphw_block(), write_dvd_long_sector_blocks(), write_dvd_title_key_decrypted_block(), write_geometry_block(), write_index_block(), write_media_tags(), write_metadata_block(), write_mode2_subheaders_block(), write_primary_ddt(), write_sector_prefix(), write_sector_prefix_ddt(), write_sector_subchannel(), write_sector_suffix(), write_sector_suffix_ddt(), write_single_level_ddt(), write_tape_ddt(), write_tape_file_block(), write_tape_partition_block(), and write_tracks_block().
| uint8_t* aaruformat_context::writing_buffer |
Accumulation buffer for current block data.
Definition at line 280 of file context.h.
Referenced by aaruf_close(), aaruf_close_current_block(), aaruf_write_sector(), and set_ddt_multi_level_v2().
| int aaruformat_context::writing_buffer_position |
Current size / position within writingBuffer.
Definition at line 289 of file context.h.
Referenced by aaruf_close_current_block(), and aaruf_write_sector().
| bool aaruformat_context::writing_long |
True if writing long sectors.
Definition at line 294 of file context.h.
Referenced by aaruf_write_sector(), and aaruf_write_sector_long().