|
libaaruformat 1.0
Aaru Data Preservation Suite - Format Library
|
On‑disk index block header and entry structures (versions 1, 2 and 3). More...
Go to the source code of this file.
Data Structures | |
| struct | IndexHeader |
| Index header (version 1) for legacy images (identifier == IndexBlock). More... | |
| struct | IndexHeader2 |
| Index header (version 2) with 64‑bit entry counter (identifier == IndexBlock2). More... | |
| struct | IndexHeader3 |
| Index header (version 3) adding hierarchical chaining (identifier == IndexBlock3). More... | |
| struct | IndexEntry |
| Single index entry describing a block's type, (optional) data classification, and file offset. More... | |
Typedefs | |
| typedef struct IndexHeader | IndexHeader |
| typedef struct IndexHeader2 | IndexHeader2 |
| typedef struct IndexHeader3 | IndexHeader3 |
| typedef struct IndexEntry | IndexEntry |
On‑disk index block header and entry structures (versions 1, 2 and 3).
The index provides a directory of all blocks contained in an Aaru image. Each index block starts with a versioned header (IndexHeader / IndexHeader2 / IndexHeader3) followed by a contiguous array of fixed‑size IndexEntry records. Version 3 adds support for hierarchical (chained / nested) subindexes.
Version mapping by block identifier (see BlockType):
CRC coverage & endianness:
Hierarchical (v3) behavior:
Invariants / validation recommendations:
Notes:
See also: verify_index_v1(), verify_index_v2(), verify_index_v3() for integrity procedures.
Definition in file index.h.
| typedef struct IndexEntry IndexEntry |
| typedef struct IndexHeader IndexHeader |
| typedef struct IndexHeader2 IndexHeader2 |
| typedef struct IndexHeader3 IndexHeader3 |