Files
libaaruformat/docs/html/structFluxEntry.html

314 lines
20 KiB
HTML
Raw Permalink Normal View History

2026-01-04 16:05:30 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.15.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libaaruformat: FluxEntry Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">libaaruformat<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Aaru Data Preservation Suite - Format Library</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.15.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('structFluxEntry.html','',''); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">FluxEntry Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Metadata entry describing a single flux capture in the FluxDataBlock.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="flux_8h_source.html">aaruformat/structs/flux.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-pub-attribs" class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:a31cafff6f54acc9e019da447e94ace4a" id="r_a31cafff6f54acc9e019da447e94ace4a"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a31cafff6f54acc9e019da447e94ace4a">head</a></td></tr>
<tr class="memdesc:a31cafff6f54acc9e019da447e94ace4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Head number the flux capture corresponds to. Typically 0 or 1 for double-sided media. <br /></td></tr>
<tr class="memitem:a46108bba60946e7b7d4f41160e3dfd86" id="r_a46108bba60946e7b7d4f41160e3dfd86"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a46108bba60946e7b7d4f41160e3dfd86">track</a></td></tr>
<tr class="memdesc:a46108bba60946e7b7d4f41160e3dfd86"><td class="mdescLeft">&#160;</td><td class="mdescRight">Track number the flux capture corresponds to. Track numbering is format-dependent. <br /></td></tr>
<tr class="memitem:abd12c00010d82cd83820dd3405b7b860" id="r_abd12c00010d82cd83820dd3405b7b860"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abd12c00010d82cd83820dd3405b7b860">subtrack</a></td></tr>
<tr class="memdesc:abd12c00010d82cd83820dd3405b7b860"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subtrack number, allowing sub-stepping within a track. Used for fine positioning. <br /></td></tr>
<tr class="memitem:ae5af51709faf749501d44b242a57481c" id="r_ae5af51709faf749501d44b242a57481c"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae5af51709faf749501d44b242a57481c">captureIndex</a></td></tr>
<tr class="memdesc:ae5af51709faf749501d44b242a57481c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Capture index, allowing multiple captures for the same location (e.g., multiple revolutions). <br /></td></tr>
<tr class="memitem:a12f64e1c66187ebbbdcdf03916293c95" id="r_a12f64e1c66187ebbbdcdf03916293c95"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a12f64e1c66187ebbbdcdf03916293c95">indexResolution</a></td></tr>
<tr class="memdesc:a12f64e1c66187ebbbdcdf03916293c95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resolution in picoseconds at which the index stream was sampled. <br /></td></tr>
<tr class="memitem:a27c590b581f2ea33306f89e609c28c95" id="r_a27c590b581f2ea33306f89e609c28c95"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a27c590b581f2ea33306f89e609c28c95">dataResolution</a></td></tr>
<tr class="memdesc:a27c590b581f2ea33306f89e609c28c95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resolution in picoseconds at which the data stream was sampled. <br /></td></tr>
<tr class="memitem:aaaaaf686bec81c632f8de3131b540946" id="r_aaaaaf686bec81c632f8de3131b540946"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aaaaaf686bec81c632f8de3131b540946">indexOffset</a></td></tr>
<tr class="memdesc:aaaaaf686bec81c632f8de3131b540946"><td class="mdescLeft">&#160;</td><td class="mdescRight">Byte offset within the payload where the index buffer starts (equals data_length). <br /></td></tr>
<tr class="memitem:a3f5949d0feb9bdcf62afeb1acb1fa009" id="r_a3f5949d0feb9bdcf62afeb1acb1fa009"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3f5949d0feb9bdcf62afeb1acb1fa009">payloadOffset</a></td></tr>
<tr class="memdesc:a3f5949d0feb9bdcf62afeb1acb1fa009"><td class="mdescLeft">&#160;</td><td class="mdescRight">Block-aligned file offset where the DataStreamPayloadBlock containing this capture's data is stored, divided by (1 &lt;&lt; blockAlignmentShift). To get the absolute offset, multiply by (1 &lt;&lt; blockAlignmentShift) from <a class="el" href="structFluxHeader.html" title="Header structure for a FluxDataBlock containing flux capture metadata.">FluxHeader</a>. <br /></td></tr>
</table>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Metadata entry describing a single flux capture in the FluxDataBlock. </p>
<p>This structure describes one flux capture, including its location on the media, capture index, sampling resolutions, and file offsets to the payload data. Each <a class="el" href="structFluxEntry.html" title="Metadata entry describing a single flux capture in the FluxDataBlock.">FluxEntry</a> corresponds to one DataStreamPayloadBlock containing the actual flux data.</p>
<p><b>Location Identification:</b> 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).</p>
<p><b>Payload Access:</b> 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 <a class="el" href="structFluxHeader.html" title="Header structure for a FluxDataBlock containing flux capture metadata.">FluxHeader</a>), consistent with DDT table offset storage. To convert to an absolute file offset, multiply by (1 &lt;&lt; blockAlignmentShift). The indexOffset field indicates where the index buffer starts within the payload (the payload is stored as [data_buffer][index_buffer] concatenated).</p>
<p><b>Resolution:</b> 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.</p>
<dl class="section note"><dt>Note</dt><dd>The combination of (head, track, subtrack, captureIndex) uniquely identifies a flux capture within an image. </dd>
<dd>
The indexOffset equals the data_length, as the index buffer immediately follows the data buffer in the payload. </dd></dl>
<p class="definition">Definition at line <a class="el" href="flux_8h_source.html#l00155">155</a> of file <a class="el" href="flux_8h_source.html">flux.h</a>.</p>
</div><a name="doc-variable-members" id="doc-variable-members"></a><h2 id="header-doc-variable-members" class="groupheader">Field Documentation</h2>
<a id="ae5af51709faf749501d44b242a57481c" name="ae5af51709faf749501d44b242a57481c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5af51709faf749501d44b242a57481c">&#9670;&#160;</a></span>captureIndex</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t FluxEntry::captureIndex</td>
</tr>
</table>
</div><div class="memdoc">
<p>Capture index, allowing multiple captures for the same location (e.g., multiple revolutions). </p>
<p class="definition">Definition at line <a class="el" href="flux_8h_source.html#l00160">160</a> of file <a class="el" href="flux_8h_source.html">flux.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="flux_8c_source.html#l00497">aaruf_get_flux_captures()</a>, <a class="el" href="flux_8c_source.html#l01201">aaruf_read_flux_capture()</a>, <a class="el" href="flux_8c_source.html#l00616">aaruf_write_flux_capture()</a>, <a class="el" href="flux_8c_source.html#l00833">find_flux_entry_by_key()</a>, <a class="el" href="flux_8c_source.html#l00171">flux_map_rebuild_from_entries()</a>, and <a class="el" href="close_8c_source.html#l04371">write_flux_capture_payload()</a>.</p>
</div>
</div>
<a id="a27c590b581f2ea33306f89e609c28c95" name="a27c590b581f2ea33306f89e609c28c95"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a27c590b581f2ea33306f89e609c28c95">&#9670;&#160;</a></span>dataResolution</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t FluxEntry::dataResolution</td>
</tr>
</table>
</div><div class="memdoc">
<p>Resolution in picoseconds at which the data stream was sampled. </p>
<p class="definition">Definition at line <a class="el" href="flux_8h_source.html#l00162">162</a> of file <a class="el" href="flux_8h_source.html">flux.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="flux_8c_source.html#l00497">aaruf_get_flux_captures()</a>, <a class="el" href="flux_8c_source.html#l00616">aaruf_write_flux_capture()</a>, and <a class="el" href="close_8c_source.html#l04371">write_flux_capture_payload()</a>.</p>
</div>
</div>
<a id="a31cafff6f54acc9e019da447e94ace4a" name="a31cafff6f54acc9e019da447e94ace4a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31cafff6f54acc9e019da447e94ace4a">&#9670;&#160;</a></span>head</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t FluxEntry::head</td>
</tr>
</table>
</div><div class="memdoc">
<p>Head number the flux capture corresponds to. Typically 0 or 1 for double-sided media. </p>
<p class="definition">Definition at line <a class="el" href="flux_8h_source.html#l00157">157</a> of file <a class="el" href="flux_8h_source.html">flux.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="flux_8c_source.html#l00497">aaruf_get_flux_captures()</a>, <a class="el" href="flux_8c_source.html#l01201">aaruf_read_flux_capture()</a>, <a class="el" href="flux_8c_source.html#l00616">aaruf_write_flux_capture()</a>, <a class="el" href="flux_8c_source.html#l00833">find_flux_entry_by_key()</a>, <a class="el" href="flux_8c_source.html#l00171">flux_map_rebuild_from_entries()</a>, and <a class="el" href="close_8c_source.html#l04371">write_flux_capture_payload()</a>.</p>
</div>
</div>
<a id="aaaaaf686bec81c632f8de3131b540946" name="aaaaaf686bec81c632f8de3131b540946"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaaaaf686bec81c632f8de3131b540946">&#9670;&#160;</a></span>indexOffset</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t FluxEntry::indexOffset</td>
</tr>
</table>
</div><div class="memdoc">
<p>Byte offset within the payload where the index buffer starts (equals data_length). </p>
<p class="definition">Definition at line <a class="el" href="flux_8h_source.html#l00163">163</a> of file <a class="el" href="flux_8h_source.html">flux.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="flux_8c_source.html#l00616">aaruf_write_flux_capture()</a>, <a class="el" href="flux_8c_source.html#l01088">extract_flux_data_buffers()</a>, and <a class="el" href="close_8c_source.html#l04371">write_flux_capture_payload()</a>.</p>
</div>
</div>
<a id="a12f64e1c66187ebbbdcdf03916293c95" name="a12f64e1c66187ebbbdcdf03916293c95"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a12f64e1c66187ebbbdcdf03916293c95">&#9670;&#160;</a></span>indexResolution</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t FluxEntry::indexResolution</td>
</tr>
</table>
</div><div class="memdoc">
<p>Resolution in picoseconds at which the index stream was sampled. </p>
<p class="definition">Definition at line <a class="el" href="flux_8h_source.html#l00161">161</a> of file <a class="el" href="flux_8h_source.html">flux.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="flux_8c_source.html#l00497">aaruf_get_flux_captures()</a>, <a class="el" href="flux_8c_source.html#l00616">aaruf_write_flux_capture()</a>, and <a class="el" href="close_8c_source.html#l04371">write_flux_capture_payload()</a>.</p>
</div>
</div>
<a id="a3f5949d0feb9bdcf62afeb1acb1fa009" name="a3f5949d0feb9bdcf62afeb1acb1fa009"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f5949d0feb9bdcf62afeb1acb1fa009">&#9670;&#160;</a></span>payloadOffset</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t FluxEntry::payloadOffset</td>
</tr>
</table>
</div><div class="memdoc">
<p>Block-aligned file offset where the DataStreamPayloadBlock containing this capture's data is stored, divided by (1 &lt;&lt; blockAlignmentShift). To get the absolute offset, multiply by (1 &lt;&lt; blockAlignmentShift) from <a class="el" href="structFluxHeader.html" title="Header structure for a FluxDataBlock containing flux capture metadata.">FluxHeader</a>. </p>
<p class="definition">Definition at line <a class="el" href="flux_8h_source.html#l00164">164</a> of file <a class="el" href="flux_8h_source.html">flux.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="flux_8c_source.html#l01201">aaruf_read_flux_capture()</a>, <a class="el" href="flux_8c_source.html#l00616">aaruf_write_flux_capture()</a>, and <a class="el" href="close_8c_source.html#l04371">write_flux_capture_payload()</a>.</p>
</div>
</div>
<a id="abd12c00010d82cd83820dd3405b7b860" name="abd12c00010d82cd83820dd3405b7b860"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd12c00010d82cd83820dd3405b7b860">&#9670;&#160;</a></span>subtrack</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t FluxEntry::subtrack</td>
</tr>
</table>
</div><div class="memdoc">
<p>Subtrack number, allowing sub-stepping within a track. Used for fine positioning. </p>
<p class="definition">Definition at line <a class="el" href="flux_8h_source.html#l00159">159</a> of file <a class="el" href="flux_8h_source.html">flux.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="flux_8c_source.html#l00497">aaruf_get_flux_captures()</a>, <a class="el" href="flux_8c_source.html#l01201">aaruf_read_flux_capture()</a>, <a class="el" href="flux_8c_source.html#l00616">aaruf_write_flux_capture()</a>, <a class="el" href="flux_8c_source.html#l00833">find_flux_entry_by_key()</a>, <a class="el" href="flux_8c_source.html#l00171">flux_map_rebuild_from_entries()</a>, and <a class="el" href="close_8c_source.html#l04371">write_flux_capture_payload()</a>.</p>
</div>
</div>
<a id="a46108bba60946e7b7d4f41160e3dfd86" name="a46108bba60946e7b7d4f41160e3dfd86"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46108bba60946e7b7d4f41160e3dfd86">&#9670;&#160;</a></span>track</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t FluxEntry::track</td>
</tr>
</table>
</div><div class="memdoc">
<p>Track number the flux capture corresponds to. Track numbering is format-dependent. </p>
<p class="definition">Definition at line <a class="el" href="flux_8h_source.html#l00158">158</a> of file <a class="el" href="flux_8h_source.html">flux.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="flux_8c_source.html#l00497">aaruf_get_flux_captures()</a>, <a class="el" href="flux_8c_source.html#l01201">aaruf_read_flux_capture()</a>, <a class="el" href="flux_8c_source.html#l00616">aaruf_write_flux_capture()</a>, <a class="el" href="flux_8c_source.html#l00833">find_flux_entry_by_key()</a>, <a class="el" href="flux_8c_source.html#l00171">flux_map_rebuild_from_entries()</a>, and <a class="el" href="close_8c_source.html#l04371">write_flux_capture_payload()</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>include/aaruformat/structs/<a class="el" href="flux_8h_source.html">flux.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="page-nav" class="page-nav-panel">
<div id="page-nav-resize-handle"></div>
<div id="page-nav-tree">
<div id="page-nav-contents">
</div><!-- page-nav-contents -->
</div><!-- page-nav-tree -->
</div><!-- page-nav -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a href="structFluxEntry.html">FluxEntry</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0 </li>
</ul>
</div>
</body>
</html>