|
libaaruformat 1.0
Aaru Data Preservation Suite - Format Library
|
On-disk container header structures (v1 and v2) for Aaru images. More...
Go to the source code of this file.
Data Structures | |
| struct | AaruHeader |
| Version 1 container header placed at offset 0 for legacy / initial format. More... | |
| struct | AaruHeaderV2 |
| Version 2 container header with GUID, alignment shifts, and feature negotiation bitmaps. More... | |
Macros | |
| #define | AARU_HEADER_APP_NAME_LEN 64 |
| Size in bytes (UTF-16LE) of application name field (32 UTF-16 code units). | |
| #define | GUID_SIZE 16 |
| Size in bytes of GUID / UUID-like binary identifier. | |
Typedefs | |
| typedef struct AaruHeader | AaruHeader |
| typedef struct AaruHeaderV2 | AaruHeaderV2 |
On-disk container header structures (v1 and v2) for Aaru images.
These packed headers appear at the very beginning (offset 0) of every Aaru image file and advertise container format version, creator application, indexing offset and optional extended feature capability bitfields (v2+). All multi-byte integers are little-endian. Strings stored in the fixed-size application field are UTF‑16LE and zero padded (not necessarily NUL-terminated if fully filled). The GUID field (v2) allows derivative / child images to reference an origin.
Version progression:
Compatibility handling (recommended logic for consumers):
Alignment & shift semantics (duplicated here for quick reference, see DdtHeader2 for full details):
Invariants:
Security / robustness considerations:
Definition in file header.h.
| #define AARU_HEADER_APP_NAME_LEN 64 |
Size in bytes (UTF-16LE) of application name field (32 UTF-16 code units).
Definition at line 59 of file header.h.
Referenced by aaruf_create(), and aaruf_open().
| #define GUID_SIZE 16 |
Size in bytes of GUID / UUID-like binary identifier.
Definition at line 60 of file header.h.
Referenced by aaruf_create().
| typedef struct AaruHeader AaruHeader |
| typedef struct AaruHeaderV2 AaruHeaderV2 |