|
libaaruformat 1.0
Aaru Data Preservation Suite - Format Library
|
Metadata entry describing a single flux capture in the FluxDataBlock. More...
#include <aaruformat/structs/flux.h>
Data Fields | |
| uint32_t | head |
| Head number the flux capture corresponds to. Typically 0 or 1 for double-sided media. | |
| uint16_t | track |
| Track number the flux capture corresponds to. Track numbering is format-dependent. | |
| uint8_t | subtrack |
| Subtrack number, allowing sub-stepping within a track. Used for fine positioning. | |
| uint32_t | captureIndex |
| Capture index, allowing multiple captures for the same location (e.g., multiple revolutions). | |
| uint64_t | indexResolution |
| Resolution in picoseconds at which the index stream was sampled. | |
| uint64_t | dataResolution |
| Resolution in picoseconds at which the data stream was sampled. | |
| uint64_t | indexOffset |
| Byte offset within the payload where the index buffer starts (equals data_length). | |
| uint64_t | payloadOffset |
| Block-aligned file offset where the DataStreamPayloadBlock containing this capture's data is stored, divided by (1 << blockAlignmentShift). To get the absolute offset, multiply by (1 << blockAlignmentShift) from FluxHeader. | |
Metadata entry describing a single flux capture in the FluxDataBlock.
This structure describes one flux capture, including its location on the media, capture index, sampling resolutions, and file offsets to the payload data. Each FluxEntry corresponds to one DataStreamPayloadBlock containing the actual flux data.
Location Identification: The head, track, and subtrack fields identify the physical location on the media where the capture was taken. The captureIndex allows multiple captures for the same location (e.g., multiple revolutions of a floppy disk track).
Payload Access: The payloadOffset field points to the file offset where the corresponding DataStreamPayloadBlock is stored. The offset is stored divided by the block alignment (blockAlignmentShift from FluxHeader), consistent with DDT table offset storage. To convert to an absolute file offset, multiply by (1 << blockAlignmentShift). The indexOffset field indicates where the index buffer starts within the payload (the payload is stored as [data_buffer][index_buffer] concatenated).
Resolution: Both indexResolution and dataResolution are specified in picoseconds, indicating the precision of the timing measurements. These values are hardware-dependent and determine how accurately the flux transitions are represented.
| uint32_t FluxEntry::captureIndex |
Capture index, allowing multiple captures for the same location (e.g., multiple revolutions).
Definition at line 160 of file flux.h.
Referenced by aaruf_get_flux_captures(), aaruf_read_flux_capture(), aaruf_write_flux_capture(), find_flux_entry_by_key(), flux_map_rebuild_from_entries(), and write_flux_capture_payload().
| uint64_t FluxEntry::dataResolution |
Resolution in picoseconds at which the data stream was sampled.
Definition at line 162 of file flux.h.
Referenced by aaruf_get_flux_captures(), aaruf_write_flux_capture(), and write_flux_capture_payload().
| uint32_t FluxEntry::head |
Head number the flux capture corresponds to. Typically 0 or 1 for double-sided media.
Definition at line 157 of file flux.h.
Referenced by aaruf_get_flux_captures(), aaruf_read_flux_capture(), aaruf_write_flux_capture(), find_flux_entry_by_key(), flux_map_rebuild_from_entries(), and write_flux_capture_payload().
| uint64_t FluxEntry::indexOffset |
Byte offset within the payload where the index buffer starts (equals data_length).
Definition at line 163 of file flux.h.
Referenced by aaruf_write_flux_capture(), extract_flux_data_buffers(), and write_flux_capture_payload().
| uint64_t FluxEntry::indexResolution |
Resolution in picoseconds at which the index stream was sampled.
Definition at line 161 of file flux.h.
Referenced by aaruf_get_flux_captures(), aaruf_write_flux_capture(), and write_flux_capture_payload().
| uint64_t FluxEntry::payloadOffset |
Block-aligned file offset where the DataStreamPayloadBlock containing this capture's data is stored, divided by (1 << blockAlignmentShift). To get the absolute offset, multiply by (1 << blockAlignmentShift) from FluxHeader.
Definition at line 164 of file flux.h.
Referenced by aaruf_read_flux_capture(), aaruf_write_flux_capture(), and write_flux_capture_payload().
| uint8_t FluxEntry::subtrack |
Subtrack number, allowing sub-stepping within a track. Used for fine positioning.
Definition at line 159 of file flux.h.
Referenced by aaruf_get_flux_captures(), aaruf_read_flux_capture(), aaruf_write_flux_capture(), find_flux_entry_by_key(), flux_map_rebuild_from_entries(), and write_flux_capture_payload().
| uint16_t FluxEntry::track |
Track number the flux capture corresponds to. Track numbering is format-dependent.
Definition at line 158 of file flux.h.
Referenced by aaruf_get_flux_captures(), aaruf_read_flux_capture(), aaruf_write_flux_capture(), find_flux_entry_by_key(), flux_map_rebuild_from_entries(), and write_flux_capture_payload().