<ahref="flux_8h.html">Go to the documentation of this file.</a><divclass="fragment"><divclass="line"><aid="l00001"name="l00001"></a><spanclass="lineno"> 1</span><spanclass="comment">/*</span></div>
<divclass="line"><aid="l00002"name="l00002"></a><spanclass="lineno"> 2</span><spanclass="comment"> * This file is part of the Aaru Data Preservation Suite.</span></div>
<divclass="line"><aid="l00005"name="l00005"></a><spanclass="lineno"> 5</span><spanclass="comment"> * This library is free software; you can redistribute it and/or modify</span></div>
<divclass="line"><aid="l00006"name="l00006"></a><spanclass="lineno"> 6</span><spanclass="comment"> * it under the terms of the GNU Lesser General Public License as</span></div>
<divclass="line"><aid="l00007"name="l00007"></a><spanclass="lineno"> 7</span><spanclass="comment"> * published by the Free Software Foundation; either version 2.1 of the</span></div>
<divclass="line"><aid="l00008"name="l00008"></a><spanclass="lineno"> 8</span><spanclass="comment"> * License, or (at your option) any later version.</span></div>
<divclass="line"><aid="l00010"name="l00010"></a><spanclass="lineno"> 10</span><spanclass="comment"> * This library is distributed in the hope that it will be useful, but</span></div>
<divclass="line"><aid="l00011"name="l00011"></a><spanclass="lineno"> 11</span><spanclass="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<divclass="line"><aid="l00012"name="l00012"></a><spanclass="lineno"> 12</span><spanclass="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
<divclass="line"><aid="l00013"name="l00013"></a><spanclass="lineno"> 13</span><spanclass="comment"> * Lesser General Public License for more details.</span></div>
<divclass="line"><aid="l00015"name="l00015"></a><spanclass="lineno"> 15</span><spanclass="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
<divclass="line"><aid="l00016"name="l00016"></a><spanclass="lineno"> 16</span><spanclass="comment"> * License along with this library; if not, see <http://www.gnu.org/licenses/>.</span></div>
<divclass="ttc"id="astructDataStreamPayloadHeader_html"><divclass="ttname"><ahref="structDataStreamPayloadHeader.html">DataStreamPayloadHeader</a></div><divclass="ttdoc">Header structure for a DataStreamPayloadBlock containing data stream payload.</div><divclass="ttdef"><b>Definition</b><ahref="#l00242">flux.h:243</a></div></div>
<divclass="ttc"id="astructDataStreamPayloadHeader_html_a1b7498a80a254f1203bb8705221261f8"><divclass="ttname"><ahref="structDataStreamPayloadHeader.html#a1b7498a80a254f1203bb8705221261f8">DataStreamPayloadHeader::dataType</a></div><divclass="ttdeci">uint16_t dataType</div><divclass="ttdoc">Data type classification (value from DataType), e.g., FluxData or BitstreamData.</div><divclass="ttdef"><b>Definition</b><ahref="#l00245">flux.h:245</a></div></div>
<divclass="ttc"id="astructDataStreamPayloadHeader_html_a55c9590fb1c3d87a9cce3b389826c1a5"><divclass="ttname"><ahref="structDataStreamPayloadHeader.html#a55c9590fb1c3d87a9cce3b389826c1a5">DataStreamPayloadHeader::cmpLength</a></div><divclass="ttdeci">uint32_t cmpLength</div><divclass="ttdoc">Compressed length in bytes (includes LZMA properties if compression = Lzma).</div><divclass="ttdef"><b>Definition</b><ahref="#l00247">flux.h:247</a></div></div>
<divclass="ttc"id="astructDataStreamPayloadHeader_html_a6b72345551c540a0c36c971f4374eb0e"><divclass="ttname"><ahref="structDataStreamPayloadHeader.html#a6b72345551c540a0c36c971f4374eb0e">DataStreamPayloadHeader::cmpCrc64</a></div><divclass="ttdeci">uint64_t cmpCrc64</div><divclass="ttdoc">CRC64-ECMA checksum of the compressed payload (or same as crc64 if uncompressed).</div><divclass="ttdef"><b>Definition</b><ahref="#l00249">flux.h:249</a></div></div>
<divclass="ttc"id="astructDataStreamPayloadHeader_html_aade6939bd84d33e4869785d7d412d3c7"><divclass="ttname"><ahref="structDataStreamPayloadHeader.html#aade6939bd84d33e4869785d7d412d3c7">DataStreamPayloadHeader::identifier</a></div><divclass="ttdeci">uint32_t identifier</div><divclass="ttdoc">Block identifier, must be BlockType::DataStreamPayloadBlock (0x4C505344, "DSPL").</div><divclass="ttdef"><b>Definition</b><ahref="#l00244">flux.h:244</a></div></div>
<divclass="ttc"id="astructDataStreamPayloadHeader_html_ad36cd6ef72854188450049c99b731273"><divclass="ttname"><ahref="structDataStreamPayloadHeader.html#ad36cd6ef72854188450049c99b731273">DataStreamPayloadHeader::length</a></div><divclass="ttdeci">uint32_t length</div><divclass="ttdoc">Uncompressed length in bytes.</div><divclass="ttdef"><b>Definition</b><ahref="#l00248">flux.h:248</a></div></div>
<divclass="ttc"id="astructDataStreamPayloadHeader_html_aea3724bf5786add9715363dbc67671a8"><divclass="ttname"><ahref="structDataStreamPayloadHeader.html#aea3724bf5786add9715363dbc67671a8">DataStreamPayloadHeader::crc64</a></div><divclass="ttdeci">uint64_t crc64</div><divclass="ttdoc">CRC64-ECMA checksum of the uncompressed payload.</div><divclass="ttdef"><b>Definition</b><ahref="#l00250">flux.h:250</a></div></div>
<divclass="ttc"id="astructFluxCaptureKey_html"><divclass="ttname"><ahref="structFluxCaptureKey.html">FluxCaptureKey</a></div><divclass="ttdoc">Key structure for flux capture lookup map.</div><divclass="ttdef"><b>Definition</b><ahref="#l00296">flux.h:297</a></div></div>
<divclass="ttc"id="astructFluxCaptureKey_html_a1728ed3937674d667aec49213c454dc0"><divclass="ttname"><ahref="structFluxCaptureKey.html#a1728ed3937674d667aec49213c454dc0">FluxCaptureKey::track</a></div><divclass="ttdeci">uint16_t track</div><divclass="ttdoc">Track number identifying the capture location.</div><divclass="ttdef"><b>Definition</b><ahref="#l00299">flux.h:299</a></div></div>
<divclass="ttc"id="astructFluxCaptureKey_html_a8a1ff1cb573f89f004babec6b42b2edf"><divclass="ttname"><ahref="structFluxCaptureKey.html#a8a1ff1cb573f89f004babec6b42b2edf">FluxCaptureKey::subtrack</a></div><divclass="ttdeci">uint8_t subtrack</div><divclass="ttdoc">Subtrack number identifying the capture location.</div><divclass="ttdef"><b>Definition</b><ahref="#l00300">flux.h:300</a></div></div>
<divclass="ttc"id="astructFluxCaptureKey_html_ac8945dce9e2b566546610d67bd729e64"><divclass="ttname"><ahref="structFluxCaptureKey.html#ac8945dce9e2b566546610d67bd729e64">FluxCaptureKey::head</a></div><divclass="ttdeci">uint32_t head</div><divclass="ttdoc">Head number identifying the capture location.</div><divclass="ttdef"><b>Definition</b><ahref="#l00298">flux.h:298</a></div></div>
<divclass="ttc"id="astructFluxCaptureKey_html_afa1b8117c16006ec9f4ea99a573c12c2"><divclass="ttname"><ahref="structFluxCaptureKey.html#afa1b8117c16006ec9f4ea99a573c12c2">FluxCaptureKey::captureIndex</a></div><divclass="ttdeci">uint32_t captureIndex</div><divclass="ttdoc">Capture index, allowing multiple captures for the same location.</div><divclass="ttdef"><b>Definition</b><ahref="#l00301">flux.h:301</a></div></div>
<divclass="ttc"id="astructFluxCaptureMeta_html"><divclass="ttname"><ahref="structFluxCaptureMeta.html">FluxCaptureMeta</a></div><divclass="ttdoc">Metadata structure returned by aaruf_get_flux_captures().</div><divclass="ttdef"><b>Definition</b><ahref="#l00182">flux.h:183</a></div></div>
<divclass="ttc"id="astructFluxCaptureMeta_html_a0b227d050c7e82a606376fd3f0c2db02"><divclass="ttname"><ahref="structFluxCaptureMeta.html#a0b227d050c7e82a606376fd3f0c2db02">FluxCaptureMeta::head</a></div><divclass="ttdeci">uint32_t head</div><divclass="ttdoc">Head number the flux capture corresponds to.</div><divclass="ttdef"><b>Definition</b><ahref="#l00184">flux.h:184</a></div></div>
<divclass="ttc"id="astructFluxCaptureMeta_html_a3df2812cbb33d5774ae4485eee96c4c9"><divclass="ttname"><ahref="structFluxCaptureMeta.html#a3df2812cbb33d5774ae4485eee96c4c9">FluxCaptureMeta::indexResolution</a></div><divclass="ttdeci">uint64_t indexResolution</div><divclass="ttdoc">Resolution in picoseconds at which the index stream was sampled.</div><divclass="ttdef"><b>Definition</b><ahref="#l00188">flux.h:188</a></div></div>
<divclass="ttc"id="astructFluxCaptureMeta_html_a6558bace422cf15c3f371ef437cc5610"><divclass="ttname"><ahref="structFluxCaptureMeta.html#a6558bace422cf15c3f371ef437cc5610">FluxCaptureMeta::captureIndex</a></div><divclass="ttdeci">uint32_t captureIndex</div><divclass="ttdoc">Capture index, allowing multiple captures for the same location.</div><divclass="ttdef"><b>Definition</b><ahref="#l00187">flux.h:187</a></div></div>
<divclass="ttc"id="astructFluxCaptureMeta_html_a9e7ceeae4845e8dcd87bd76e32d065d6"><divclass="ttname"><ahref="structFluxCaptureMeta.html#a9e7ceeae4845e8dcd87bd76e32d065d6">FluxCaptureMeta::subtrack</a></div><divclass="ttdeci">uint8_t subtrack</div><divclass="ttdoc">Subtrack number the flux capture corresponds to.</div><divclass="ttdef"><b>Definition</b><ahref="#l00186">flux.h:186</a></div></div>
<divclass="ttc"id="astructFluxCaptureMeta_html_ae9699355343e04f88bfe25093774dfde"><divclass="ttname"><ahref="structFluxCaptureMeta.html#ae9699355343e04f88bfe25093774dfde">FluxCaptureMeta::dataResolution</a></div><divclass="ttdeci">uint64_t dataResolution</div><divclass="ttdoc">Resolution in picoseconds at which the data stream was sampled.</div><divclass="ttdef"><b>Definition</b><ahref="#l00189">flux.h:189</a></div></div>
<divclass="ttc"id="astructFluxCaptureMeta_html_aebee512e3f6ce8a4c1aa1b4cfbecdb33"><divclass="ttname"><ahref="structFluxCaptureMeta.html#aebee512e3f6ce8a4c1aa1b4cfbecdb33">FluxCaptureMeta::track</a></div><divclass="ttdeci">uint16_t track</div><divclass="ttdoc">Track number the flux capture corresponds to.</div><divclass="ttdef"><b>Definition</b><ahref="#l00185">flux.h:185</a></div></div>
<divclass="ttc"id="astructFluxCaptureRecord_html"><divclass="ttname"><ahref="structFluxCaptureRecord.html">FluxCaptureRecord</a></div><divclass="ttdoc">Internal structure for storing flux capture data during write mode.</div><divclass="ttdef"><b>Definition</b><ahref="#l00270">flux.h:271</a></div></div>
<divclass="ttc"id="astructFluxCaptureRecord_html_a002dbda89d68adac0d0a8281d34fc76a"><divclass="ttname"><ahref="structFluxCaptureRecord.html#a002dbda89d68adac0d0a8281d34fc76a">FluxCaptureRecord::entry</a></div><divclass="ttdeci">FluxEntry entry</div><divclass="ttdoc">Flux entry metadata describing this capture.</div><divclass="ttdef"><b>Definition</b><ahref="#l00272">flux.h:272</a></div></div>
<divclass="ttc"id="astructFluxCaptureRecord_html_a9563435372ecc4af506c4fae2ac2f617"><divclass="ttname"><ahref="structFluxCaptureRecord.html#a9563435372ecc4af506c4fae2ac2f617">FluxCaptureRecord::data_length</a></div><divclass="ttdeci">uint32_t data_length</div><divclass="ttdoc">Length of the data buffer in bytes.</div><divclass="ttdef"><b>Definition</b><ahref="#l00274">flux.h:274</a></div></div>
<divclass="ttc"id="astructFluxCaptureRecord_html_adcf7766ac4311fe79a1324f2eec6868d"><divclass="ttname"><ahref="structFluxCaptureRecord.html#adcf7766ac4311fe79a1324f2eec6868d">FluxCaptureRecord::index_length</a></div><divclass="ttdeci">uint32_t index_length</div><divclass="ttdoc">Length of the index buffer in bytes.</div><divclass="ttdef"><b>Definition</b><ahref="#l00276">flux.h:276</a></div></div>
<divclass="ttc"id="astructFluxCaptureRecord_html_af5bce1443f5112ce65f54c39ff873b57"><divclass="ttname"><ahref="structFluxCaptureRecord.html#af5bce1443f5112ce65f54c39ff873b57">FluxCaptureRecord::index_buffer</a></div><divclass="ttdeci">uint8_t * index_buffer</div><divclass="ttdoc">Pointer to the flux index buffer. Owned by the utarray, freed automatically.</div><divclass="ttdef"><b>Definition</b><ahref="#l00275">flux.h:275</a></div></div>
<divclass="ttc"id="astructFluxCaptureRecord_html_afd9cf94122b9f59c548cda29599f8047"><divclass="ttname"><ahref="structFluxCaptureRecord.html#afd9cf94122b9f59c548cda29599f8047">FluxCaptureRecord::data_buffer</a></div><divclass="ttdeci">uint8_t * data_buffer</div><divclass="ttdoc">Pointer to the flux data buffer. Owned by the utarray, freed automatically.</div><divclass="ttdef"><b>Definition</b><ahref="#l00273">flux.h:273</a></div></div>
<divclass="ttc"id="astructFluxEntry_html"><divclass="ttname"><ahref="structFluxEntry.html">FluxEntry</a></div><divclass="ttdoc">Metadata entry describing a single flux capture in the FluxDataBlock.</div><divclass="ttdef"><b>Definition</b><ahref="#l00155">flux.h:156</a></div></div>
<divclass="ttc"id="astructFluxEntry_html_a12f64e1c66187ebbbdcdf03916293c95"><divclass="ttname"><ahref="structFluxEntry.html#a12f64e1c66187ebbbdcdf03916293c95">FluxEntry::indexResolution</a></div><divclass="ttdeci">uint64_t indexResolution</div><divclass="ttdoc">Resolution in picoseconds at which the index stream was sampled.</div><divclass="ttdef"><b>Definition</b><ahref="#l00161">flux.h:161</a></div></div>
<divclass="ttc"id="astructFluxEntry_html_a27c590b581f2ea33306f89e609c28c95"><divclass="ttname"><ahref="structFluxEntry.html#a27c590b581f2ea33306f89e609c28c95">FluxEntry::dataResolution</a></div><divclass="ttdeci">uint64_t dataResolution</div><divclass="ttdoc">Resolution in picoseconds at which the data stream was sampled.</div><divclass="ttdef"><b>Definition</b><ahref="#l00162">flux.h:162</a></div></div>
<divclass="ttc"id="astructFluxEntry_html_a31cafff6f54acc9e019da447e94ace4a"><divclass="ttname"><ahref="structFluxEntry.html#a31cafff6f54acc9e019da447e94ace4a">FluxEntry::head</a></div><divclass="ttdeci">uint32_t head</div><divclass="ttdoc">Head number the flux capture corresponds to. Typically 0 or 1 for double-sided media.</div><divclass="ttdef"><b>Definition</b><ahref="#l00157">flux.h:157</a></div></div>
<divclass="ttc"id="astructFluxEntry_html_a3f5949d0feb9bdcf62afeb1acb1fa009"><divclass="ttname"><ahref="structFluxEntry.html#a3f5949d0feb9bdcf62afeb1acb1fa009">FluxEntry::payloadOffset</a></div><divclass="ttdeci">uint64_t payloadOffset</div><divclass="ttdoc">Block-aligned file offset where the DataStreamPayloadBlock containing this capture's data is stored,...</div><divclass="ttdef"><b>Definition</b><ahref="#l00164">flux.h:164</a></div></div>
<divclass="ttc"id="astructFluxEntry_html_a46108bba60946e7b7d4f41160e3dfd86"><divclass="ttname"><ahref="structFluxEntry.html#a46108bba60946e7b7d4f41160e3dfd86">FluxEntry::track</a></div><divclass="ttdeci">uint16_t track</div><divclass="ttdoc">Track number the flux capture corresponds to. Track numbering is format-dependent.</div><divclass="ttdef"><b>Definition</b><ahref="#l00158">flux.h:158</a></div></div>
<divclass="ttc"id="astructFluxEntry_html_aaaaaf686bec81c632f8de3131b540946"><divclass="ttname"><ahref="structFluxEntry.html#aaaaaf686bec81c632f8de3131b540946">FluxEntry::indexOffset</a></div><divclass="ttdeci">uint64_t indexOffset</div><divclass="ttdoc">Byte offset within the payload where the index buffer starts (equals data_length).</div><divclass="ttdef"><b>Definition</b><ahref="#l00163">flux.h:163</a></div></div>
<divclass="ttc"id="astructFluxEntry_html_abd12c00010d82cd83820dd3405b7b860"><divclass="ttname"><ahref="structFluxEntry.html#abd12c00010d82cd83820dd3405b7b860">FluxEntry::subtrack</a></div><divclass="ttdeci">uint8_t subtrack</div><divclass="ttdoc">Subtrack number, allowing sub-stepping within a track. Used for fine positioning.</div><divclass="ttdef"><b>Definition</b><ahref="#l00159">flux.h:159</a></div></div>
<divclass="ttc"id="astructFluxEntry_html_ae5af51709faf749501d44b242a57481c"><divclass="ttname"><ahref="structFluxEntry.html#ae5af51709faf749501d44b242a57481c">FluxEntry::captureIndex</a></div><divclass="ttdeci">uint32_t captureIndex</div><divclass="ttdoc">Capture index, allowing multiple captures for the same location (e.g., multiple revolutions).</div><divclass="ttdef"><b>Definition</b><ahref="#l00160">flux.h:160</a></div></div>
<divclass="ttc"id="astructFluxHeader_html"><divclass="ttname"><ahref="structFluxHeader.html">FluxHeader</a></div><divclass="ttdoc">Header structure for a FluxDataBlock containing flux capture metadata.</div><divclass="ttdef"><b>Definition</b><ahref="#l00116">flux.h:117</a></div></div>
<divclass="ttc"id="astructFluxHeader_html_a17794a3f0cc5b11a5169580cc510a71c"><divclass="ttname"><ahref="structFluxHeader.html#a17794a3f0cc5b11a5169580cc510a71c">FluxHeader::identifier</a></div><divclass="ttdeci">uint32_t identifier</div><divclass="ttdoc">Block identifier, must be BlockType::FluxDataBlock (0x58554C46, "FLUX").</div><divclass="ttdef"><b>Definition</b><ahref="#l00118">flux.h:118</a></div></div>
<divclass="ttc"id="astructFluxHeader_html_a26f2a1be977dc973341e6952eba159dc"><divclass="ttname"><ahref="structFluxHeader.html#a26f2a1be977dc973341e6952eba159dc">FluxHeader::entries</a></div><divclass="ttdeci">uint16_t entries</div><divclass="ttdoc">Number of FluxEntry records following this header. Maximum value: 65535.</div><divclass="ttdef"><b>Definition</b><ahref="#l00119">flux.h:119</a></div></div>
<divclass="ttc"id="astructFluxHeader_html_a3980b9bf3db82de544c991cae4e6126a"><divclass="ttname"><ahref="structFluxHeader.html#a3980b9bf3db82de544c991cae4e6126a">FluxHeader::crc64</a></div><divclass="ttdeci">uint64_t crc64</div><divclass="ttdoc">CRC64-ECMA checksum of the FluxEntry array (header excluded).</div><divclass="ttdef"><b>Definition</b><ahref="#l00121">flux.h:121</a></div></div>
<liclass="footer">Generated by <ahref="https://www.doxygen.org/index.html"><imgclass="footer"src="doxygen.svg"width="104"height="31"alt="doxygen"/></a> 1.18.0 </li>