Update documentation.

This commit is contained in:
2025-10-18 17:55:08 +01:00
parent 5cfffbcb68
commit 0e52e501e2
64 changed files with 3933 additions and 2888 deletions

View File

@@ -555,6 +555,126 @@ $(function(){initNavTree('tape_8c_source.html','',''); });
<div class="line"><a id="l01264" name="l01264"></a><span class="lineno"> 1264</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1d6e49f7e8a1fa489efa0a582e90b5de">AARUF_STATUS_OK</a>;</div>
<div class="line"><a id="l01265" name="l01265"></a><span class="lineno"> 1265</span>}</div>
</div>
<div class="line"><a id="l01266" name="l01266"></a><span class="lineno"> 1266</span></div>
<div class="foldopen" id="foldopen01314" data-start="{" data-end="}">
<div class="line"><a id="l01314" name="l01314"></a><span class="lineno"><a class="line" href="decls_8h.html#ad4f8c223fb7c48a03ac4120d12e657b3"> 1314</a></span><a class="code hl_define" href="decls_8h.html#a9001412c35f3c92d3a9320d27b0d97f9">AARU_EXPORT</a> int32_t <a class="code hl_define" href="decls_8h.html#a018e0da1c1f7e4f6187a982c0e40e056">AARU_CALL</a> <a class="code hl_function" href="tape_8c.html#ad4f8c223fb7c48a03ac4120d12e657b3">aaruf_get_all_tape_files</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *context, uint8_t *buffer, <span class="keywordtype">size_t</span> *length)</div>
<div class="line"><a id="l01315" name="l01315"></a><span class="lineno"> 1315</span>{</div>
<div class="line"><a id="l01316" name="l01316"></a><span class="lineno"> 1316</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_get_all_tape_files(%p, %p, %zu)&quot;</span>, context, buffer, (length ? *length : 0));</div>
<div class="line"><a id="l01317" name="l01317"></a><span class="lineno"> 1317</span> </div>
<div class="line"><a id="l01318" name="l01318"></a><span class="lineno"> 1318</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l01319" name="l01319"></a><span class="lineno"> 1319</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l01320" name="l01320"></a><span class="lineno"> 1320</span> {</div>
<div class="line"><a id="l01321" name="l01321"></a><span class="lineno"> 1321</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Invalid context&quot;</span>);</div>
<div class="line"><a id="l01322" name="l01322"></a><span class="lineno"> 1322</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_get_all_tape_files() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l01323" name="l01323"></a><span class="lineno"> 1323</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#abb63e240b11d790da83bd34507b57851">AARUF_ERROR_NOT_AARUFORMAT</a>;</div>
<div class="line"><a id="l01324" name="l01324"></a><span class="lineno"> 1324</span> }</div>
<div class="line"><a id="l01325" name="l01325"></a><span class="lineno"> 1325</span> </div>
<div class="line"><a id="l01326" name="l01326"></a><span class="lineno"> 1326</span> <span class="keyword">const</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l01327" name="l01327"></a><span class="lineno"> 1327</span> </div>
<div class="line"><a id="l01328" name="l01328"></a><span class="lineno"> 1328</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l01329" name="l01329"></a><span class="lineno"> 1329</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a7dc0a0fe0bf6223ff4587fd01c360b76">magic</a> != <a class="code hl_define" href="consts_8h.html#a3c3ba66fe2b547655c9e4b16a1ba519a">AARU_MAGIC</a>)</div>
<div class="line"><a id="l01330" name="l01330"></a><span class="lineno"> 1330</span> {</div>
<div class="line"><a id="l01331" name="l01331"></a><span class="lineno"> 1331</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Invalid context&quot;</span>);</div>
<div class="line"><a id="l01332" name="l01332"></a><span class="lineno"> 1332</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_get_all_tape_files() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l01333" name="l01333"></a><span class="lineno"> 1333</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#abb63e240b11d790da83bd34507b57851">AARUF_ERROR_NOT_AARUFORMAT</a>;</div>
<div class="line"><a id="l01334" name="l01334"></a><span class="lineno"> 1334</span> }</div>
<div class="line"><a id="l01335" name="l01335"></a><span class="lineno"> 1335</span> </div>
<div class="line"><a id="l01336" name="l01336"></a><span class="lineno"> 1336</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a4783c528aec3e854986885077c5d5854">tape_files</a> == NULL)</div>
<div class="line"><a id="l01337" name="l01337"></a><span class="lineno"> 1337</span> {</div>
<div class="line"><a id="l01338" name="l01338"></a><span class="lineno"> 1338</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Image contains no tape files&quot;</span>);</div>
<div class="line"><a id="l01339" name="l01339"></a><span class="lineno"> 1339</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_get_all_tape_files() = AARUF_ERROR_TAPE_FILE_NOT_FOUND&quot;</span>);</div>
<div class="line"><a id="l01340" name="l01340"></a><span class="lineno"> 1340</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a64fa67cb4d9323e914641c70c731a5b2">AARUF_ERROR_TAPE_FILE_NOT_FOUND</a>;</div>
<div class="line"><a id="l01341" name="l01341"></a><span class="lineno"> 1341</span> }</div>
<div class="line"><a id="l01342" name="l01342"></a><span class="lineno"> 1342</span> </div>
<div class="line"><a id="l01343" name="l01343"></a><span class="lineno"> 1343</span> <span class="comment">// Iterate all tape files to count how many do we have</span></div>
<div class="line"><a id="l01344" name="l01344"></a><span class="lineno"> 1344</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> count = HASH_COUNT(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a4783c528aec3e854986885077c5d5854">tape_files</a>);</div>
<div class="line"><a id="l01345" name="l01345"></a><span class="lineno"> 1345</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> required_size = count * <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structTapeFileEntry.html">TapeFileEntry</a>);</div>
<div class="line"><a id="l01346" name="l01346"></a><span class="lineno"> 1346</span> </div>
<div class="line"><a id="l01347" name="l01347"></a><span class="lineno"> 1347</span> <span class="keywordflow">if</span>(buffer == NULL || length == NULL || *length &lt; required_size)</div>
<div class="line"><a id="l01348" name="l01348"></a><span class="lineno"> 1348</span> {</div>
<div class="line"><a id="l01349" name="l01349"></a><span class="lineno"> 1349</span> <span class="keywordflow">if</span>(length) *length = required_size;</div>
<div class="line"><a id="l01350" name="l01350"></a><span class="lineno"> 1350</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Buffer too small for tape files, required %zu bytes&quot;</span>, required_size);</div>
<div class="line"><a id="l01351" name="l01351"></a><span class="lineno"> 1351</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_get_all_tape_files() = AARUF_ERROR_BUFFER_TOO_SMALL&quot;</span>);</div>
<div class="line"><a id="l01352" name="l01352"></a><span class="lineno"> 1352</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#ae7eea5936a22100db46aac3e4312cdae">AARUF_ERROR_BUFFER_TOO_SMALL</a>;</div>
<div class="line"><a id="l01353" name="l01353"></a><span class="lineno"> 1353</span> }</div>
<div class="line"><a id="l01354" name="l01354"></a><span class="lineno"> 1354</span> </div>
<div class="line"><a id="l01355" name="l01355"></a><span class="lineno"> 1355</span> <span class="keywordtype">size_t</span> index = 0;</div>
<div class="line"><a id="l01356" name="l01356"></a><span class="lineno"> 1356</span> <span class="keyword">const</span> <a class="code hl_typedef" href="context_8h.html#a5ba965cb003bc2d68a9f9e1c11225494">tapeFileHashEntry</a> *entry;</div>
<div class="line"><a id="l01357" name="l01357"></a><span class="lineno"> 1357</span> <span class="keyword">const</span> <a class="code hl_typedef" href="context_8h.html#a5ba965cb003bc2d68a9f9e1c11225494">tapeFileHashEntry</a> *tmp;</div>
<div class="line"><a id="l01358" name="l01358"></a><span class="lineno"> 1358</span> HASH_ITER(hh, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a4783c528aec3e854986885077c5d5854">tape_files</a>, entry, tmp)</div>
<div class="line"><a id="l01359" name="l01359"></a><span class="lineno"> 1359</span> {</div>
<div class="line"><a id="l01360" name="l01360"></a><span class="lineno"> 1360</span> <span class="keywordflow">if</span>(index &lt; count)</div>
<div class="line"><a id="l01361" name="l01361"></a><span class="lineno"> 1361</span> {</div>
<div class="line"><a id="l01362" name="l01362"></a><span class="lineno"> 1362</span> memcpy(&amp;((<a class="code hl_struct" href="structTapeFileEntry.html">TapeFileEntry</a> *)buffer)[index], &amp;entry-&gt;<a class="code hl_variable" href="structTapeFileHashEntry.html#aff0f81d26d4ee00ad33331aacc2834e1">fileEntry</a>, <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structTapeFileEntry.html">TapeFileEntry</a>));</div>
<div class="line"><a id="l01363" name="l01363"></a><span class="lineno"> 1363</span> index++;</div>
<div class="line"><a id="l01364" name="l01364"></a><span class="lineno"> 1364</span> }</div>
<div class="line"><a id="l01365" name="l01365"></a><span class="lineno"> 1365</span> }</div>
<div class="line"><a id="l01366" name="l01366"></a><span class="lineno"> 1366</span> *length = required_size;</div>
<div class="line"><a id="l01367" name="l01367"></a><span class="lineno"> 1367</span> </div>
<div class="line"><a id="l01368" name="l01368"></a><span class="lineno"> 1368</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_get_all_tape_files(%p, %p, %zu) = AARUF_STATUS_OK&quot;</span>, context, buffer, *length);</div>
<div class="line"><a id="l01369" name="l01369"></a><span class="lineno"> 1369</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1d6e49f7e8a1fa489efa0a582e90b5de">AARUF_STATUS_OK</a>;</div>
<div class="line"><a id="l01370" name="l01370"></a><span class="lineno"> 1370</span>}</div>
</div>
<div class="line"><a id="l01371" name="l01371"></a><span class="lineno"> 1371</span></div>
<div class="foldopen" id="foldopen01416" data-start="{" data-end="}">
<div class="line"><a id="l01416" name="l01416"></a><span class="lineno"><a class="line" href="decls_8h.html#a2c3aa323e7217e4d25b895a094a34cd0"> 1416</a></span><a class="code hl_define" href="decls_8h.html#a9001412c35f3c92d3a9320d27b0d97f9">AARU_EXPORT</a> int32_t <a class="code hl_define" href="decls_8h.html#a018e0da1c1f7e4f6187a982c0e40e056">AARU_CALL</a> <a class="code hl_function" href="tape_8c.html#a2c3aa323e7217e4d25b895a094a34cd0">aaruf_get_all_tape_partitions</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *context, uint8_t *buffer, <span class="keywordtype">size_t</span> *length)</div>
<div class="line"><a id="l01417" name="l01417"></a><span class="lineno"> 1417</span>{</div>
<div class="line"><a id="l01418" name="l01418"></a><span class="lineno"> 1418</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_get_all_tape_partitions(%p, %p, %zu)&quot;</span>, context, buffer, (length ? *length : 0));</div>
<div class="line"><a id="l01419" name="l01419"></a><span class="lineno"> 1419</span> </div>
<div class="line"><a id="l01420" name="l01420"></a><span class="lineno"> 1420</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l01421" name="l01421"></a><span class="lineno"> 1421</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l01422" name="l01422"></a><span class="lineno"> 1422</span> {</div>
<div class="line"><a id="l01423" name="l01423"></a><span class="lineno"> 1423</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Invalid context&quot;</span>);</div>
<div class="line"><a id="l01424" name="l01424"></a><span class="lineno"> 1424</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_get_all_tape_partitions() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l01425" name="l01425"></a><span class="lineno"> 1425</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#abb63e240b11d790da83bd34507b57851">AARUF_ERROR_NOT_AARUFORMAT</a>;</div>
<div class="line"><a id="l01426" name="l01426"></a><span class="lineno"> 1426</span> }</div>
<div class="line"><a id="l01427" name="l01427"></a><span class="lineno"> 1427</span> </div>
<div class="line"><a id="l01428" name="l01428"></a><span class="lineno"> 1428</span> <span class="keyword">const</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l01429" name="l01429"></a><span class="lineno"> 1429</span> </div>
<div class="line"><a id="l01430" name="l01430"></a><span class="lineno"> 1430</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l01431" name="l01431"></a><span class="lineno"> 1431</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a7dc0a0fe0bf6223ff4587fd01c360b76">magic</a> != <a class="code hl_define" href="consts_8h.html#a3c3ba66fe2b547655c9e4b16a1ba519a">AARU_MAGIC</a>)</div>
<div class="line"><a id="l01432" name="l01432"></a><span class="lineno"> 1432</span> {</div>
<div class="line"><a id="l01433" name="l01433"></a><span class="lineno"> 1433</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Invalid context&quot;</span>);</div>
<div class="line"><a id="l01434" name="l01434"></a><span class="lineno"> 1434</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_get_all_tape_partitions() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l01435" name="l01435"></a><span class="lineno"> 1435</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#abb63e240b11d790da83bd34507b57851">AARUF_ERROR_NOT_AARUFORMAT</a>;</div>
<div class="line"><a id="l01436" name="l01436"></a><span class="lineno"> 1436</span> }</div>
<div class="line"><a id="l01437" name="l01437"></a><span class="lineno"> 1437</span> </div>
<div class="line"><a id="l01438" name="l01438"></a><span class="lineno"> 1438</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ad7ca524fb6cece835566c268258b9a54">tape_partitions</a> == NULL)</div>
<div class="line"><a id="l01439" name="l01439"></a><span class="lineno"> 1439</span> {</div>
<div class="line"><a id="l01440" name="l01440"></a><span class="lineno"> 1440</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Image contains no tape partitions&quot;</span>);</div>
<div class="line"><a id="l01441" name="l01441"></a><span class="lineno"> 1441</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_get_all_tape_partitions() = AARUF_ERROR_TAPE_PARTITION_NOT_FOUND&quot;</span>);</div>
<div class="line"><a id="l01442" name="l01442"></a><span class="lineno"> 1442</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a14db41b6e45622397fa6339bc79d2b9f">AARUF_ERROR_TAPE_PARTITION_NOT_FOUND</a>;</div>
<div class="line"><a id="l01443" name="l01443"></a><span class="lineno"> 1443</span> }</div>
<div class="line"><a id="l01444" name="l01444"></a><span class="lineno"> 1444</span> </div>
<div class="line"><a id="l01445" name="l01445"></a><span class="lineno"> 1445</span> <span class="comment">// Iterate all tape partitions to count how many do we have</span></div>
<div class="line"><a id="l01446" name="l01446"></a><span class="lineno"> 1446</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> count = HASH_COUNT(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ad7ca524fb6cece835566c268258b9a54">tape_partitions</a>);</div>
<div class="line"><a id="l01447" name="l01447"></a><span class="lineno"> 1447</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> required_size = count * <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structTapePartitionEntry.html">TapePartitionEntry</a>);</div>
<div class="line"><a id="l01448" name="l01448"></a><span class="lineno"> 1448</span> </div>
<div class="line"><a id="l01449" name="l01449"></a><span class="lineno"> 1449</span> <span class="keywordflow">if</span>(buffer == NULL || length == NULL || *length &lt; required_size)</div>
<div class="line"><a id="l01450" name="l01450"></a><span class="lineno"> 1450</span> {</div>
<div class="line"><a id="l01451" name="l01451"></a><span class="lineno"> 1451</span> <span class="keywordflow">if</span>(length) *length = required_size;</div>
<div class="line"><a id="l01452" name="l01452"></a><span class="lineno"> 1452</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Buffer too small for tape partitions, required %zu bytes&quot;</span>, required_size);</div>
<div class="line"><a id="l01453" name="l01453"></a><span class="lineno"> 1453</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_get_all_tape_partitions() = AARUF_ERROR_BUFFER_TOO_SMALL&quot;</span>);</div>
<div class="line"><a id="l01454" name="l01454"></a><span class="lineno"> 1454</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#ae7eea5936a22100db46aac3e4312cdae">AARUF_ERROR_BUFFER_TOO_SMALL</a>;</div>
<div class="line"><a id="l01455" name="l01455"></a><span class="lineno"> 1455</span> }</div>
<div class="line"><a id="l01456" name="l01456"></a><span class="lineno"> 1456</span> </div>
<div class="line"><a id="l01457" name="l01457"></a><span class="lineno"> 1457</span> <span class="keywordtype">size_t</span> index = 0;</div>
<div class="line"><a id="l01458" name="l01458"></a><span class="lineno"> 1458</span> <span class="keyword">const</span> <a class="code hl_struct" href="structTapePartitionHashEntry.html">TapePartitionHashEntry</a> *entry;</div>
<div class="line"><a id="l01459" name="l01459"></a><span class="lineno"> 1459</span> <span class="keyword">const</span> <a class="code hl_struct" href="structTapePartitionHashEntry.html">TapePartitionHashEntry</a> *tmp;</div>
<div class="line"><a id="l01460" name="l01460"></a><span class="lineno"> 1460</span> HASH_ITER(hh, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ad7ca524fb6cece835566c268258b9a54">tape_partitions</a>, entry, tmp)</div>
<div class="line"><a id="l01461" name="l01461"></a><span class="lineno"> 1461</span> {</div>
<div class="line"><a id="l01462" name="l01462"></a><span class="lineno"> 1462</span> <span class="keywordflow">if</span>(index &lt; count)</div>
<div class="line"><a id="l01463" name="l01463"></a><span class="lineno"> 1463</span> {</div>
<div class="line"><a id="l01464" name="l01464"></a><span class="lineno"> 1464</span> memcpy(&amp;((<a class="code hl_struct" href="structTapePartitionEntry.html">TapePartitionEntry</a> *)buffer)[index], &amp;entry-&gt;<a class="code hl_variable" href="structTapePartitionHashEntry.html#af7c9f8904da9a0a21171ff3c04ec4379">partitionEntry</a>, <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structTapePartitionEntry.html">TapePartitionEntry</a>));</div>
<div class="line"><a id="l01465" name="l01465"></a><span class="lineno"> 1465</span> index++;</div>
<div class="line"><a id="l01466" name="l01466"></a><span class="lineno"> 1466</span> }</div>
<div class="line"><a id="l01467" name="l01467"></a><span class="lineno"> 1467</span> }</div>
<div class="line"><a id="l01468" name="l01468"></a><span class="lineno"> 1468</span> *length = required_size;</div>
<div class="line"><a id="l01469" name="l01469"></a><span class="lineno"> 1469</span> </div>
<div class="line"><a id="l01470" name="l01470"></a><span class="lineno"> 1470</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_get_all_tape_partitions(%p, %p, %zu) = AARUF_STATUS_OK&quot;</span>, context, buffer, *length);</div>
<div class="line"><a id="l01471" name="l01471"></a><span class="lineno"> 1471</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1d6e49f7e8a1fa489efa0a582e90b5de">AARUF_STATUS_OK</a>;</div>
<div class="line"><a id="l01472" name="l01472"></a><span class="lineno"> 1472</span>}</div>
</div>
<div class="ttc" id="aaaruformat_8h_html"><div class="ttname"><a href="aaruformat_8h.html">aaruformat.h</a></div></div>
<div class="ttc" id="aconsts_8h_html_a3c3ba66fe2b547655c9e4b16a1ba519a"><div class="ttname"><a href="consts_8h.html#a3c3ba66fe2b547655c9e4b16a1ba519a">AARU_MAGIC</a></div><div class="ttdeci">#define AARU_MAGIC</div><div class="ttdoc">Magic identifier for AaruFormat container (ASCII &quot;AARUFRMT&quot;).</div><div class="ttdef"><b>Definition</b> <a href="consts_8h_source.html#l00064">consts.h:64</a></div></div>
<div class="ttc" id="acontext_8h_html_a5ba965cb003bc2d68a9f9e1c11225494"><div class="ttname"><a href="context_8h.html#a5ba965cb003bc2d68a9f9e1c11225494">tapeFileHashEntry</a></div><div class="ttdeci">struct TapeFileHashEntry tapeFileHashEntry</div></div>
@@ -569,6 +689,7 @@ $(function(){initNavTree('tape_8c_source.html','',''); });
<div class="ttc" id="aerrors_8h_html_a35a771e3648bf971a004d4b2be9b5ec4"><div class="ttname"><a href="errors_8h.html#a35a771e3648bf971a004d4b2be9b5ec4">AARUF_ERROR_NOT_ENOUGH_MEMORY</a></div><div class="ttdeci">#define AARUF_ERROR_NOT_ENOUGH_MEMORY</div><div class="ttdoc">Memory allocation failure (critical).</div><div class="ttdef"><b>Definition</b> <a href="errors_8h_source.html#l00048">errors.h:48</a></div></div>
<div class="ttc" id="aerrors_8h_html_a64fa67cb4d9323e914641c70c731a5b2"><div class="ttname"><a href="errors_8h.html#a64fa67cb4d9323e914641c70c731a5b2">AARUF_ERROR_TAPE_FILE_NOT_FOUND</a></div><div class="ttdeci">#define AARUF_ERROR_TAPE_FILE_NOT_FOUND</div><div class="ttdoc">Requested tape file number not present in image.</div><div class="ttdef"><b>Definition</b> <a href="errors_8h_source.html#l00067">errors.h:67</a></div></div>
<div class="ttc" id="aerrors_8h_html_abb63e240b11d790da83bd34507b57851"><div class="ttname"><a href="errors_8h.html#abb63e240b11d790da83bd34507b57851">AARUF_ERROR_NOT_AARUFORMAT</a></div><div class="ttdeci">#define AARUF_ERROR_NOT_AARUFORMAT</div><div class="ttdoc">Input file/stream failed magic or structural validation.</div><div class="ttdef"><b>Definition</b> <a href="errors_8h_source.html#l00040">errors.h:40</a></div></div>
<div class="ttc" id="aerrors_8h_html_ae7eea5936a22100db46aac3e4312cdae"><div class="ttname"><a href="errors_8h.html#ae7eea5936a22100db46aac3e4312cdae">AARUF_ERROR_BUFFER_TOO_SMALL</a></div><div class="ttdeci">#define AARUF_ERROR_BUFFER_TOO_SMALL</div><div class="ttdoc">Caller-supplied buffer insufficient for data.</div><div class="ttdef"><b>Definition</b> <a href="errors_8h_source.html#l00049">errors.h:49</a></div></div>
<div class="ttc" id="alog_8h_html"><div class="ttname"><a href="log_8h.html">log.h</a></div></div>
<div class="ttc" id="alog_8h_html_a053d6037d543b84ce59308ce71d15cd1"><div class="ttname"><a href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a></div><div class="ttdeci">#define FATAL(fmt,...)</div><div class="ttdef"><b>Definition</b> <a href="log_8h_source.html#l00040">log.h:40</a></div></div>
<div class="ttc" id="alog_8h_html_a21cc0459b78d5f2d7bd737e5aae1278a"><div class="ttname"><a href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a></div><div class="ttdeci">#define TRACE(fmt,...)</div><div class="ttdef"><b>Definition</b> <a href="log_8h_source.html#l00025">log.h:25</a></div></div>
@@ -605,11 +726,13 @@ $(function(){initNavTree('tape_8c_source.html','',''); });
<div class="ttc" id="astructaaruformat__context_html_ac970291b3449c04221827b9c2c18ac70"><div class="ttname"><a href="structaaruformat__context.html#ac970291b3449c04221827b9c2c18ac70">aaruformat_context::image_info</a></div><div class="ttdeci">ImageInfo image_info</div><div class="ttdoc">Exposed high-level image info summary.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00260">context.h:260</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_ad7ca524fb6cece835566c268258b9a54"><div class="ttname"><a href="structaaruformat__context.html#ad7ca524fb6cece835566c268258b9a54">aaruformat_context::tape_partitions</a></div><div class="ttdeci">TapePartitionHashEntry * tape_partitions</div><div class="ttdoc">Hash table root for tape partitions.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00303">context.h:303</a></div></div>
<div class="ttc" id="atape_8c_html_a03d080a18e07adc52a654dc31b26eea0"><div class="ttname"><a href="tape_8c.html#a03d080a18e07adc52a654dc31b26eea0">aaruf_set_tape_file</a></div><div class="ttdeci">int32_t aaruf_set_tape_file(void *context, const uint8_t partition, const uint32_t file, const uint64_t starting_block, const uint64_t ending_block)</div><div class="ttdoc">Sets or updates the block range for a specific tape file in an Aaru tape image.</div><div class="ttdef"><b>Definition</b> <a href="#l00770">tape.c:770</a></div></div>
<div class="ttc" id="atape_8c_html_a2c3aa323e7217e4d25b895a094a34cd0"><div class="ttname"><a href="tape_8c.html#a2c3aa323e7217e4d25b895a094a34cd0">aaruf_get_all_tape_partitions</a></div><div class="ttdeci">int32_t aaruf_get_all_tape_partitions(const void *context, uint8_t *buffer, size_t *length)</div><div class="ttdoc">Retrieves all tape partition entries from the image.</div><div class="ttdef"><b>Definition</b> <a href="#l01416">tape.c:1416</a></div></div>
<div class="ttc" id="atape_8c_html_a6221f89b294ca55944944a04edb964e3"><div class="ttname"><a href="tape_8c.html#a6221f89b294ca55944944a04edb964e3">aaruf_get_tape_file</a></div><div class="ttdeci">int32_t aaruf_get_tape_file(const void *context, const uint8_t partition, const uint32_t file, uint64_t *starting_block, uint64_t *ending_block)</div><div class="ttdoc">Retrieves the block range for a specific tape file from an Aaru tape image.</div><div class="ttdef"><b>Definition</b> <a href="#l00569">tape.c:569</a></div></div>
<div class="ttc" id="atape_8c_html_a829bbac3c17b60efd8f93188a8de8278"><div class="ttname"><a href="tape_8c.html#a829bbac3c17b60efd8f93188a8de8278">process_tape_files_block</a></div><div class="ttdeci">void process_tape_files_block(aaruformat_context *ctx, const IndexEntry *entry)</div><div class="ttdoc">Processes a tape file metadata block from the image stream.</div><div class="ttdef"><b>Definition</b> <a href="#l00126">tape.c:126</a></div></div>
<div class="ttc" id="atape_8c_html_a91c40d91fdeb98193d6eeb95f16d8973"><div class="ttname"><a href="tape_8c.html#a91c40d91fdeb98193d6eeb95f16d8973">aaruf_get_tape_partition</a></div><div class="ttdeci">int32_t aaruf_get_tape_partition(const void *context, const uint8_t partition, uint64_t *starting_block, uint64_t *ending_block)</div><div class="ttdoc">Retrieves the block range for a specific tape partition from an Aaru tape image.</div><div class="ttdef"><b>Definition</b> <a href="#l00982">tape.c:982</a></div></div>
<div class="ttc" id="atape_8c_html_aa16d4457093df66246ce5622c3565a17"><div class="ttname"><a href="tape_8c.html#aa16d4457093df66246ce5622c3565a17">aaruf_set_tape_partition</a></div><div class="ttdeci">int32_t aaruf_set_tape_partition(void *context, const uint8_t partition, const uint64_t starting_block, const uint64_t ending_block)</div><div class="ttdoc">Sets or updates the block range for a specific tape partition in an Aaru tape image.</div><div class="ttdef"><b>Definition</b> <a href="#l01196">tape.c:1196</a></div></div>
<div class="ttc" id="atape_8c_html_aa76718b0402b1a28be3d563d5e62028e"><div class="ttname"><a href="tape_8c.html#aa76718b0402b1a28be3d563d5e62028e">process_tape_partitions_block</a></div><div class="ttdeci">void process_tape_partitions_block(aaruformat_context *ctx, const IndexEntry *entry)</div><div class="ttdoc">Processes a tape partition metadata block from the image stream.</div><div class="ttdef"><b>Definition</b> <a href="#l00346">tape.c:346</a></div></div>
<div class="ttc" id="atape_8c_html_ad4f8c223fb7c48a03ac4120d12e657b3"><div class="ttname"><a href="tape_8c.html#ad4f8c223fb7c48a03ac4120d12e657b3">aaruf_get_all_tape_files</a></div><div class="ttdeci">int32_t aaruf_get_all_tape_files(const void *context, uint8_t *buffer, size_t *length)</div><div class="ttdoc">Retrieves all tape file entries from the image.</div><div class="ttdef"><b>Definition</b> <a href="#l01314">tape.c:1314</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->