Loading...
Searching...
No Matches
IndexHeader3 Struct Reference

Index header (version 3) adding hierarchical chaining (identifier == IndexBlock3). More...

`#include <aaruformat/structs/index.h>`

## Data Fields

uint32_t | identifier
| Block identifier (must be BlockType::IndexBlock3).
uint64_t | entries
| Number of IndexEntry records that follow in this (sub)index block.
uint64_t | crc64
| CRC64-ECMA of the local entries array (does NOT cover subindexes or previous chains).
uint64_t | previous
| File offset of a previous IndexBlock3 header (0 if none / root segment).

## Detailed Description

Index header (version 3) adding hierarchical chaining (identifier == IndexBlock3).

Supports flattened hierarchical indexes: entries referencing additional IndexBlock3 subindexes. The 'previous' pointer allows chaining earlier index segments (e.g., incremental append) enabling cumulative discovery without rewriting earlier headers.

Definition at line 92 of file index.h.

## Field Documentation

## crc64

uint64_t IndexHeader3::crc64

CRC64-ECMA of the local entries array (does NOT cover subindexes or previous chains).

Definition at line 96 of file index.h.

Referenced by verify_index_v3(), and write_index_block().

## entries

uint64_t IndexHeader3::entries

Number of IndexEntry records that follow in this (sub)index block.

Definition at line 95 of file index.h.

Referenced by add_subindex_entries(), process_index_v3(), verify_index_v3(), and write_index_block().

## identifier

uint32_t IndexHeader3::identifier

Block identifier (must be BlockType::IndexBlock3).

Definition at line 94 of file index.h.

Referenced by add_subindex_entries(), process_index_v3(), verify_index_v3(), and write_index_block().

## previous

uint64_t IndexHeader3::previous

File offset of a previous IndexBlock3 header (0 if none / root segment).

Definition at line 97 of file index.h.

Referenced by write_index_block().

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

- include/aaruformat/structs/index.h