|
libaaruformat 1.0
Aaru Data Preservation Suite - Format Library
|
Data structures for flux transition capture support in Aaru disk images. More...
#include <stdint.h>Go to the source code of this file.
Data Structures | |
| struct | FluxHeader |
| Header structure for a FluxDataBlock containing flux capture metadata. More... | |
| struct | FluxEntry |
| Metadata entry describing a single flux capture in the FluxDataBlock. More... | |
| struct | FluxCaptureMeta |
| Metadata structure returned by aaruf_get_flux_captures(). More... | |
| struct | DataStreamPayloadHeader |
| Header structure for a DataStreamPayloadBlock containing data stream payload. More... | |
| struct | FluxCaptureRecord |
| Internal structure for storing flux capture data during write mode. More... | |
| struct | FluxCaptureKey |
| Key structure for flux capture lookup map. More... | |
Typedefs | |
| typedef struct FluxHeader | FluxHeader |
| typedef struct FluxEntry | FluxEntry |
| typedef struct FluxCaptureMeta | FluxCaptureMeta |
| typedef struct DataStreamPayloadHeader | DataStreamPayloadHeader |
| typedef struct FluxCaptureRecord | FluxCaptureRecord |
| typedef struct FluxCaptureKey | FluxCaptureKey |
Data structures for flux transition capture support in Aaru disk images.
This header defines structures used to represent flux transition data captured from magnetic media. Flux transitions are the raw analog signals read from magnetic storage devices (such as floppy disks, hard drives, and tape) before they are interpreted into digital data.
Flux Capture Overview: Certain hardware devices, such as Kryoflux, Pauline, and Applesauce, read magnetic media at the flux transition level rather than at the sector level. This provides a more complete representation of the analog properties of the media, allowing for advanced recovery techniques and preservation of media characteristics that would be lost in sector-level imaging.
Block Structure: Flux data is stored in two block types:
Data Organization: Each flux capture includes two data streams:
Capture Identification: Flux captures are uniquely identified by a tuple of (head, track, subtrack, captureIndex). This allows multiple captures for the same physical location, which is useful for capturing multiple revolutions of a floppy disk track or different read attempts.
Resolution: Each capture specifies two resolution values:
These resolutions determine the precision of the timing measurements and are hardware-dependent.
Storage Efficiency: Payload blocks support LZMA compression to reduce storage requirements. The compression is transparent to the API user - aaruf_read_flux_capture() handles decompression automatically.
Use Cases:
Definition in file flux.h.
| typedef struct DataStreamPayloadHeader DataStreamPayloadHeader |
| typedef struct FluxCaptureKey FluxCaptureKey |
| typedef struct FluxCaptureMeta FluxCaptureMeta |
| typedef struct FluxCaptureRecord FluxCaptureRecord |
| typedef struct FluxEntry FluxEntry |
| typedef struct FluxHeader FluxHeader |