libaaruformat 1.0
Aaru Data Preservation Suite - Format Library
Loading...
Searching...
No Matches
FluxHeader Struct Reference

Header structure for a FluxDataBlock containing flux capture metadata. More...

#include <aaruformat/structs/flux.h>

Data Fields

uint32_t identifier
 Block identifier, must be BlockType::FluxDataBlock (0x58554C46, "FLUX").
uint16_t entries
 Number of FluxEntry records following this header. Maximum value: 65535.
uint8_t blockAlignmentShift
 Block alignment shift: 2^blockAlignmentShift = block alignment boundary in bytes.
uint64_t crc64
 CRC64-ECMA checksum of the FluxEntry array (header excluded).

Detailed Description

Header structure for a FluxDataBlock containing flux capture metadata.

This structure is the header of a FluxDataBlock, which lists all flux captures in the image. The block contains this header followed by an array of FluxEntry structures, one for each flux capture.

The header includes a CRC64 checksum computed over the FluxEntry array to ensure data integrity. The identifier field must match BlockType::FluxDataBlock (0x58554C46, "FLUX" in ASCII).

The blockAlignmentShift field stores the block alignment shift value used to decode the payloadOffset values in FluxEntry structures. This makes the block self-contained, similar to DDT headers, allowing correct decoding of offsets without requiring access to the main image header.

Note
Only one FluxDataBlock is allowed per image.
The entries field is limited to UINT16_MAX (65535) captures per image.
The blockAlignmentShift field is stored in the header to support reliable decoding of payloadOffset values, which are stored divided by (1 << blockAlignmentShift).

Definition at line 116 of file flux.h.

Field Documentation

◆ blockAlignmentShift

uint8_t FluxHeader::blockAlignmentShift

Block alignment shift: 2^blockAlignmentShift = block alignment boundary in bytes.

Definition at line 120 of file flux.h.

Referenced by aaruf_read_flux_capture(), and write_flux_blocks().

◆ crc64

uint64_t FluxHeader::crc64

CRC64-ECMA checksum of the FluxEntry array (header excluded).

Definition at line 121 of file flux.h.

Referenced by aaruf_write_flux_capture(), process_flux_data_block(), and write_flux_blocks().

◆ entries

uint16_t FluxHeader::entries

◆ identifier

uint32_t FluxHeader::identifier

Block identifier, must be BlockType::FluxDataBlock (0x58554C46, "FLUX").

Definition at line 118 of file flux.h.

Referenced by aaruf_write_flux_capture(), process_flux_data_block(), and write_flux_blocks().


The documentation for this struct was generated from the following file:
  • include/aaruformat/structs/flux.h