Files
libaaruformat/docs/html/blocks_2metadata_8c_source.html

748 lines
173 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libaaruformat: src/blocks/metadata.c Source File</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.14.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('blocks_2metadata_8c_source.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">metadata.c</div></div>
</div><!--header-->
<div class="contents">
<a href="blocks_2metadata_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * This file is part of the Aaru Data Preservation Suite.</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * Copyright (c) 2019-2025 Natalia Portillo.</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> *</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * This library is free software; you can redistribute it and/or modify</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * it under the terms of the GNU Lesser General Public License as</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * published by the Free Software Foundation; either version 2.1 of the</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * License, or (at your option) any later version.</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> *</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> * This library is distributed in the hope that it will be useful, but</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * Lesser General Public License for more details.</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> *</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * License along with this library; if not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> */</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#include &lt;inttypes.h&gt;</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#include &lt;stdio.h&gt;</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include &quot;<a class="code" href="aaruformat_8h.html">aaruformat.h</a>&quot;</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include &quot;<a class="code" href="log_8h.html">log.h</a>&quot;</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span></div>
<div class="foldopen" id="foldopen00035" data-start="{" data-end="}">
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="internal_8h.html#a43974d4c183240be30d49ff09ef7b8c2"> 35</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="blocks_2metadata_8c.html#a43974d4c183240be30d49ff09ef7b8c2">process_metadata_block</a>(<a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx, <span class="keyword">const</span> <a class="code hl_struct" href="structIndexEntry.html">IndexEntry</a> *entry)</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span>{</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering process_metadata_block(%p, %p)&quot;</span>, ctx, entry);</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keywordtype">int</span> pos = 0;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keywordtype">size_t</span> read_bytes = 0;</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> </div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="comment">// Check if the context and image stream are valid</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keywordflow">if</span>(ctx == NULL || ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab516fae594bde4f76b75488d0a3ca3a8">imageStream</a> == NULL)</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> {</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Invalid context or image stream.&quot;</span>);</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting process_metadata_block()&quot;</span>);</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> }</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> </div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="comment">// Seek to block</span></div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Seeking to metadata block at position %&quot;</span> PRIu64, entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a>);</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> pos = fseek(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab516fae594bde4f76b75488d0a3ca3a8">imageStream</a>, entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a>, SEEK_SET);</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keywordflow">if</span>(pos &lt; 0 || ftell(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab516fae594bde4f76b75488d0a3ca3a8">imageStream</a>) != entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a>)</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> {</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Could not seek to %&quot;</span> PRIu64 <span class="stringliteral">&quot; as indicated by index entry...&quot;</span>, entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a>);</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting process_metadata_block()&quot;</span>);</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> }</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="comment">// Even if those two checks shall have been done before</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Reading metadata block header at position %&quot;</span> PRIu64, entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a>);</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> read_bytes = fread(&amp;ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>, 1, <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structMetadataBlockHeader.html">MetadataBlockHeader</a>), ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab516fae594bde4f76b75488d0a3ca3a8">imageStream</a>);</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="keywordflow">if</span>(read_bytes != <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structMetadataBlockHeader.html">MetadataBlockHeader</a>))</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> {</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> memset(&amp;ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>, 0, <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structMetadataBlockHeader.html">MetadataBlockHeader</a>));</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Could not read metadata block header, continuing...&quot;</span>);</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting process_metadata_block()&quot;</span>);</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> }</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a16f0be711a2a0ddb48a0f092716e93dc">identifier</a> != entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a4b5c7115ac83019c3f77c6f047e5f75e">blockType</a>)</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> {</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> memset(&amp;ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>, 0, <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structMetadataBlockHeader.html">MetadataBlockHeader</a>));</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Incorrect identifier for data block at position %&quot;</span> PRIu64 <span class="stringliteral">&quot;&quot;</span>, entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a>);</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> </div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting process_metadata_block()&quot;</span>);</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> }</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> </div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ac970291b3449c04221827b9c2c18ac70">image_info</a>.<a class="code hl_variable" href="structImageInfo.html#abca8e73a9655d810e6d30d36c3ab54d7">ImageSize</a> += ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a3d1affce1a6ce2bda81aeaf85435b885">blockSize</a>;</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> </div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ae0df8ced37e331df99560d9773d7bad8">metadata_block</a> = (uint8_t *)malloc(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a3d1affce1a6ce2bda81aeaf85435b885">blockSize</a>);</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> </div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ae0df8ced37e331df99560d9773d7bad8">metadata_block</a> == NULL)</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> {</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> memset(&amp;ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>, 0, <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structMetadataBlockHeader.html">MetadataBlockHeader</a>));</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Could not allocate memory for metadata block, continuing...&quot;</span>);</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> </div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting process_metadata_block()&quot;</span>);</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> }</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> </div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Reading metadata block of size %u at position %&quot;</span> PRIu64, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a3d1affce1a6ce2bda81aeaf85435b885">blockSize</a>,</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a> + <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structMetadataBlockHeader.html">MetadataBlockHeader</a>));</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> read_bytes = fread(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ae0df8ced37e331df99560d9773d7bad8">metadata_block</a>, 1, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a3d1affce1a6ce2bda81aeaf85435b885">blockSize</a>, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab516fae594bde4f76b75488d0a3ca3a8">imageStream</a>);</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> </div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keywordflow">if</span>(read_bytes != ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a3d1affce1a6ce2bda81aeaf85435b885">blockSize</a>)</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> {</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> memset(&amp;ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>, 0, <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structMetadataBlockHeader.html">MetadataBlockHeader</a>));</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ae0df8ced37e331df99560d9773d7bad8">metadata_block</a>);</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Could not read metadata block, continuing...&quot;</span>);</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> }</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> </div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a1359ce7deda764ea267459f3f5906473">mediaSequence</a> &gt; 0 &amp;&amp; ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#aacd243f7f5a78c6087b797328197f522">lastMediaSequence</a> &gt; 0)</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> {</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a401c6931bc5ff0eaf3f4aac9d52124f7">media_sequence</a> = ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a1359ce7deda764ea267459f3f5906473">mediaSequence</a>;</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aee966d0d920ef43cfadb0830c444b986">last_media_sequence</a> = ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#aacd243f7f5a78c6087b797328197f522">lastMediaSequence</a>;</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Setting media sequence as %d of %d&quot;</span>, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a401c6931bc5ff0eaf3f4aac9d52124f7">media_sequence</a>, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aee966d0d920ef43cfadb0830c444b986">last_media_sequence</a>);</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> }</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> </div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#af620858c254ea17f2d75b065134239c8">creatorLength</a> &gt; 0 &amp;&amp;</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a5ee9864c423b8acf6d15b3947587ed4c">creatorOffset</a> + ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#af620858c254ea17f2d75b065134239c8">creatorLength</a> &lt;=</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a3d1affce1a6ce2bda81aeaf85435b885">blockSize</a>)</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> {</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a0c15ef634690890bf80719046faa0230">creator</a> = (uint8_t *)malloc(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#af620858c254ea17f2d75b065134239c8">creatorLength</a>);</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a0c15ef634690890bf80719046faa0230">creator</a> != NULL)</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> memcpy(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a0c15ef634690890bf80719046faa0230">creator</a>, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ae0df8ced37e331df99560d9773d7bad8">metadata_block</a> + ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a5ee9864c423b8acf6d15b3947587ed4c">creatorOffset</a>,</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#af620858c254ea17f2d75b065134239c8">creatorLength</a>);</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> }</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> </div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a0bbbf0b6d7b48ebdc07d4a5e1138044f">commentsLength</a> &gt; 0 &amp;&amp;</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#abd56f9918aab6b6ee628abf6ca04c6d9">commentsOffset</a> + ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a0bbbf0b6d7b48ebdc07d4a5e1138044f">commentsLength</a> &lt;=</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a3d1affce1a6ce2bda81aeaf85435b885">blockSize</a>)</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> {</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab08395cd8ed98def2b5886c35fbad605">comments</a> = (uint8_t *)malloc(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a0bbbf0b6d7b48ebdc07d4a5e1138044f">commentsLength</a>);</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab08395cd8ed98def2b5886c35fbad605">comments</a> != NULL)</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> memcpy(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab08395cd8ed98def2b5886c35fbad605">comments</a>, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ae0df8ced37e331df99560d9773d7bad8">metadata_block</a> + ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#abd56f9918aab6b6ee628abf6ca04c6d9">commentsOffset</a>,</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a0bbbf0b6d7b48ebdc07d4a5e1138044f">commentsLength</a>);</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> }</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> </div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a68deb35b7b070dcc18c790289192741c">mediaTitleLength</a> &gt; 0 &amp;&amp;</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a22d2307092bdc0046664f328e9da581e">mediaTitleOffset</a> + ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a68deb35b7b070dcc18c790289192741c">mediaTitleLength</a> &lt;=</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a3d1affce1a6ce2bda81aeaf85435b885">blockSize</a>)</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> {</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aeb5bda76e0ea176598a04be97b7d5683">media_title</a> = (uint8_t *)malloc(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a68deb35b7b070dcc18c790289192741c">mediaTitleLength</a>);</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aeb5bda76e0ea176598a04be97b7d5683">media_title</a> != NULL)</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> memcpy(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aeb5bda76e0ea176598a04be97b7d5683">media_title</a>, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ae0df8ced37e331df99560d9773d7bad8">metadata_block</a> + ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a22d2307092bdc0046664f328e9da581e">mediaTitleOffset</a>,</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a68deb35b7b070dcc18c790289192741c">mediaTitleLength</a>);</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> }</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> </div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a7f2956f787d72b6981a22c050c0889cf">mediaManufacturerLength</a> &gt; 0 &amp;&amp;</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a6a443de2064b9c3eb31288afb81676d3">mediaManufacturerOffset</a> + ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a7f2956f787d72b6981a22c050c0889cf">mediaManufacturerLength</a> &lt;=</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a3d1affce1a6ce2bda81aeaf85435b885">blockSize</a>)</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> {</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#afd13345e6ab5072d97d9b3bbe238ecea">media_manufacturer</a> = (uint8_t *)malloc(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a7f2956f787d72b6981a22c050c0889cf">mediaManufacturerLength</a>);</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#afd13345e6ab5072d97d9b3bbe238ecea">media_manufacturer</a> != NULL)</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> memcpy(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#afd13345e6ab5072d97d9b3bbe238ecea">media_manufacturer</a>, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ae0df8ced37e331df99560d9773d7bad8">metadata_block</a> + ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a6a443de2064b9c3eb31288afb81676d3">mediaManufacturerOffset</a>,</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a7f2956f787d72b6981a22c050c0889cf">mediaManufacturerLength</a>);</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> }</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> </div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a9438f57b0304b42912b8c66e5a0f1051">mediaModelLength</a> &gt; 0 &amp;&amp;</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a5340616394d88102e70054c673308469">mediaModelOffset</a> + ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a9438f57b0304b42912b8c66e5a0f1051">mediaModelLength</a> &lt;=</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a3d1affce1a6ce2bda81aeaf85435b885">blockSize</a>)</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> {</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a4ecbf4064d4ab0440e922e1c096b38dc">media_model</a> = (uint8_t *)malloc(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a9438f57b0304b42912b8c66e5a0f1051">mediaModelLength</a>);</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a4ecbf4064d4ab0440e922e1c096b38dc">media_model</a> != NULL)</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> memcpy(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a4ecbf4064d4ab0440e922e1c096b38dc">media_model</a>, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ae0df8ced37e331df99560d9773d7bad8">metadata_block</a> + ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a5340616394d88102e70054c673308469">mediaModelOffset</a>,</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a9438f57b0304b42912b8c66e5a0f1051">mediaModelLength</a>);</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> }</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> </div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#aeae9bce28abec33ffa90005f2a247e34">mediaSerialNumberLength</a> &gt; 0 &amp;&amp;</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#ae4561c1f946fe76239810f29a237dfbc">mediaSerialNumberOffset</a> + ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#aeae9bce28abec33ffa90005f2a247e34">mediaSerialNumberLength</a> &lt;=</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a3d1affce1a6ce2bda81aeaf85435b885">blockSize</a>)</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> {</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a33b54e4325c94ad69d97f9cf5bdae68f">media_serial_number</a> = (uint8_t *)malloc(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#aeae9bce28abec33ffa90005f2a247e34">mediaSerialNumberLength</a>);</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a33b54e4325c94ad69d97f9cf5bdae68f">media_serial_number</a> != NULL)</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> memcpy(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a33b54e4325c94ad69d97f9cf5bdae68f">media_serial_number</a>, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ae0df8ced37e331df99560d9773d7bad8">metadata_block</a> + ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#ae4561c1f946fe76239810f29a237dfbc">mediaSerialNumberOffset</a>,</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#aeae9bce28abec33ffa90005f2a247e34">mediaSerialNumberLength</a>);</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> }</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> </div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#aef456689422a0514489b1c900ee2c741">mediaBarcodeLength</a> &gt; 0 &amp;&amp;</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#affd6e10a1ab8eb3714a6ff09b3471747">mediaBarcodeOffset</a> + ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#aef456689422a0514489b1c900ee2c741">mediaBarcodeLength</a> &lt;=</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a3d1affce1a6ce2bda81aeaf85435b885">blockSize</a>)</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> {</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a04aa232b37b939d9e815c4addc68a7a3">media_barcode</a> = (uint8_t *)malloc(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#aef456689422a0514489b1c900ee2c741">mediaBarcodeLength</a>);</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a04aa232b37b939d9e815c4addc68a7a3">media_barcode</a> != NULL)</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> memcpy(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a04aa232b37b939d9e815c4addc68a7a3">media_barcode</a>, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ae0df8ced37e331df99560d9773d7bad8">metadata_block</a> + ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#affd6e10a1ab8eb3714a6ff09b3471747">mediaBarcodeOffset</a>,</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#aef456689422a0514489b1c900ee2c741">mediaBarcodeLength</a>);</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> }</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> </div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#aef055916275048b6496f1f74eef2f1ac">mediaPartNumberLength</a> &gt; 0 &amp;&amp;</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#aeb9233f4dd077e5b0985a3a776deb7c8">mediaPartNumberOffset</a> + ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#aef055916275048b6496f1f74eef2f1ac">mediaPartNumberLength</a> &lt;=</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a3d1affce1a6ce2bda81aeaf85435b885">blockSize</a>)</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> {</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aa3d0670124a4fbe88c485c2b67d1ddbc">media_part_number</a> = (uint8_t *)malloc(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#aef055916275048b6496f1f74eef2f1ac">mediaPartNumberLength</a>);</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aa3d0670124a4fbe88c485c2b67d1ddbc">media_part_number</a> != NULL)</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> memcpy(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aa3d0670124a4fbe88c485c2b67d1ddbc">media_part_number</a>, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ae0df8ced37e331df99560d9773d7bad8">metadata_block</a> + ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#aeb9233f4dd077e5b0985a3a776deb7c8">mediaPartNumberOffset</a>,</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#aef055916275048b6496f1f74eef2f1ac">mediaPartNumberLength</a>);</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> }</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> </div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a380656568f47a838a8a3833844789064">driveManufacturerLength</a> &gt; 0 &amp;&amp;</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#acb4e827848c2525a0fa5fcc6cfcf2887">driveManufacturerOffset</a> + ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a380656568f47a838a8a3833844789064">driveManufacturerLength</a> &lt;=</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a3d1affce1a6ce2bda81aeaf85435b885">blockSize</a>)</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> {</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a614d6f01d563ea57650ce0bbfecfa08d">drive_manufacturer</a> = (uint8_t *)malloc(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a380656568f47a838a8a3833844789064">driveManufacturerLength</a>);</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a614d6f01d563ea57650ce0bbfecfa08d">drive_manufacturer</a> != NULL)</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> memcpy(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a614d6f01d563ea57650ce0bbfecfa08d">drive_manufacturer</a>, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ae0df8ced37e331df99560d9773d7bad8">metadata_block</a> + ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#acb4e827848c2525a0fa5fcc6cfcf2887">driveManufacturerOffset</a>,</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a380656568f47a838a8a3833844789064">driveManufacturerLength</a>);</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> }</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> </div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a3757158a1386964537beb387b5bc03d2">driveModelLength</a> &gt; 0 &amp;&amp;</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a4751e36473bffa529e5d1d1debca95a2">driveModelOffset</a> + ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a3757158a1386964537beb387b5bc03d2">driveModelLength</a> &lt;=</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a3d1affce1a6ce2bda81aeaf85435b885">blockSize</a>)</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> {</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a77d9c8c852de1d955bceb4cfc50557ce">drive_model</a> = (uint8_t *)malloc(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a3757158a1386964537beb387b5bc03d2">driveModelLength</a>);</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a77d9c8c852de1d955bceb4cfc50557ce">drive_model</a> != NULL)</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> memcpy(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a77d9c8c852de1d955bceb4cfc50557ce">drive_model</a>, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ae0df8ced37e331df99560d9773d7bad8">metadata_block</a> + ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a4751e36473bffa529e5d1d1debca95a2">driveModelOffset</a>,</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a3757158a1386964537beb387b5bc03d2">driveModelLength</a>);</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> }</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> </div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a78213f42c28f31038e6a9f130c660ad8">driveSerialNumberLength</a> &gt; 0 &amp;&amp;</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a7d44fe2fdfebf3d49179801eb72ff72c">driveSerialNumberOffset</a> + ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a78213f42c28f31038e6a9f130c660ad8">driveSerialNumberLength</a> &lt;=</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a3d1affce1a6ce2bda81aeaf85435b885">blockSize</a>)</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> {</div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a505f32de424a033246348d9fa35f9b19">drive_serial_number</a> = (uint8_t *)malloc(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a78213f42c28f31038e6a9f130c660ad8">driveSerialNumberLength</a>);</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a505f32de424a033246348d9fa35f9b19">drive_serial_number</a> != NULL)</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> memcpy(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a505f32de424a033246348d9fa35f9b19">drive_serial_number</a>, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ae0df8ced37e331df99560d9773d7bad8">metadata_block</a> + ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a7d44fe2fdfebf3d49179801eb72ff72c">driveSerialNumberOffset</a>,</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a78213f42c28f31038e6a9f130c660ad8">driveSerialNumberLength</a>);</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> }</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> </div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#afbf024f5492e45a3643ea7a1652b6420">driveFirmwareRevisionLength</a> &gt; 0 &amp;&amp;</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a9bcf425f7ae5ab41d030c9b1f2c72979">driveFirmwareRevisionOffset</a> +</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#afbf024f5492e45a3643ea7a1652b6420">driveFirmwareRevisionLength</a> &lt;=</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a3d1affce1a6ce2bda81aeaf85435b885">blockSize</a>)</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> {</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a329dda508cb897dc7871d2d1c0434792">drive_firmware_revision</a> = (uint8_t *)malloc(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#afbf024f5492e45a3643ea7a1652b6420">driveFirmwareRevisionLength</a>);</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a329dda508cb897dc7871d2d1c0434792">drive_firmware_revision</a> != NULL)</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> memcpy(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a329dda508cb897dc7871d2d1c0434792">drive_firmware_revision</a>,</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ae0df8ced37e331df99560d9773d7bad8">metadata_block</a> + ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#a9bcf425f7ae5ab41d030c9b1f2c72979">driveFirmwareRevisionOffset</a>,</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">metadata_block_header</a>.<a class="code hl_variable" href="structMetadataBlockHeader.html#afbf024f5492e45a3643ea7a1652b6420">driveFirmwareRevisionLength</a>);</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> }</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> </div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting process_metadata_block()&quot;</span>);</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span>}</div>
</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span></div>
<div class="foldopen" id="foldopen00246" data-start="{" data-end="}">
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"><a class="line" href="internal_8h.html#a81d410de6727d95a85b827067e1a8bc6"> 246</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="blocks_2metadata_8c.html#a81d410de6727d95a85b827067e1a8bc6">process_geometry_block</a>(<a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx, <span class="keyword">const</span> <a class="code hl_struct" href="structIndexEntry.html">IndexEntry</a> *entry)</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span>{</div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering process_geometry_block(%p, %p)&quot;</span>, ctx, entry);</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> <span class="keywordtype">size_t</span> read_bytes = 0;</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> </div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> <span class="comment">// Check if the context and image stream are valid</span></div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> <span class="keywordflow">if</span>(ctx == NULL || ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab516fae594bde4f76b75488d0a3ca3a8">imageStream</a> == NULL)</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> {</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Invalid context or image stream.&quot;</span>);</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> </div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting process_geometry_block()&quot;</span>);</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> }</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> </div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> <span class="comment">// Seek to block</span></div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> <span class="keywordflow">if</span>(fseek(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab516fae594bde4f76b75488d0a3ca3a8">imageStream</a>, entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a>, SEEK_SET) != 0)</div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> {</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Could not seek to %&quot;</span> PRIu64 <span class="stringliteral">&quot; as indicated by index entry...&quot;</span>, entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a>);</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> </div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting process_geometry_block()&quot;</span>);</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> }</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> </div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Reading geometry block header at position %&quot;</span> PRIu64, entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a>);</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> read_bytes = fread(&amp;ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a9ac9d12e8fde7a69c01cdf2dc32f33bd">geometry_block</a>, 1, <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structGeometryBlockHeader.html">GeometryBlockHeader</a>), ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab516fae594bde4f76b75488d0a3ca3a8">imageStream</a>);</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> </div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> <span class="keywordflow">if</span>(read_bytes != <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structGeometryBlockHeader.html">GeometryBlockHeader</a>))</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> {</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> memset(&amp;ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a9ac9d12e8fde7a69c01cdf2dc32f33bd">geometry_block</a>, 0, <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structGeometryBlockHeader.html">GeometryBlockHeader</a>));</div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Could not read geometry block header, continuing...&quot;</span>);</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> }</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> </div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a9ac9d12e8fde7a69c01cdf2dc32f33bd">geometry_block</a>.<a class="code hl_variable" href="structGeometryBlockHeader.html#a233b19be8361b1c3c1963d8521924138">identifier</a> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3a76691ea3f772bf28e7446d171e205db2">GeometryBlock</a>)</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> {</div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> memset(&amp;ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a9ac9d12e8fde7a69c01cdf2dc32f33bd">geometry_block</a>, 0, <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structGeometryBlockHeader.html">GeometryBlockHeader</a>));</div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Incorrect identifier for geometry block at position %&quot;</span> PRIu64 <span class="stringliteral">&quot;&quot;</span>, entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a>);</div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> }</div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> </div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ac970291b3449c04221827b9c2c18ac70">image_info</a>.<a class="code hl_variable" href="structImageInfo.html#abca8e73a9655d810e6d30d36c3ab54d7">ImageSize</a> += <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structGeometryBlockHeader.html">GeometryBlockHeader</a>);</div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> </div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Geometry set to %d cylinders %d heads %d sectors per track&quot;</span>, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a9ac9d12e8fde7a69c01cdf2dc32f33bd">geometry_block</a>.<a class="code hl_variable" href="structGeometryBlockHeader.html#a38855dea9b1773ea7f6b837c973106d9">cylinders</a>,</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a9ac9d12e8fde7a69c01cdf2dc32f33bd">geometry_block</a>.<a class="code hl_variable" href="structGeometryBlockHeader.html#a9ed0a8f6307eb38589ef4502cef533ee">heads</a>, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a9ac9d12e8fde7a69c01cdf2dc32f33bd">geometry_block</a>.<a class="code hl_variable" href="structGeometryBlockHeader.html#aea5822d390ac6b2a3b8b2c6250046cd6">sectorsPerTrack</a>);</div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> </div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a29c17435980ac94547f471485a891f54">cylinders</a> = ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a9ac9d12e8fde7a69c01cdf2dc32f33bd">geometry_block</a>.<a class="code hl_variable" href="structGeometryBlockHeader.html#a38855dea9b1773ea7f6b837c973106d9">cylinders</a>;</div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab213059edf055cf1c3e2021bc395c78e">heads</a> = ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a9ac9d12e8fde7a69c01cdf2dc32f33bd">geometry_block</a>.<a class="code hl_variable" href="structGeometryBlockHeader.html#a9ed0a8f6307eb38589ef4502cef533ee">heads</a>;</div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aaeb71d74c7d9236d80186a25066326a1">sectors_per_track</a> = ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a9ac9d12e8fde7a69c01cdf2dc32f33bd">geometry_block</a>.<a class="code hl_variable" href="structGeometryBlockHeader.html#aea5822d390ac6b2a3b8b2c6250046cd6">sectorsPerTrack</a>;</div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> </div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting process_geometry_block()&quot;</span>);</div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span>}</div>
</div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span></div>
<div class="foldopen" id="foldopen00306" data-start="{" data-end="}">
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"><a class="line" href="internal_8h.html#a5e0397faed8aea27c5a6a3881875de54"> 306</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="blocks_2metadata_8c.html#a5e0397faed8aea27c5a6a3881875de54">process_cicm_block</a>(<a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx, <span class="keyword">const</span> <a class="code hl_struct" href="structIndexEntry.html">IndexEntry</a> *entry)</div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span>{</div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering process_cicm_block(%p, %p)&quot;</span>, ctx, entry);</div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> <span class="keywordtype">int</span> pos = 0;</div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> <span class="keywordtype">size_t</span> read_bytes = 0;</div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> </div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> <span class="comment">// Check if the context and image stream are valid</span></div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> <span class="keywordflow">if</span>(ctx == NULL || ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab516fae594bde4f76b75488d0a3ca3a8">imageStream</a> == NULL)</div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> {</div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Invalid context or image stream.&quot;</span>);</div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> </div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting process_cicm_block()&quot;</span>);</div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> }</div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> </div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> <span class="comment">// Seek to block</span></div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Seeking to CICM XML metadata block at position %&quot;</span> PRIu64, entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a>);</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> pos = fseek(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab516fae594bde4f76b75488d0a3ca3a8">imageStream</a>, entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a>, SEEK_SET);</div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> <span class="keywordflow">if</span>(pos &lt; 0 || ftell(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab516fae594bde4f76b75488d0a3ca3a8">imageStream</a>) != entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a>)</div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span> {</div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Could not seek to %&quot;</span> PRIu64 <span class="stringliteral">&quot; as indicated by index entry...&quot;</span>, entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a>);</div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span> </div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting process_cicm_block()&quot;</span>);</div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> }</div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> </div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> <span class="comment">// Even if those two checks shall have been done before</span></div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Reading CICM XML metadata block header at position %&quot;</span> PRIu64, entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a>);</div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> read_bytes = fread(&amp;ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a73005ba88069ba590ffc9660dc2bc7a5">cicm_block_header</a>, 1, <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structCicmMetadataBlock.html">CicmMetadataBlock</a>), ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab516fae594bde4f76b75488d0a3ca3a8">imageStream</a>);</div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span> </div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> <span class="keywordflow">if</span>(read_bytes != <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structCicmMetadataBlock.html">CicmMetadataBlock</a>))</div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> {</div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> memset(&amp;ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a73005ba88069ba590ffc9660dc2bc7a5">cicm_block_header</a>, 0, <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structCicmMetadataBlock.html">CicmMetadataBlock</a>));</div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Could not read CICM XML metadata header, continuing...&quot;</span>);</div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> }</div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span> </div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a73005ba88069ba590ffc9660dc2bc7a5">cicm_block_header</a>.<a class="code hl_variable" href="structCicmMetadataBlock.html#aee270357b6dc394ed9ac5f22c9903c90">identifier</a> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3aa90947995922dcd8b27c998978aba359">CicmBlock</a>)</div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> {</div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> memset(&amp;ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a73005ba88069ba590ffc9660dc2bc7a5">cicm_block_header</a>, 0, <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structCicmMetadataBlock.html">CicmMetadataBlock</a>));</div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Incorrect identifier for data block at position %&quot;</span> PRIu64 <span class="stringliteral">&quot;&quot;</span>, entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a>);</div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span> }</div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> </div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ac970291b3449c04221827b9c2c18ac70">image_info</a>.<a class="code hl_variable" href="structImageInfo.html#abca8e73a9655d810e6d30d36c3ab54d7">ImageSize</a> += ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a73005ba88069ba590ffc9660dc2bc7a5">cicm_block_header</a>.<a class="code hl_variable" href="structCicmMetadataBlock.html#a660c22d42c504d290f386f187707956f">length</a>;</div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> </div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a154fda29a2c9292cfca51ca6b54eee4a">cicm_block</a> = (uint8_t *)malloc(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a73005ba88069ba590ffc9660dc2bc7a5">cicm_block_header</a>.<a class="code hl_variable" href="structCicmMetadataBlock.html#a660c22d42c504d290f386f187707956f">length</a>);</div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> </div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a154fda29a2c9292cfca51ca6b54eee4a">cicm_block</a> == NULL)</div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span> {</div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> memset(&amp;ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a73005ba88069ba590ffc9660dc2bc7a5">cicm_block_header</a>, 0, <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structCicmMetadataBlock.html">CicmMetadataBlock</a>));</div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Could not allocate memory for CICM XML metadata block, continuing...&quot;</span>);</div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> </div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting process_cicm_block()&quot;</span>);</div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span> }</div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> </div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Reading CICM XML metadata block of size %u at position %&quot;</span> PRIu64, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a73005ba88069ba590ffc9660dc2bc7a5">cicm_block_header</a>.<a class="code hl_variable" href="structCicmMetadataBlock.html#a660c22d42c504d290f386f187707956f">length</a>,</div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span> entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a> + <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structCicmMetadataBlock.html">CicmMetadataBlock</a>));</div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> read_bytes = fread(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a154fda29a2c9292cfca51ca6b54eee4a">cicm_block</a>, 1, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a73005ba88069ba590ffc9660dc2bc7a5">cicm_block_header</a>.<a class="code hl_variable" href="structCicmMetadataBlock.html#a660c22d42c504d290f386f187707956f">length</a>, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab516fae594bde4f76b75488d0a3ca3a8">imageStream</a>);</div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span> </div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> <span class="keywordflow">if</span>(read_bytes != ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a73005ba88069ba590ffc9660dc2bc7a5">cicm_block_header</a>.<a class="code hl_variable" href="structCicmMetadataBlock.html#a660c22d42c504d290f386f187707956f">length</a>)</div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> {</div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> memset(&amp;ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a73005ba88069ba590ffc9660dc2bc7a5">cicm_block_header</a>, 0, <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structCicmMetadataBlock.html">CicmMetadataBlock</a>));</div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a154fda29a2c9292cfca51ca6b54eee4a">cicm_block</a>);</div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Could not read CICM XML metadata block, continuing...&quot;</span>);</div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> }</div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span> </div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Found CICM XML metadata block %&quot;</span> PRIu64 <span class="stringliteral">&quot;.&quot;</span>, entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a>);</div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span> </div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting process_cicm_block()&quot;</span>);</div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span>}</div>
</div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span></div>
<div class="foldopen" id="foldopen00470" data-start="{" data-end="}">
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"><a class="line" href="internal_8h.html#a84003ec881425a7b28ec24cb48d19f02"> 470</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="blocks_2metadata_8c.html#a84003ec881425a7b28ec24cb48d19f02">process_aaru_metadata_json_block</a>(<a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx, <span class="keyword">const</span> <a class="code hl_struct" href="structIndexEntry.html">IndexEntry</a> *entry)</div>
<div class="line"><a id="l00471" name="l00471"></a><span class="lineno"> 471</span>{</div>
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"> 472</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering process_aaru_metadata_json_block(%p, %p)&quot;</span>, ctx, entry);</div>
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"> 473</span> <span class="keywordtype">int</span> pos = 0;</div>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span> <span class="keywordtype">size_t</span> read_bytes = 0;</div>
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"> 475</span> </div>
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span> <span class="comment">// Check if the context and image stream are valid</span></div>
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span> <span class="keywordflow">if</span>(ctx == NULL || ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab516fae594bde4f76b75488d0a3ca3a8">imageStream</a> == NULL)</div>
<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"> 478</span> {</div>
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Invalid context or image stream.&quot;</span>);</div>
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span> </div>
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting process_aaru_metadata_json_block()&quot;</span>);</div>
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"> 482</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span> }</div>
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"> 484</span> </div>
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"> 485</span> <span class="comment">// Seek to block</span></div>
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"> 486</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Seeking to Aaru metadata JSON block at position %&quot;</span> PRIu64, entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a>);</div>
<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"> 487</span> pos = fseek(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab516fae594bde4f76b75488d0a3ca3a8">imageStream</a>, entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a>, SEEK_SET);</div>
<div class="line"><a id="l00488" name="l00488"></a><span class="lineno"> 488</span> <span class="keywordflow">if</span>(pos &lt; 0 || ftell(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab516fae594bde4f76b75488d0a3ca3a8">imageStream</a>) != entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a>)</div>
<div class="line"><a id="l00489" name="l00489"></a><span class="lineno"> 489</span> {</div>
<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"> 490</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Could not seek to %&quot;</span> PRIu64 <span class="stringliteral">&quot; as indicated by index entry...&quot;</span>, entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a>);</div>
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"> 491</span> </div>
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"> 492</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting process_aaru_metadata_json_block()&quot;</span>);</div>
<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"> 493</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00494" name="l00494"></a><span class="lineno"> 494</span> }</div>
<div class="line"><a id="l00495" name="l00495"></a><span class="lineno"> 495</span> </div>
<div class="line"><a id="l00496" name="l00496"></a><span class="lineno"> 496</span> <span class="comment">// Even if those two checks shall have been done before</span></div>
<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"> 497</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Reading Aaru metadata JSON block header at position %&quot;</span> PRIu64, entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a>);</div>
<div class="line"><a id="l00498" name="l00498"></a><span class="lineno"> 498</span> read_bytes = fread(&amp;ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aaa66c73269576f55c8946c741e02e34f">json_block_header</a>, 1, <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structAaruMetadataJsonBlockHeader.html">AaruMetadataJsonBlockHeader</a>), ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab516fae594bde4f76b75488d0a3ca3a8">imageStream</a>);</div>
<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"> 499</span> </div>
<div class="line"><a id="l00500" name="l00500"></a><span class="lineno"> 500</span> <span class="keywordflow">if</span>(read_bytes != <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structAaruMetadataJsonBlockHeader.html">AaruMetadataJsonBlockHeader</a>))</div>
<div class="line"><a id="l00501" name="l00501"></a><span class="lineno"> 501</span> {</div>
<div class="line"><a id="l00502" name="l00502"></a><span class="lineno"> 502</span> memset(&amp;ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aaa66c73269576f55c8946c741e02e34f">json_block_header</a>, 0, <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structAaruMetadataJsonBlockHeader.html">AaruMetadataJsonBlockHeader</a>));</div>
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"> 503</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Could not read Aaru metadata JSON header, continuing...&quot;</span>);</div>
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"> 504</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"> 505</span> }</div>
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"> 506</span> </div>
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"> 507</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aaa66c73269576f55c8946c741e02e34f">json_block_header</a>.<a class="code hl_variable" href="structAaruMetadataJsonBlockHeader.html#a5e3db5d08dc09206cad6ea1b88b2db7d">identifier</a> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3a8ac77889f0c345ed861ed653a3063032">AaruMetadataJsonBlock</a>)</div>
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"> 508</span> {</div>
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"> 509</span> memset(&amp;ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aaa66c73269576f55c8946c741e02e34f">json_block_header</a>, 0, <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structAaruMetadataJsonBlockHeader.html">AaruMetadataJsonBlockHeader</a>));</div>
<div class="line"><a id="l00510" name="l00510"></a><span class="lineno"> 510</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Incorrect identifier for data block at position %&quot;</span> PRIu64 <span class="stringliteral">&quot;&quot;</span>, entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a>);</div>
<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"> 511</span> }</div>
<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"> 512</span> </div>
<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"> 513</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ac970291b3449c04221827b9c2c18ac70">image_info</a>.<a class="code hl_variable" href="structImageInfo.html#abca8e73a9655d810e6d30d36c3ab54d7">ImageSize</a> += ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aaa66c73269576f55c8946c741e02e34f">json_block_header</a>.<a class="code hl_variable" href="structAaruMetadataJsonBlockHeader.html#aa9e35df2ccc7294a24187fff4bb559a9">length</a>;</div>
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"> 514</span> </div>
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"> 515</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a9e7ebc6897142938452338bc5a882dd8">json_block</a> = (uint8_t *)malloc(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aaa66c73269576f55c8946c741e02e34f">json_block_header</a>.<a class="code hl_variable" href="structAaruMetadataJsonBlockHeader.html#aa9e35df2ccc7294a24187fff4bb559a9">length</a>);</div>
<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"> 516</span> </div>
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"> 517</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a9e7ebc6897142938452338bc5a882dd8">json_block</a> == NULL)</div>
<div class="line"><a id="l00518" name="l00518"></a><span class="lineno"> 518</span> {</div>
<div class="line"><a id="l00519" name="l00519"></a><span class="lineno"> 519</span> memset(&amp;ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aaa66c73269576f55c8946c741e02e34f">json_block_header</a>, 0, <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structAaruMetadataJsonBlockHeader.html">AaruMetadataJsonBlockHeader</a>));</div>
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"> 520</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Could not allocate memory for Aaru metadata JSON block, continuing...&quot;</span>);</div>
<div class="line"><a id="l00521" name="l00521"></a><span class="lineno"> 521</span> </div>
<div class="line"><a id="l00522" name="l00522"></a><span class="lineno"> 522</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting process_aaru_metadata_json_block()&quot;</span>);</div>
<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"> 523</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"> 524</span> }</div>
<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"> 525</span> </div>
<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"> 526</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Reading Aaru metadata JSON block of size %u at position %&quot;</span> PRIu64, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aaa66c73269576f55c8946c741e02e34f">json_block_header</a>.<a class="code hl_variable" href="structAaruMetadataJsonBlockHeader.html#aa9e35df2ccc7294a24187fff4bb559a9">length</a>,</div>
<div class="line"><a id="l00527" name="l00527"></a><span class="lineno"> 527</span> entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a> + <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structAaruMetadataJsonBlockHeader.html">AaruMetadataJsonBlockHeader</a>));</div>
<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"> 528</span> read_bytes = fread(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a9e7ebc6897142938452338bc5a882dd8">json_block</a>, 1, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aaa66c73269576f55c8946c741e02e34f">json_block_header</a>.<a class="code hl_variable" href="structAaruMetadataJsonBlockHeader.html#aa9e35df2ccc7294a24187fff4bb559a9">length</a>, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab516fae594bde4f76b75488d0a3ca3a8">imageStream</a>);</div>
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"> 529</span> </div>
<div class="line"><a id="l00530" name="l00530"></a><span class="lineno"> 530</span> <span class="keywordflow">if</span>(read_bytes != ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aaa66c73269576f55c8946c741e02e34f">json_block_header</a>.<a class="code hl_variable" href="structAaruMetadataJsonBlockHeader.html#aa9e35df2ccc7294a24187fff4bb559a9">length</a>)</div>
<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"> 531</span> {</div>
<div class="line"><a id="l00532" name="l00532"></a><span class="lineno"> 532</span> memset(&amp;ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aaa66c73269576f55c8946c741e02e34f">json_block_header</a>, 0, <span class="keyword">sizeof</span>(<a class="code hl_struct" href="structAaruMetadataJsonBlockHeader.html">AaruMetadataJsonBlockHeader</a>));</div>
<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"> 533</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a9e7ebc6897142938452338bc5a882dd8">json_block</a>);</div>
<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"> 534</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Could not read Aaru metadata JSON block, continuing...&quot;</span>);</div>
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"> 535</span> }</div>
<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"> 536</span> </div>
<div class="line"><a id="l00537" name="l00537"></a><span class="lineno"> 537</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Found Aaru metadata JSON block %&quot;</span> PRIu64 <span class="stringliteral">&quot;.&quot;</span>, entry-&gt;<a class="code hl_variable" href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">offset</a>);</div>
<div class="line"><a id="l00538" name="l00538"></a><span class="lineno"> 538</span> </div>
<div class="line"><a id="l00539" name="l00539"></a><span class="lineno"> 539</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting process_aaru_metadata_json_block()&quot;</span>);</div>
<div class="line"><a id="l00540" name="l00540"></a><span class="lineno"> 540</span>}</div>
</div>
<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"> 541</span></div>
<div class="foldopen" id="foldopen00618" data-start="{" data-end="}">
<div class="line"><a id="l00618" name="l00618"></a><span class="lineno"><a class="line" href="decls_8h.html#aa9ed74c6988c035d9ba0d11965d5cf10"> 618</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="blocks_2metadata_8c.html#aa9ed74c6988c035d9ba0d11965d5cf10">aaruf_get_readable_sector_tags</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="l00619" name="l00619"></a><span class="lineno"> 619</span>{</div>
<div class="line"><a id="l00620" name="l00620"></a><span class="lineno"> 620</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_get_readable_sector_tags(%p, %p, %zu)&quot;</span>, context, buffer, (length ? *length : 0));</div>
<div class="line"><a id="l00621" name="l00621"></a><span class="lineno"> 621</span> </div>
<div class="line"><a id="l00622" name="l00622"></a><span class="lineno"> 622</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l00623" name="l00623"></a><span class="lineno"> 623</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l00624" name="l00624"></a><span class="lineno"> 624</span> {</div>
<div class="line"><a id="l00625" name="l00625"></a><span class="lineno"> 625</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="l00626" name="l00626"></a><span class="lineno"> 626</span> </div>
<div class="line"><a id="l00627" name="l00627"></a><span class="lineno"> 627</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_get_readable_sector_tags() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l00628" name="l00628"></a><span class="lineno"> 628</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="l00629" name="l00629"></a><span class="lineno"> 629</span> }</div>
<div class="line"><a id="l00630" name="l00630"></a><span class="lineno"> 630</span> </div>
<div class="line"><a id="l00631" name="l00631"></a><span class="lineno"> 631</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="l00632" name="l00632"></a><span class="lineno"> 632</span> </div>
<div class="line"><a id="l00633" name="l00633"></a><span class="lineno"> 633</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l00634" name="l00634"></a><span class="lineno"> 634</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="l00635" name="l00635"></a><span class="lineno"> 635</span> {</div>
<div class="line"><a id="l00636" name="l00636"></a><span class="lineno"> 636</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="l00637" name="l00637"></a><span class="lineno"> 637</span> </div>
<div class="line"><a id="l00638" name="l00638"></a><span class="lineno"> 638</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_get_readable_sector_tags() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l00639" name="l00639"></a><span class="lineno"> 639</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="l00640" name="l00640"></a><span class="lineno"> 640</span> }</div>
<div class="line"><a id="l00641" name="l00641"></a><span class="lineno"> 641</span> </div>
<div class="line"><a id="l00642" name="l00642"></a><span class="lineno"> 642</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ad3d5494e23b07418e9fbd22c3771e534">readableSectorTags</a> == NULL)</div>
<div class="line"><a id="l00643" name="l00643"></a><span class="lineno"> 643</span> {</div>
<div class="line"><a id="l00644" name="l00644"></a><span class="lineno"> 644</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Image contains no readable sector tags&quot;</span>);</div>
<div class="line"><a id="l00645" name="l00645"></a><span class="lineno"> 645</span> </div>
<div class="line"><a id="l00646" name="l00646"></a><span class="lineno"> 646</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_get_readable_sector_tags() = AARUF_ERROR_METADATA_NOT_PRESENT&quot;</span>);</div>
<div class="line"><a id="l00647" name="l00647"></a><span class="lineno"> 647</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a99ff8f6884fd5e21840b2e35240bc265">AARUF_ERROR_METADATA_NOT_PRESENT</a>;</div>
<div class="line"><a id="l00648" name="l00648"></a><span class="lineno"> 648</span> }</div>
<div class="line"><a id="l00649" name="l00649"></a><span class="lineno"> 649</span> </div>
<div class="line"><a id="l00650" name="l00650"></a><span class="lineno"> 650</span> <span class="keywordtype">size_t</span> required_length = <span class="keyword">sizeof</span>(bool) * (<a class="code hl_enumvalue" href="group__SectorTags.html#ggaf863e81d172ce7a216d8687a8a23293aa81dbcd4677b6377bce5351ad92fc4d64">MaxSectorTag</a> + 1);</div>
<div class="line"><a id="l00651" name="l00651"></a><span class="lineno"> 651</span> </div>
<div class="line"><a id="l00652" name="l00652"></a><span class="lineno"> 652</span> <span class="keywordflow">if</span>(buffer == NULL || length == NULL || *length &lt; required_length)</div>
<div class="line"><a id="l00653" name="l00653"></a><span class="lineno"> 653</span> {</div>
<div class="line"><a id="l00654" name="l00654"></a><span class="lineno"> 654</span> <span class="keywordflow">if</span>(length) *length = required_length;</div>
<div class="line"><a id="l00655" name="l00655"></a><span class="lineno"> 655</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Buffer too small for readable sector tags, required %zu bytes&quot;</span>, required_length);</div>
<div class="line"><a id="l00656" name="l00656"></a><span class="lineno"> 656</span> </div>
<div class="line"><a id="l00657" name="l00657"></a><span class="lineno"> 657</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_get_readable_sector_tags() = AARUF_ERROR_BUFFER_TOO_SMALL&quot;</span>);</div>
<div class="line"><a id="l00658" name="l00658"></a><span class="lineno"> 658</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="l00659" name="l00659"></a><span class="lineno"> 659</span> }</div>
<div class="line"><a id="l00660" name="l00660"></a><span class="lineno"> 660</span> </div>
<div class="line"><a id="l00661" name="l00661"></a><span class="lineno"> 661</span> memcpy(buffer, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ad3d5494e23b07418e9fbd22c3771e534">readableSectorTags</a>, required_length);</div>
<div class="line"><a id="l00662" name="l00662"></a><span class="lineno"> 662</span> *length = required_length;</div>
<div class="line"><a id="l00663" name="l00663"></a><span class="lineno"> 663</span> </div>
<div class="line"><a id="l00664" name="l00664"></a><span class="lineno"> 664</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_get_readable_sector_tags(%p, %p, %zu) = AARUF_STATUS_OK&quot;</span>, context, buffer, *length);</div>
<div class="line"><a id="l00665" name="l00665"></a><span class="lineno"> 665</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="l00666" name="l00666"></a><span class="lineno"> 666</span>}</div>
</div>
<div class="line"><a id="l00667" name="l00667"></a><span class="lineno"> 667</span></div>
<div class="foldopen" id="foldopen00706" data-start="{" data-end="}">
<div class="line"><a id="l00706" name="l00706"></a><span class="lineno"><a class="line" href="decls_8h.html#a9cfc80d1cfa399bfea980b6ac4e2208a"> 706</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="blocks_2metadata_8c.html#a9cfc80d1cfa399bfea980b6ac4e2208a">aaruf_get_readable_media_tags</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="l00707" name="l00707"></a><span class="lineno"> 707</span>{</div>
<div class="line"><a id="l00708" name="l00708"></a><span class="lineno"> 708</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_get_readable_media_tags(%p, %p, %zu)&quot;</span>, context, buffer, (length ? *length : 0));</div>
<div class="line"><a id="l00709" name="l00709"></a><span class="lineno"> 709</span> </div>
<div class="line"><a id="l00710" name="l00710"></a><span class="lineno"> 710</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l00711" name="l00711"></a><span class="lineno"> 711</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l00712" name="l00712"></a><span class="lineno"> 712</span> {</div>
<div class="line"><a id="l00713" name="l00713"></a><span class="lineno"> 713</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="l00714" name="l00714"></a><span class="lineno"> 714</span> </div>
<div class="line"><a id="l00715" name="l00715"></a><span class="lineno"> 715</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_get_readable_media_tags() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l00716" name="l00716"></a><span class="lineno"> 716</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="l00717" name="l00717"></a><span class="lineno"> 717</span> }</div>
<div class="line"><a id="l00718" name="l00718"></a><span class="lineno"> 718</span> </div>
<div class="line"><a id="l00719" name="l00719"></a><span class="lineno"> 719</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="l00720" name="l00720"></a><span class="lineno"> 720</span> </div>
<div class="line"><a id="l00721" name="l00721"></a><span class="lineno"> 721</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l00722" name="l00722"></a><span class="lineno"> 722</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="l00723" name="l00723"></a><span class="lineno"> 723</span> {</div>
<div class="line"><a id="l00724" name="l00724"></a><span class="lineno"> 724</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="l00725" name="l00725"></a><span class="lineno"> 725</span> </div>
<div class="line"><a id="l00726" name="l00726"></a><span class="lineno"> 726</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_get_readable_media_tags() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l00727" name="l00727"></a><span class="lineno"> 727</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="l00728" name="l00728"></a><span class="lineno"> 728</span> }</div>
<div class="line"><a id="l00729" name="l00729"></a><span class="lineno"> 729</span> </div>
<div class="line"><a id="l00730" name="l00730"></a><span class="lineno"> 730</span> <span class="comment">// Required size: one byte for each MediaTagType (0 to MaxMediaTag)</span></div>
<div class="line"><a id="l00731" name="l00731"></a><span class="lineno"> 731</span> <span class="keywordtype">size_t</span> required_length = <a class="code hl_enumvalue" href="group__MediaTags.html#ggabdd09c559df8f34ae68fcb2ff1892ebeacd570dfe827abf5d93ff1c36b44efa33">MaxMediaTag</a> + 1;</div>
<div class="line"><a id="l00732" name="l00732"></a><span class="lineno"> 732</span> </div>
<div class="line"><a id="l00733" name="l00733"></a><span class="lineno"> 733</span> <span class="keywordflow">if</span>(buffer == NULL || length == NULL || *length &lt; required_length)</div>
<div class="line"><a id="l00734" name="l00734"></a><span class="lineno"> 734</span> {</div>
<div class="line"><a id="l00735" name="l00735"></a><span class="lineno"> 735</span> <span class="keywordflow">if</span>(length) *length = required_length;</div>
<div class="line"><a id="l00736" name="l00736"></a><span class="lineno"> 736</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Buffer too small for readable media tags, required %zu bytes&quot;</span>, required_length);</div>
<div class="line"><a id="l00737" name="l00737"></a><span class="lineno"> 737</span> </div>
<div class="line"><a id="l00738" name="l00738"></a><span class="lineno"> 738</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_get_readable_media_tags() = AARUF_ERROR_BUFFER_TOO_SMALL&quot;</span>);</div>
<div class="line"><a id="l00739" name="l00739"></a><span class="lineno"> 739</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="l00740" name="l00740"></a><span class="lineno"> 740</span> }</div>
<div class="line"><a id="l00741" name="l00741"></a><span class="lineno"> 741</span> </div>
<div class="line"><a id="l00742" name="l00742"></a><span class="lineno"> 742</span> <span class="comment">// Initialize all bytes to false (0)</span></div>
<div class="line"><a id="l00743" name="l00743"></a><span class="lineno"> 743</span> memset(buffer, 0, required_length);</div>
<div class="line"><a id="l00744" name="l00744"></a><span class="lineno"> 744</span> </div>
<div class="line"><a id="l00745" name="l00745"></a><span class="lineno"> 745</span> <span class="comment">// Iterate through all media tag types and mark present ones as true</span></div>
<div class="line"><a id="l00746" name="l00746"></a><span class="lineno"> 746</span> <span class="keywordflow">for</span>(int32_t tag_type = 0; tag_type &lt;= <a class="code hl_enumvalue" href="group__MediaTags.html#ggabdd09c559df8f34ae68fcb2ff1892ebeacd570dfe827abf5d93ff1c36b44efa33">MaxMediaTag</a>; tag_type++)</div>
<div class="line"><a id="l00747" name="l00747"></a><span class="lineno"> 747</span> {</div>
<div class="line"><a id="l00748" name="l00748"></a><span class="lineno"> 748</span> <a class="code hl_struct" href="structmediaTagEntry.html">mediaTagEntry</a> *item = NULL;</div>
<div class="line"><a id="l00749" name="l00749"></a><span class="lineno"> 749</span> HASH_FIND_INT(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a8b769e9fb9467aa11d4a2936cf5cf5ed">mediaTags</a>, &amp;tag_type, item);</div>
<div class="line"><a id="l00750" name="l00750"></a><span class="lineno"> 750</span> </div>
<div class="line"><a id="l00751" name="l00751"></a><span class="lineno"> 751</span> <span class="keywordflow">if</span>(item != NULL)</div>
<div class="line"><a id="l00752" name="l00752"></a><span class="lineno"> 752</span> {</div>
<div class="line"><a id="l00753" name="l00753"></a><span class="lineno"> 753</span> buffer[tag_type] = 1;</div>
<div class="line"><a id="l00754" name="l00754"></a><span class="lineno"> 754</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Media tag type %d is present&quot;</span>, tag_type);</div>
<div class="line"><a id="l00755" name="l00755"></a><span class="lineno"> 755</span> }</div>
<div class="line"><a id="l00756" name="l00756"></a><span class="lineno"> 756</span> }</div>
<div class="line"><a id="l00757" name="l00757"></a><span class="lineno"> 757</span> </div>
<div class="line"><a id="l00758" name="l00758"></a><span class="lineno"> 758</span> *length = required_length;</div>
<div class="line"><a id="l00759" name="l00759"></a><span class="lineno"> 759</span> </div>
<div class="line"><a id="l00760" name="l00760"></a><span class="lineno"> 760</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_get_readable_media_tags(%p, %p, %zu) = AARUF_STATUS_OK&quot;</span>, context, buffer, *length);</div>
<div class="line"><a id="l00761" name="l00761"></a><span class="lineno"> 761</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="l00762" name="l00762"></a><span class="lineno"> 762</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="ablocks_2metadata_8c_html_a43974d4c183240be30d49ff09ef7b8c2"><div class="ttname"><a href="blocks_2metadata_8c.html#a43974d4c183240be30d49ff09ef7b8c2">process_metadata_block</a></div><div class="ttdeci">void process_metadata_block(aaruformat_context *ctx, const IndexEntry *entry)</div><div class="ttdoc">Processes a metadata block from the image stream.</div><div class="ttdef"><b>Definition</b> <a href="#l00035">metadata.c:35</a></div></div>
<div class="ttc" id="ablocks_2metadata_8c_html_a5e0397faed8aea27c5a6a3881875de54"><div class="ttname"><a href="blocks_2metadata_8c.html#a5e0397faed8aea27c5a6a3881875de54">process_cicm_block</a></div><div class="ttdeci">void process_cicm_block(aaruformat_context *ctx, const IndexEntry *entry)</div><div class="ttdoc">Processes a CICM XML metadata block from the image stream.</div><div class="ttdef"><b>Definition</b> <a href="#l00306">metadata.c:306</a></div></div>
<div class="ttc" id="ablocks_2metadata_8c_html_a81d410de6727d95a85b827067e1a8bc6"><div class="ttname"><a href="blocks_2metadata_8c.html#a81d410de6727d95a85b827067e1a8bc6">process_geometry_block</a></div><div class="ttdeci">void process_geometry_block(aaruformat_context *ctx, const IndexEntry *entry)</div><div class="ttdoc">Processes a logical geometry block from the image stream.</div><div class="ttdef"><b>Definition</b> <a href="#l00246">metadata.c:246</a></div></div>
<div class="ttc" id="ablocks_2metadata_8c_html_a84003ec881425a7b28ec24cb48d19f02"><div class="ttname"><a href="blocks_2metadata_8c.html#a84003ec881425a7b28ec24cb48d19f02">process_aaru_metadata_json_block</a></div><div class="ttdeci">void process_aaru_metadata_json_block(aaruformat_context *ctx, const IndexEntry *entry)</div><div class="ttdoc">Processes an Aaru metadata JSON block from the image stream during image opening.</div><div class="ttdef"><b>Definition</b> <a href="#l00470">metadata.c:470</a></div></div>
<div class="ttc" id="ablocks_2metadata_8c_html_a9cfc80d1cfa399bfea980b6ac4e2208a"><div class="ttname"><a href="blocks_2metadata_8c.html#a9cfc80d1cfa399bfea980b6ac4e2208a">aaruf_get_readable_media_tags</a></div><div class="ttdeci">int32_t aaruf_get_readable_media_tags(const void *context, uint8_t *buffer, size_t *length)</div><div class="ttdoc">Retrieves which media tags are present in the AaruFormat image.</div><div class="ttdef"><b>Definition</b> <a href="#l00706">metadata.c:706</a></div></div>
<div class="ttc" id="ablocks_2metadata_8c_html_aa9ed74c6988c035d9ba0d11965d5cf10"><div class="ttname"><a href="blocks_2metadata_8c.html#aa9ed74c6988c035d9ba0d11965d5cf10">aaruf_get_readable_sector_tags</a></div><div class="ttdeci">int32_t aaruf_get_readable_sector_tags(const void *context, uint8_t *buffer, size_t *length)</div><div class="ttdoc">Retrieves which sector tags are readable in the AaruFormat image.</div><div class="ttdef"><b>Definition</b> <a href="#l00618">metadata.c:618</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="adecls_8h_html_a018e0da1c1f7e4f6187a982c0e40e056"><div class="ttname"><a href="decls_8h.html#a018e0da1c1f7e4f6187a982c0e40e056">AARU_CALL</a></div><div class="ttdeci">#define AARU_CALL</div><div class="ttdef"><b>Definition</b> <a href="decls_8h_source.html#l00045">decls.h:45</a></div></div>
<div class="ttc" id="adecls_8h_html_a9001412c35f3c92d3a9320d27b0d97f9"><div class="ttname"><a href="decls_8h.html#a9001412c35f3c92d3a9320d27b0d97f9">AARU_EXPORT</a></div><div class="ttdeci">#define AARU_EXPORT</div><div class="ttdef"><b>Definition</b> <a href="decls_8h_source.html#l00054">decls.h:54</a></div></div>
<div class="ttc" id="aenums_8h_html_a54420623f26ab6bb61042b41cccf37a3a76691ea3f772bf28e7446d171e205db2"><div class="ttname"><a href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3a76691ea3f772bf28e7446d171e205db2">GeometryBlock</a></div><div class="ttdeci">@ GeometryBlock</div><div class="ttdoc">Block containing logical geometry.</div><div class="ttdef"><b>Definition</b> <a href="enums_8h_source.html#l00148">enums.h:148</a></div></div>
<div class="ttc" id="aenums_8h_html_a54420623f26ab6bb61042b41cccf37a3a8ac77889f0c345ed861ed653a3063032"><div class="ttname"><a href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3a8ac77889f0c345ed861ed653a3063032">AaruMetadataJsonBlock</a></div><div class="ttdeci">@ AaruMetadataJsonBlock</div><div class="ttdoc">Block containing JSON version of Aaru Metadata.</div><div class="ttdef"><b>Definition</b> <a href="enums_8h_source.html#l00159">enums.h:159</a></div></div>
<div class="ttc" id="aenums_8h_html_a54420623f26ab6bb61042b41cccf37a3aa90947995922dcd8b27c998978aba359"><div class="ttname"><a href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3aa90947995922dcd8b27c998978aba359">CicmBlock</a></div><div class="ttdeci">@ CicmBlock</div><div class="ttdoc">Block containing CICM XML metadata.</div><div class="ttdef"><b>Definition</b> <a href="enums_8h_source.html#l00151">enums.h:151</a></div></div>
<div class="ttc" id="aerrors_8h_html_a1d6e49f7e8a1fa489efa0a582e90b5de"><div class="ttname"><a href="errors_8h.html#a1d6e49f7e8a1fa489efa0a582e90b5de">AARUF_STATUS_OK</a></div><div class="ttdeci">#define AARUF_STATUS_OK</div><div class="ttdoc">Sector present and read without uncorrectable errors.</div><div class="ttdef"><b>Definition</b> <a href="errors_8h_source.html#l00075">errors.h:75</a></div></div>
<div class="ttc" id="aerrors_8h_html_a99ff8f6884fd5e21840b2e35240bc265"><div class="ttname"><a href="errors_8h.html#a99ff8f6884fd5e21840b2e35240bc265">AARUF_ERROR_METADATA_NOT_PRESENT</a></div><div class="ttdeci">#define AARUF_ERROR_METADATA_NOT_PRESENT</div><div class="ttdoc">Requested metadata not present in image.</div><div class="ttdef"><b>Definition</b> <a href="errors_8h_source.html#l00069">errors.h:69</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="agroup__MediaTags_html_ggabdd09c559df8f34ae68fcb2ff1892ebeacd570dfe827abf5d93ff1c36b44efa33"><div class="ttname"><a href="group__MediaTags.html#ggabdd09c559df8f34ae68fcb2ff1892ebeacd570dfe827abf5d93ff1c36b44efa33">MaxMediaTag</a></div><div class="ttdeci">@ MaxMediaTag</div><div class="ttdef"><b>Definition</b> <a href="aaru_8h_source.html#l01011">aaru.h:1011</a></div></div>
<div class="ttc" id="agroup__SectorTags_html_ggaf863e81d172ce7a216d8687a8a23293aa81dbcd4677b6377bce5351ad92fc4d64"><div class="ttname"><a href="group__SectorTags.html#ggaf863e81d172ce7a216d8687a8a23293aa81dbcd4677b6377bce5351ad92fc4d64">MaxSectorTag</a></div><div class="ttdeci">@ MaxSectorTag</div><div class="ttdef"><b>Definition</b> <a href="aaru_8h_source.html#l00918">aaru.h:918</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>
<div class="ttc" id="astructAaruMetadataJsonBlockHeader_html"><div class="ttname"><a href="structAaruMetadataJsonBlockHeader.html">AaruMetadataJsonBlockHeader</a></div><div class="ttdoc">Header for an Aaru metadata JSON block (identifier == BlockType::AaruMetadataJsonBlock).</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00119">metadata.h:120</a></div></div>
<div class="ttc" id="astructAaruMetadataJsonBlockHeader_html_a5e3db5d08dc09206cad6ea1b88b2db7d"><div class="ttname"><a href="structAaruMetadataJsonBlockHeader.html#a5e3db5d08dc09206cad6ea1b88b2db7d">AaruMetadataJsonBlockHeader::identifier</a></div><div class="ttdeci">uint32_t identifier</div><div class="ttdoc">Block identifier, must be BlockType::AaruMetadataJsonBlock.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00121">metadata.h:121</a></div></div>
<div class="ttc" id="astructAaruMetadataJsonBlockHeader_html_aa9e35df2ccc7294a24187fff4bb559a9"><div class="ttname"><a href="structAaruMetadataJsonBlockHeader.html#aa9e35df2ccc7294a24187fff4bb559a9">AaruMetadataJsonBlockHeader::length</a></div><div class="ttdeci">uint32_t length</div><div class="ttdoc">Length in bytes of the Aaru metadata JSON payload that follows.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00122">metadata.h:122</a></div></div>
<div class="ttc" id="astructCicmMetadataBlock_html"><div class="ttname"><a href="structCicmMetadataBlock.html">CicmMetadataBlock</a></div><div class="ttdoc">Header for a CICM XML metadata block (identifier == BlockType::CicmBlock).</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00107">metadata.h:108</a></div></div>
<div class="ttc" id="astructCicmMetadataBlock_html_a660c22d42c504d290f386f187707956f"><div class="ttname"><a href="structCicmMetadataBlock.html#a660c22d42c504d290f386f187707956f">CicmMetadataBlock::length</a></div><div class="ttdeci">uint32_t length</div><div class="ttdoc">Length in bytes of the CICM metadata payload that follows.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00110">metadata.h:110</a></div></div>
<div class="ttc" id="astructCicmMetadataBlock_html_aee270357b6dc394ed9ac5f22c9903c90"><div class="ttname"><a href="structCicmMetadataBlock.html#aee270357b6dc394ed9ac5f22c9903c90">CicmMetadataBlock::identifier</a></div><div class="ttdeci">uint32_t identifier</div><div class="ttdoc">Block identifier, must be BlockType::CicmBlock.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00109">metadata.h:109</a></div></div>
<div class="ttc" id="astructGeometryBlockHeader_html"><div class="ttname"><a href="structGeometryBlockHeader.html">GeometryBlockHeader</a></div><div class="ttdoc">Legacy CHS style logical geometry metadata (BlockType::GeometryBlock).</div><div class="ttdef"><b>Definition</b> <a href="data_8h_source.html#l00090">data.h:91</a></div></div>
<div class="ttc" id="astructGeometryBlockHeader_html_a233b19be8361b1c3c1963d8521924138"><div class="ttname"><a href="structGeometryBlockHeader.html#a233b19be8361b1c3c1963d8521924138">GeometryBlockHeader::identifier</a></div><div class="ttdeci">uint32_t identifier</div><div class="ttdoc">Block identifier, must be BlockType::GeometryBlock.</div><div class="ttdef"><b>Definition</b> <a href="data_8h_source.html#l00092">data.h:92</a></div></div>
<div class="ttc" id="astructGeometryBlockHeader_html_a38855dea9b1773ea7f6b837c973106d9"><div class="ttname"><a href="structGeometryBlockHeader.html#a38855dea9b1773ea7f6b837c973106d9">GeometryBlockHeader::cylinders</a></div><div class="ttdeci">uint32_t cylinders</div><div class="ttdoc">Number of cylinders.</div><div class="ttdef"><b>Definition</b> <a href="data_8h_source.html#l00093">data.h:93</a></div></div>
<div class="ttc" id="astructGeometryBlockHeader_html_a9ed0a8f6307eb38589ef4502cef533ee"><div class="ttname"><a href="structGeometryBlockHeader.html#a9ed0a8f6307eb38589ef4502cef533ee">GeometryBlockHeader::heads</a></div><div class="ttdeci">uint32_t heads</div><div class="ttdoc">Number of heads (tracks per cylinder).</div><div class="ttdef"><b>Definition</b> <a href="data_8h_source.html#l00094">data.h:94</a></div></div>
<div class="ttc" id="astructGeometryBlockHeader_html_aea5822d390ac6b2a3b8b2c6250046cd6"><div class="ttname"><a href="structGeometryBlockHeader.html#aea5822d390ac6b2a3b8b2c6250046cd6">GeometryBlockHeader::sectorsPerTrack</a></div><div class="ttdeci">uint32_t sectorsPerTrack</div><div class="ttdoc">Number of sectors per track.</div><div class="ttdef"><b>Definition</b> <a href="data_8h_source.html#l00095">data.h:95</a></div></div>
<div class="ttc" id="astructImageInfo_html_abca8e73a9655d810e6d30d36c3ab54d7"><div class="ttname"><a href="structImageInfo.html#abca8e73a9655d810e6d30d36c3ab54d7">ImageInfo::ImageSize</a></div><div class="ttdeci">uint64_t ImageSize</div><div class="ttdoc">Size of the image payload in bytes (excludes headers/metadata)</div><div class="ttdef"><b>Definition</b> <a href="aaru_8h_source.html#l00873">aaru.h:873</a></div></div>
<div class="ttc" id="astructIndexEntry_html"><div class="ttname"><a href="structIndexEntry.html">IndexEntry</a></div><div class="ttdoc">Single index entry describing a block&#39;s type, (optional) data classification, and file offset.</div><div class="ttdef"><b>Definition</b> <a href="index_8h_source.html#l00108">index.h:109</a></div></div>
<div class="ttc" id="astructIndexEntry_html_a4b5c7115ac83019c3f77c6f047e5f75e"><div class="ttname"><a href="structIndexEntry.html#a4b5c7115ac83019c3f77c6f047e5f75e">IndexEntry::blockType</a></div><div class="ttdeci">uint32_t blockType</div><div class="ttdoc">Block identifier of the referenced block (value from BlockType).</div><div class="ttdef"><b>Definition</b> <a href="index_8h_source.html#l00110">index.h:110</a></div></div>
<div class="ttc" id="astructIndexEntry_html_a854951a64192d7e4cdcfa6dd6fd2b3ea"><div class="ttname"><a href="structIndexEntry.html#a854951a64192d7e4cdcfa6dd6fd2b3ea">IndexEntry::offset</a></div><div class="ttdeci">uint64_t offset</div><div class="ttdoc">Absolute byte offset in the image where the referenced block header begins.</div><div class="ttdef"><b>Definition</b> <a href="index_8h_source.html#l00112">index.h:112</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html"><div class="ttname"><a href="structMetadataBlockHeader.html">MetadataBlockHeader</a></div><div class="ttdoc">Header for a metadata block containing offsets and lengths to UTF-16LE descriptive strings.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00068">metadata.h:69</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_a0bbbf0b6d7b48ebdc07d4a5e1138044f"><div class="ttname"><a href="structMetadataBlockHeader.html#a0bbbf0b6d7b48ebdc07d4a5e1138044f">MetadataBlockHeader::commentsLength</a></div><div class="ttdeci">uint32_t commentsLength</div><div class="ttdoc">Length in bytes (including null) of comments string.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00078">metadata.h:78</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_a1359ce7deda764ea267459f3f5906473"><div class="ttname"><a href="structMetadataBlockHeader.html#a1359ce7deda764ea267459f3f5906473">MetadataBlockHeader::mediaSequence</a></div><div class="ttdeci">int32_t mediaSequence</div><div class="ttdoc">Sequence number within a multi-disc / multi-volume set (0-based or 1-based as producer defines).</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00072">metadata.h:72</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_a16f0be711a2a0ddb48a0f092716e93dc"><div class="ttname"><a href="structMetadataBlockHeader.html#a16f0be711a2a0ddb48a0f092716e93dc">MetadataBlockHeader::identifier</a></div><div class="ttdeci">uint32_t identifier</div><div class="ttdoc">Block identifier, must be BlockType::MetadataBlock.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00070">metadata.h:70</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_a22d2307092bdc0046664f328e9da581e"><div class="ttname"><a href="structMetadataBlockHeader.html#a22d2307092bdc0046664f328e9da581e">MetadataBlockHeader::mediaTitleOffset</a></div><div class="ttdeci">uint32_t mediaTitleOffset</div><div class="ttdoc">Offset to UTF-16LE media title string.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00079">metadata.h:79</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_a3757158a1386964537beb387b5bc03d2"><div class="ttname"><a href="structMetadataBlockHeader.html#a3757158a1386964537beb387b5bc03d2">MetadataBlockHeader::driveModelLength</a></div><div class="ttdeci">uint32_t driveModelLength</div><div class="ttdoc">Length in bytes (including null) of drive model string.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00094">metadata.h:94</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_a380656568f47a838a8a3833844789064"><div class="ttname"><a href="structMetadataBlockHeader.html#a380656568f47a838a8a3833844789064">MetadataBlockHeader::driveManufacturerLength</a></div><div class="ttdeci">uint32_t driveManufacturerLength</div><div class="ttdoc">Length in bytes (including null) of drive manufacturer string.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00092">metadata.h:92</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_a3d1affce1a6ce2bda81aeaf85435b885"><div class="ttname"><a href="structMetadataBlockHeader.html#a3d1affce1a6ce2bda81aeaf85435b885">MetadataBlockHeader::blockSize</a></div><div class="ttdeci">uint32_t blockSize</div><div class="ttdoc">Total size in bytes of the entire metadata block (header + strings).</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00071">metadata.h:71</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_a4751e36473bffa529e5d1d1debca95a2"><div class="ttname"><a href="structMetadataBlockHeader.html#a4751e36473bffa529e5d1d1debca95a2">MetadataBlockHeader::driveModelOffset</a></div><div class="ttdeci">uint32_t driveModelOffset</div><div class="ttdoc">Offset to UTF-16LE drive model string.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00093">metadata.h:93</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_a5340616394d88102e70054c673308469"><div class="ttname"><a href="structMetadataBlockHeader.html#a5340616394d88102e70054c673308469">MetadataBlockHeader::mediaModelOffset</a></div><div class="ttdeci">uint32_t mediaModelOffset</div><div class="ttdoc">Offset to UTF-16LE media model string.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00083">metadata.h:83</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_a5ee9864c423b8acf6d15b3947587ed4c"><div class="ttname"><a href="structMetadataBlockHeader.html#a5ee9864c423b8acf6d15b3947587ed4c">MetadataBlockHeader::creatorOffset</a></div><div class="ttdeci">uint32_t creatorOffset</div><div class="ttdoc">Offset to UTF-16LE creator string (or undefined if creatorLength==0).</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00075">metadata.h:75</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_a68deb35b7b070dcc18c790289192741c"><div class="ttname"><a href="structMetadataBlockHeader.html#a68deb35b7b070dcc18c790289192741c">MetadataBlockHeader::mediaTitleLength</a></div><div class="ttdeci">uint32_t mediaTitleLength</div><div class="ttdoc">Length in bytes (including null) of media title string.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00080">metadata.h:80</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_a6a443de2064b9c3eb31288afb81676d3"><div class="ttname"><a href="structMetadataBlockHeader.html#a6a443de2064b9c3eb31288afb81676d3">MetadataBlockHeader::mediaManufacturerOffset</a></div><div class="ttdeci">uint32_t mediaManufacturerOffset</div><div class="ttdoc">Offset to UTF-16LE media manufacturer string.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00081">metadata.h:81</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_a78213f42c28f31038e6a9f130c660ad8"><div class="ttname"><a href="structMetadataBlockHeader.html#a78213f42c28f31038e6a9f130c660ad8">MetadataBlockHeader::driveSerialNumberLength</a></div><div class="ttdeci">uint32_t driveSerialNumberLength</div><div class="ttdoc">Length in bytes (including null) of drive serial number string.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00096">metadata.h:96</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_a7d44fe2fdfebf3d49179801eb72ff72c"><div class="ttname"><a href="structMetadataBlockHeader.html#a7d44fe2fdfebf3d49179801eb72ff72c">MetadataBlockHeader::driveSerialNumberOffset</a></div><div class="ttdeci">uint32_t driveSerialNumberOffset</div><div class="ttdoc">Offset to UTF-16LE drive serial number string.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00095">metadata.h:95</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_a7f2956f787d72b6981a22c050c0889cf"><div class="ttname"><a href="structMetadataBlockHeader.html#a7f2956f787d72b6981a22c050c0889cf">MetadataBlockHeader::mediaManufacturerLength</a></div><div class="ttdeci">uint32_t mediaManufacturerLength</div><div class="ttdoc">Length in bytes (including null) of media manufacturer string.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00082">metadata.h:82</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_a9438f57b0304b42912b8c66e5a0f1051"><div class="ttname"><a href="structMetadataBlockHeader.html#a9438f57b0304b42912b8c66e5a0f1051">MetadataBlockHeader::mediaModelLength</a></div><div class="ttdeci">uint32_t mediaModelLength</div><div class="ttdoc">Length in bytes (including null) of media model string.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00084">metadata.h:84</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_a9bcf425f7ae5ab41d030c9b1f2c72979"><div class="ttname"><a href="structMetadataBlockHeader.html#a9bcf425f7ae5ab41d030c9b1f2c72979">MetadataBlockHeader::driveFirmwareRevisionOffset</a></div><div class="ttdeci">uint32_t driveFirmwareRevisionOffset</div><div class="ttdoc">Offset to UTF-16LE drive firmware revision string.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00097">metadata.h:97</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_aacd243f7f5a78c6087b797328197f522"><div class="ttname"><a href="structMetadataBlockHeader.html#aacd243f7f5a78c6087b797328197f522">MetadataBlockHeader::lastMediaSequence</a></div><div class="ttdeci">int32_t lastMediaSequence</div><div class="ttdoc">Total number of media in the set; 0 or 1 if single item.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00074">metadata.h:74</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_abd56f9918aab6b6ee628abf6ca04c6d9"><div class="ttname"><a href="structMetadataBlockHeader.html#abd56f9918aab6b6ee628abf6ca04c6d9">MetadataBlockHeader::commentsOffset</a></div><div class="ttdeci">uint32_t commentsOffset</div><div class="ttdoc">Offset to UTF-16LE comments string.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00077">metadata.h:77</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_acb4e827848c2525a0fa5fcc6cfcf2887"><div class="ttname"><a href="structMetadataBlockHeader.html#acb4e827848c2525a0fa5fcc6cfcf2887">MetadataBlockHeader::driveManufacturerOffset</a></div><div class="ttdeci">uint32_t driveManufacturerOffset</div><div class="ttdoc">Offset to UTF-16LE drive manufacturer string.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00091">metadata.h:91</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_ae4561c1f946fe76239810f29a237dfbc"><div class="ttname"><a href="structMetadataBlockHeader.html#ae4561c1f946fe76239810f29a237dfbc">MetadataBlockHeader::mediaSerialNumberOffset</a></div><div class="ttdeci">uint32_t mediaSerialNumberOffset</div><div class="ttdoc">Offset to UTF-16LE media serial number string.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00085">metadata.h:85</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_aeae9bce28abec33ffa90005f2a247e34"><div class="ttname"><a href="structMetadataBlockHeader.html#aeae9bce28abec33ffa90005f2a247e34">MetadataBlockHeader::mediaSerialNumberLength</a></div><div class="ttdeci">uint32_t mediaSerialNumberLength</div><div class="ttdoc">Length in bytes (including null) of media serial number string.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00086">metadata.h:86</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_aeb9233f4dd077e5b0985a3a776deb7c8"><div class="ttname"><a href="structMetadataBlockHeader.html#aeb9233f4dd077e5b0985a3a776deb7c8">MetadataBlockHeader::mediaPartNumberOffset</a></div><div class="ttdeci">uint32_t mediaPartNumberOffset</div><div class="ttdoc">Offset to UTF-16LE media part number string.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00089">metadata.h:89</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_aef055916275048b6496f1f74eef2f1ac"><div class="ttname"><a href="structMetadataBlockHeader.html#aef055916275048b6496f1f74eef2f1ac">MetadataBlockHeader::mediaPartNumberLength</a></div><div class="ttdeci">uint32_t mediaPartNumberLength</div><div class="ttdoc">Length in bytes (including null) of media part number string.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00090">metadata.h:90</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_aef456689422a0514489b1c900ee2c741"><div class="ttname"><a href="structMetadataBlockHeader.html#aef456689422a0514489b1c900ee2c741">MetadataBlockHeader::mediaBarcodeLength</a></div><div class="ttdeci">uint32_t mediaBarcodeLength</div><div class="ttdoc">Length in bytes (including null) of media barcode string.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00088">metadata.h:88</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_af620858c254ea17f2d75b065134239c8"><div class="ttname"><a href="structMetadataBlockHeader.html#af620858c254ea17f2d75b065134239c8">MetadataBlockHeader::creatorLength</a></div><div class="ttdeci">uint32_t creatorLength</div><div class="ttdoc">Length in bytes (including null) of creator string (0 if absent).</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00076">metadata.h:76</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_afbf024f5492e45a3643ea7a1652b6420"><div class="ttname"><a href="structMetadataBlockHeader.html#afbf024f5492e45a3643ea7a1652b6420">MetadataBlockHeader::driveFirmwareRevisionLength</a></div><div class="ttdeci">uint32_t driveFirmwareRevisionLength</div><div class="ttdoc">Length in bytes (including null) of drive firmware revision string.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00098">metadata.h:98</a></div></div>
<div class="ttc" id="astructMetadataBlockHeader_html_affd6e10a1ab8eb3714a6ff09b3471747"><div class="ttname"><a href="structMetadataBlockHeader.html#affd6e10a1ab8eb3714a6ff09b3471747">MetadataBlockHeader::mediaBarcodeOffset</a></div><div class="ttdeci">uint32_t mediaBarcodeOffset</div><div class="ttdoc">Offset to UTF-16LE media barcode string.</div><div class="ttdef"><b>Definition</b> <a href="metadata_8h_source.html#l00087">metadata.h:87</a></div></div>
<div class="ttc" id="astructaaruformat__context_html"><div class="ttname"><a href="structaaruformat__context.html">aaruformat_context</a></div><div class="ttdoc">Master context representing an open or increation Aaru image.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00171">context.h:172</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a04aa232b37b939d9e815c4addc68a7a3"><div class="ttname"><a href="structaaruformat__context.html#a04aa232b37b939d9e815c4addc68a7a3">aaruformat_context::media_barcode</a></div><div class="ttdeci">uint8_t * media_barcode</div><div class="ttdoc">Barcode of the media represented by the image.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00222">context.h:222</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a0c15ef634690890bf80719046faa0230"><div class="ttname"><a href="structaaruformat__context.html#a0c15ef634690890bf80719046faa0230">aaruformat_context::creator</a></div><div class="ttdeci">uint8_t * creator</div><div class="ttdoc">Who (person) created the image?</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00216">context.h:216</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a154fda29a2c9292cfca51ca6b54eee4a"><div class="ttname"><a href="structaaruformat__context.html#a154fda29a2c9292cfca51ca6b54eee4a">aaruformat_context::cicm_block</a></div><div class="ttdeci">uint8_t * cicm_block</div><div class="ttdoc">CICM XML payload.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00214">context.h:214</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a29c17435980ac94547f471485a891f54"><div class="ttname"><a href="structaaruformat__context.html#a29c17435980ac94547f471485a891f54">aaruformat_context::cylinders</a></div><div class="ttdeci">uint32_t cylinders</div><div class="ttdoc">Cylinders of the media represented by the image.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00234">context.h:234</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a329dda508cb897dc7871d2d1c0434792"><div class="ttname"><a href="structaaruformat__context.html#a329dda508cb897dc7871d2d1c0434792">aaruformat_context::drive_firmware_revision</a></div><div class="ttdeci">uint8_t * drive_firmware_revision</div><div class="ttdoc">Firmware revision of the drive used to read the media represented by the image.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00228">context.h:228</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a33b54e4325c94ad69d97f9cf5bdae68f"><div class="ttname"><a href="structaaruformat__context.html#a33b54e4325c94ad69d97f9cf5bdae68f">aaruformat_context::media_serial_number</a></div><div class="ttdeci">uint8_t * media_serial_number</div><div class="ttdoc">Serial number of the media represented by the image.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00221">context.h:221</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a3e2bbe8986b7cd7d36c13b48d6e7e3ce"><div class="ttname"><a href="structaaruformat__context.html#a3e2bbe8986b7cd7d36c13b48d6e7e3ce">aaruformat_context::metadata_block_header</a></div><div class="ttdeci">MetadataBlockHeader metadata_block_header</div><div class="ttdoc">Metadata block header.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00230">context.h:230</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a401c6931bc5ff0eaf3f4aac9d52124f7"><div class="ttname"><a href="structaaruformat__context.html#a401c6931bc5ff0eaf3f4aac9d52124f7">aaruformat_context::media_sequence</a></div><div class="ttdeci">int32_t media_sequence</div><div class="ttdoc">Number in sequence for the media represented by the image.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00238">context.h:238</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a4ecbf4064d4ab0440e922e1c096b38dc"><div class="ttname"><a href="structaaruformat__context.html#a4ecbf4064d4ab0440e922e1c096b38dc">aaruformat_context::media_model</a></div><div class="ttdeci">uint8_t * media_model</div><div class="ttdoc">Model of the media represented by the image.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00220">context.h:220</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a505f32de424a033246348d9fa35f9b19"><div class="ttname"><a href="structaaruformat__context.html#a505f32de424a033246348d9fa35f9b19">aaruformat_context::drive_serial_number</a></div><div class="ttdeci">uint8_t * drive_serial_number</div><div class="ttdoc">Serial number of the drive used to read the media represented by the image.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00226">context.h:226</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a614d6f01d563ea57650ce0bbfecfa08d"><div class="ttname"><a href="structaaruformat__context.html#a614d6f01d563ea57650ce0bbfecfa08d">aaruformat_context::drive_manufacturer</a></div><div class="ttdeci">uint8_t * drive_manufacturer</div><div class="ttdoc">Manufacturer of the drive used to read the media represented by the image.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00224">context.h:224</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a73005ba88069ba590ffc9660dc2bc7a5"><div class="ttname"><a href="structaaruformat__context.html#a73005ba88069ba590ffc9660dc2bc7a5">aaruformat_context::cicm_block_header</a></div><div class="ttdeci">CicmMetadataBlock cicm_block_header</div><div class="ttdoc">CICM metadata header (if present).</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00231">context.h:231</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a77d9c8c852de1d955bceb4cfc50557ce"><div class="ttname"><a href="structaaruformat__context.html#a77d9c8c852de1d955bceb4cfc50557ce">aaruformat_context::drive_model</a></div><div class="ttdeci">uint8_t * drive_model</div><div class="ttdoc">Model of the drive used to read the media represented by the image.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00225">context.h:225</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a7dc0a0fe0bf6223ff4587fd01c360b76"><div class="ttname"><a href="structaaruformat__context.html#a7dc0a0fe0bf6223ff4587fd01c360b76">aaruformat_context::magic</a></div><div class="ttdeci">uint64_t magic</div><div class="ttdoc">File magic (AARU_MAGIC) post-open.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00174">context.h:174</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a8b769e9fb9467aa11d4a2936cf5cf5ed"><div class="ttname"><a href="structaaruformat__context.html#a8b769e9fb9467aa11d4a2936cf5cf5ed">aaruformat_context::mediaTags</a></div><div class="ttdeci">mediaTagEntry * mediaTags</div><div class="ttdoc">Hash table of extra media tags (uthash root).</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00264">context.h:264</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a9ac9d12e8fde7a69c01cdf2dc32f33bd"><div class="ttname"><a href="structaaruformat__context.html#a9ac9d12e8fde7a69c01cdf2dc32f33bd">aaruformat_context::geometry_block</a></div><div class="ttdeci">GeometryBlockHeader geometry_block</div><div class="ttdoc">Logical geometry block (if present).</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00229">context.h:229</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a9e7ebc6897142938452338bc5a882dd8"><div class="ttname"><a href="structaaruformat__context.html#a9e7ebc6897142938452338bc5a882dd8">aaruformat_context::json_block</a></div><div class="ttdeci">uint8_t * json_block</div><div class="ttdoc">JSON metadata block payload (UTF-8).</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00215">context.h:215</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_aa3d0670124a4fbe88c485c2b67d1ddbc"><div class="ttname"><a href="structaaruformat__context.html#aa3d0670124a4fbe88c485c2b67d1ddbc">aaruformat_context::media_part_number</a></div><div class="ttdeci">uint8_t * media_part_number</div><div class="ttdoc">Part number of the media represented by the image.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00223">context.h:223</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_aaa66c73269576f55c8946c741e02e34f"><div class="ttname"><a href="structaaruformat__context.html#aaa66c73269576f55c8946c741e02e34f">aaruformat_context::json_block_header</a></div><div class="ttdeci">AaruMetadataJsonBlockHeader json_block_header</div><div class="ttdoc">JSON metadata block header (if present).</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00233">context.h:233</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_aaeb71d74c7d9236d80186a25066326a1"><div class="ttname"><a href="structaaruformat__context.html#aaeb71d74c7d9236d80186a25066326a1">aaruformat_context::sectors_per_track</a></div><div class="ttdeci">uint32_t sectors_per_track</div><div class="ttdoc">Sectors per track of the media represented by the image (for variable image, the smallest)</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00236">context.h:236</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_ab08395cd8ed98def2b5886c35fbad605"><div class="ttname"><a href="structaaruformat__context.html#ab08395cd8ed98def2b5886c35fbad605">aaruformat_context::comments</a></div><div class="ttdeci">uint8_t * comments</div><div class="ttdoc">Image comments.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00218">context.h:218</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_ab213059edf055cf1c3e2021bc395c78e"><div class="ttname"><a href="structaaruformat__context.html#ab213059edf055cf1c3e2021bc395c78e">aaruformat_context::heads</a></div><div class="ttdeci">uint32_t heads</div><div class="ttdoc">Heads of the media represented by the image.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00235">context.h:235</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_ab516fae594bde4f76b75488d0a3ca3a8"><div class="ttname"><a href="structaaruformat__context.html#ab516fae594bde4f76b75488d0a3ca3a8">aaruformat_context::imageStream</a></div><div class="ttdeci">FILE * imageStream</div><div class="ttdoc">Underlying FILE* stream (binary mode).</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00176">context.h:176</a></div></div>
<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_ad3d5494e23b07418e9fbd22c3771e534"><div class="ttname"><a href="structaaruformat__context.html#ad3d5494e23b07418e9fbd22c3771e534">aaruformat_context::readableSectorTags</a></div><div class="ttdeci">bool * readableSectorTags</div><div class="ttdoc">Per-sector boolean array (optical tags read successfully?).</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00263">context.h:263</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_ae0df8ced37e331df99560d9773d7bad8"><div class="ttname"><a href="structaaruformat__context.html#ae0df8ced37e331df99560d9773d7bad8">aaruformat_context::metadata_block</a></div><div class="ttdeci">uint8_t * metadata_block</div><div class="ttdoc">Raw metadata UTF-16LE concatenated strings.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00213">context.h:213</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_aeb5bda76e0ea176598a04be97b7d5683"><div class="ttname"><a href="structaaruformat__context.html#aeb5bda76e0ea176598a04be97b7d5683">aaruformat_context::media_title</a></div><div class="ttdeci">uint8_t * media_title</div><div class="ttdoc">Title of the media represented by the image.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00217">context.h:217</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_aee966d0d920ef43cfadb0830c444b986"><div class="ttname"><a href="structaaruformat__context.html#aee966d0d920ef43cfadb0830c444b986">aaruformat_context::last_media_sequence</a></div><div class="ttdeci">int32_t last_media_sequence</div><div class="ttdoc">Last media of the sequence the media represented by the image corresponds to.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00239">context.h:239</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_afd13345e6ab5072d97d9b3bbe238ecea"><div class="ttname"><a href="structaaruformat__context.html#afd13345e6ab5072d97d9b3bbe238ecea">aaruformat_context::media_manufacturer</a></div><div class="ttdeci">uint8_t * media_manufacturer</div><div class="ttdoc">Manufacturer of the media represented by the image.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00219">context.h:219</a></div></div>
<div class="ttc" id="astructmediaTagEntry_html"><div class="ttname"><a href="structmediaTagEntry.html">mediaTagEntry</a></div><div class="ttdoc">Hash table entry for an arbitrary media tag (e.g., proprietary drive/medium descriptor).</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00118">context.h:119</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a href="dir_b2e0cd1ddd0a904cb261e9b68779deb4.html">blocks</a></li><li class="navelem"><a href="blocks_2metadata_8c.html">metadata.c</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.14.0 </li>
</ul>
</div>
</body>
</html>