Files
libaaruformat/docs/html/close_8c_source.html

456 lines
90 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.16.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libaaruformat: src/close.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.16.1 -->
<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('close_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">close.c</div></div>
</div><!--header-->
<div class="contents">
<a href="close_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-2026 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="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#include &lt;errno.h&gt;</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="preprocessor">#include &lt;stdio.h&gt;</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#include &lt;string.h&gt;</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="preprocessor">#if defined(_WIN32) || defined(_WIN64)</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="preprocessor">#include &lt;windows.h&gt;</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="preprocessor">#ifdef __linux__</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="preprocessor">#include &lt;sys/mman.h&gt;</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="preprocessor">#include &lt;<a class="code" href="aaruformat_8h.html">aaruformat.h</a>&gt;</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> </div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="preprocessor">#include &quot;<a class="code" href="erasure__internal_8h.html">erasure_internal.h</a>&quot;</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="preprocessor">#include &quot;<a class="code" href="internal_8h.html">internal.h</a>&quot;</span></div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="preprocessor">#include &quot;<a class="code" href="log_8h.html">log.h</a>&quot;</span></div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> </div>
<div class="foldopen" id="foldopen00049" data-start="{" data-end="}">
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="close_8c.html#a547f7cbebffad90d0a60d8fd2ee1185a"> 49</a></span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="close_8c.html#a547f7cbebffad90d0a60d8fd2ee1185a">aaruf_set_close_error</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> error_code)</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span>{</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> errno = error_code;</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="preprocessor">#if defined(_WIN32) || defined(_WIN64)</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> SetLastError((DWORD)error_code);</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span>}</div>
</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span></div>
<div class="foldopen" id="foldopen00080" data-start="{" data-end="}">
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="decls_8h.html#a6823e139f81a9dfd08efcb0e9b213a49"> 80</a></span><a class="code hl_define" href="decls_8h.html#a9001412c35f3c92d3a9320d27b0d97f9">AARU_EXPORT</a> <span class="keywordtype">int</span> <a class="code hl_define" href="decls_8h.html#a018e0da1c1f7e4f6187a982c0e40e056">AARU_CALL</a> <a class="code hl_function" href="close_8c.html#a6823e139f81a9dfd08efcb0e9b213a49">aaruf_close</a>(<span class="keywordtype">void</span> *context)</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> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_close(%p)&quot;</span>, context);</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <a class="code hl_function" href="close_8c.html#a547f7cbebffad90d0a60d8fd2ee1185a">aaruf_set_close_error</a>(0);</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> </div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <a class="code hl_struct" href="structmediaTagEntry.html">mediaTagEntry</a> *media_tag = NULL;</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <a class="code hl_struct" href="structmediaTagEntry.html">mediaTagEntry</a> *tmp_media_tag = 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> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> {</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</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="l00091" name="l00091"></a><span class="lineno"> 91</span> <a class="code hl_function" href="close_8c.html#a547f7cbebffad90d0a60d8fd2ee1185a">aaruf_set_close_error</a>(EINVAL);</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keywordflow">return</span> -1;</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_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</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="l00099" name="l00099"></a><span class="lineno"> 99</span> {</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</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="l00101" name="l00101"></a><span class="lineno"> 101</span> <a class="code hl_function" href="close_8c.html#a547f7cbebffad90d0a60d8fd2ee1185a">aaruf_set_close_error</a>(EINVAL);</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keywordflow">return</span> -1;</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</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> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6fd4fbf6362c5cfc9f2ab195a8a79926">finalize_write</a> != NULL)</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> {</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> int32_t res = ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6fd4fbf6362c5cfc9f2ab195a8a79926">finalize_write</a>(ctx);</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">if</span>(res != <a class="code hl_define" href="errors_8h.html#a1d6e49f7e8a1fa489efa0a582e90b5de">AARUF_STATUS_OK</a>)</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> {</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <a class="code hl_function" href="close_8c.html#a547f7cbebffad90d0a60d8fd2ee1185a">aaruf_set_close_error</a>(errno != 0 ? errno : res);</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keywordflow">return</span> res;</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> }</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> </div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Freeing memory pointers&quot;</span>);</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="comment">// This may do nothing if imageStream is NULL, but as the behaviour is undefined, better sure than sorry</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab516fae594bde4f76b75488d0a3ca3a8">imageStream</a> != NULL)</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> {</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> fclose(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab516fae594bde4f76b75488d0a3ca3a8">imageStream</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#ab516fae594bde4f76b75488d0a3ca3a8">imageStream</a> = NULL;</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="comment">// Free index entries array</span></div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab97a719a5b4186695b67143db7376152">index_entries</a> != NULL)</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> {</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> utarray_free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab97a719a5b4186695b67143db7376152">index_entries</a>);</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#ab97a719a5b4186695b67143db7376152">index_entries</a> = NULL;</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> }</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> </div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a413a99e4e86b7121adca2cfce8f02d63">sector_prefix</a>);</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a413a99e4e86b7121adca2cfce8f02d63">sector_prefix</a> = NULL;</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a1d021776e9101370c7e6ed00c8049be1">sector_prefix_corrected</a>);</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a1d021776e9101370c7e6ed00c8049be1">sector_prefix_corrected</a> = NULL;</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a64870438f8f560a0b9973dedb3dd7e0e">sector_suffix</a>);</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#a64870438f8f560a0b9973dedb3dd7e0e">sector_suffix</a> = NULL;</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#adfcfa339aded095de2143ffff0931288">sector_suffix_corrected</a>);</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#adfcfa339aded095de2143ffff0931288">sector_suffix_corrected</a> = NULL;</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aaf16c9ee5b05bac1ef44d29abef6134a">sector_subchannel</a>);</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aaf16c9ee5b05bac1ef44d29abef6134a">sector_subchannel</a> = NULL;</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ac6734b2de73a4b6147aadc49bf3e96f8">mode2_subheaders</a>);</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ac6734b2de73a4b6147aadc49bf3e96f8">mode2_subheaders</a> = NULL;</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> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Freeing media tags&quot;</span>);</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a8b769e9fb9467aa11d4a2936cf5cf5ed">mediaTags</a> != NULL) HASH_ITER(hh, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a8b769e9fb9467aa11d4a2936cf5cf5ed">mediaTags</a>, media_tag, tmp_media_tag)</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> {</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> HASH_DEL(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a8b769e9fb9467aa11d4a2936cf5cf5ed">mediaTags</a>, media_tag);</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> free(media_tag-&gt;<a class="code hl_variable" href="structmediaTagEntry.html#a334fc65b37efdfb624e804e98c398927">data</a>);</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> free(media_tag);</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> }</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> </div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span><span class="preprocessor">#ifdef __linux__ </span><span class="comment">// TODO: Implement</span></div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Unmapping user data DDT if it is not in memory&quot;</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#a62885cab6ef674fd27b4de32ab4ee346">in_memory_ddt</a>)</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> {</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> munmap(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a1d5ad658b9219c4b3838fcb042742e4e">user_data_ddt</a>, ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#afc6cf8ab181536febd804d18702d4d80">mapped_memory_ddt_size</a>);</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a1d5ad658b9219c4b3838fcb042742e4e">user_data_ddt</a> = NULL;</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> }</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> </div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a8317a42c16f1a140053f01808929f43f">sector_prefix_ddt2</a>);</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a8317a42c16f1a140053f01808929f43f">sector_prefix_ddt2</a> = NULL;</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ad9e40dfb41ec80b902869354b052dd7d">sector_prefix_ddt</a>);</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ad9e40dfb41ec80b902869354b052dd7d">sector_prefix_ddt</a> = NULL;</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a46d0ccdc69758165c0468afbd05b9ffe">sector_suffix_ddt2</a>);</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#a46d0ccdc69758165c0468afbd05b9ffe">sector_suffix_ddt2</a> = NULL;</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a5ec94a7912a165e5e7cacbeb8b65cbdf">sector_suffix_ddt</a>);</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#a5ec94a7912a165e5e7cacbeb8b65cbdf">sector_suffix_ddt</a> = NULL;</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> </div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ae0df8ced37e331df99560d9773d7bad8">metadata_block</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#ae0df8ced37e331df99560d9773d7bad8">metadata_block</a> = NULL;</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#adcabe3b59f532d036adf16b78faba58e">track_entries</a>);</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#adcabe3b59f532d036adf16b78faba58e">track_entries</a> = NULL;</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a2656e1efffab41086f8c580896ea24a1">data_tracks</a>);</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#a2656e1efffab41086f8c580896ea24a1">data_tracks</a> = NULL;</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a154fda29a2c9292cfca51ca6b54eee4a">cicm_block</a>);</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a154fda29a2c9292cfca51ca6b54eee4a">cicm_block</a> = NULL;</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> </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#a8ffb62d849b6e0fbe5a4865b2ca7328f">dump_hardware_entries_with_data</a> != NULL)</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> {</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#accbbc605e1a1607fdf9b6f54f7a9af2f">dump_hardware_header</a>.<a class="code hl_variable" href="structDumpHardwareHeader.html#aee1b5c61324635638fbfbb2518fb86d8">entries</a>; i++)</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> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a8ffb62d849b6e0fbe5a4865b2ca7328f">dump_hardware_entries_with_data</a>[i].<a class="code hl_variable" href="structDumpHardwareEntriesWithData.html#a34453672c41a27c7d1b9a5df28f7df1a">extents</a>);</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a8ffb62d849b6e0fbe5a4865b2ca7328f">dump_hardware_entries_with_data</a>[i].<a class="code hl_variable" href="structDumpHardwareEntriesWithData.html#a34453672c41a27c7d1b9a5df28f7df1a">extents</a> = NULL;</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a8ffb62d849b6e0fbe5a4865b2ca7328f">dump_hardware_entries_with_data</a>[i].<a class="code hl_variable" href="structDumpHardwareEntriesWithData.html#a4dbc57a5f46892c5e0cde65c55c11e33">manufacturer</a>);</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#a8ffb62d849b6e0fbe5a4865b2ca7328f">dump_hardware_entries_with_data</a>[i].<a class="code hl_variable" href="structDumpHardwareEntriesWithData.html#a4dbc57a5f46892c5e0cde65c55c11e33">manufacturer</a> = NULL;</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a8ffb62d849b6e0fbe5a4865b2ca7328f">dump_hardware_entries_with_data</a>[i].<a class="code hl_variable" href="structDumpHardwareEntriesWithData.html#a160651cc2a5247b99c9ebe38511cc475">model</a>);</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#a8ffb62d849b6e0fbe5a4865b2ca7328f">dump_hardware_entries_with_data</a>[i].<a class="code hl_variable" href="structDumpHardwareEntriesWithData.html#a160651cc2a5247b99c9ebe38511cc475">model</a> = NULL;</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a8ffb62d849b6e0fbe5a4865b2ca7328f">dump_hardware_entries_with_data</a>[i].<a class="code hl_variable" href="structDumpHardwareEntriesWithData.html#a05cc1da940a0009621038a0327719a91">revision</a>);</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a8ffb62d849b6e0fbe5a4865b2ca7328f">dump_hardware_entries_with_data</a>[i].<a class="code hl_variable" href="structDumpHardwareEntriesWithData.html#a05cc1da940a0009621038a0327719a91">revision</a> = NULL;</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a8ffb62d849b6e0fbe5a4865b2ca7328f">dump_hardware_entries_with_data</a>[i].<a class="code hl_variable" href="structDumpHardwareEntriesWithData.html#a04e71aaa515a5a88171f5730e371abbf">firmware</a>);</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a8ffb62d849b6e0fbe5a4865b2ca7328f">dump_hardware_entries_with_data</a>[i].<a class="code hl_variable" href="structDumpHardwareEntriesWithData.html#a04e71aaa515a5a88171f5730e371abbf">firmware</a> = NULL;</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a8ffb62d849b6e0fbe5a4865b2ca7328f">dump_hardware_entries_with_data</a>[i].<a class="code hl_variable" href="structDumpHardwareEntriesWithData.html#a6d328a63bbde6fc49d5a507a22801107">serial</a>);</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a8ffb62d849b6e0fbe5a4865b2ca7328f">dump_hardware_entries_with_data</a>[i].<a class="code hl_variable" href="structDumpHardwareEntriesWithData.html#a6d328a63bbde6fc49d5a507a22801107">serial</a> = NULL;</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a8ffb62d849b6e0fbe5a4865b2ca7328f">dump_hardware_entries_with_data</a>[i].<a class="code hl_variable" href="structDumpHardwareEntriesWithData.html#a31b56a2fa1f210aaa023eb031572e70b">softwareName</a>);</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#a8ffb62d849b6e0fbe5a4865b2ca7328f">dump_hardware_entries_with_data</a>[i].<a class="code hl_variable" href="structDumpHardwareEntriesWithData.html#a31b56a2fa1f210aaa023eb031572e70b">softwareName</a> = NULL;</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a8ffb62d849b6e0fbe5a4865b2ca7328f">dump_hardware_entries_with_data</a>[i].<a class="code hl_variable" href="structDumpHardwareEntriesWithData.html#a5766ab6474f43fac96fb0342136766cc">softwareVersion</a>);</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#a8ffb62d849b6e0fbe5a4865b2ca7328f">dump_hardware_entries_with_data</a>[i].<a class="code hl_variable" href="structDumpHardwareEntriesWithData.html#a5766ab6474f43fac96fb0342136766cc">softwareVersion</a> = NULL;</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a8ffb62d849b6e0fbe5a4865b2ca7328f">dump_hardware_entries_with_data</a>[i].<a class="code hl_variable" href="structDumpHardwareEntriesWithData.html#acfd385853ac00bbdbd5ef603aebfb44d">softwareOperatingSystem</a>);</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a8ffb62d849b6e0fbe5a4865b2ca7328f">dump_hardware_entries_with_data</a>[i].<a class="code hl_variable" href="structDumpHardwareEntriesWithData.html#acfd385853ac00bbdbd5ef603aebfb44d">softwareOperatingSystem</a> = NULL;</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> }</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a8ffb62d849b6e0fbe5a4865b2ca7328f">dump_hardware_entries_with_data</a>); <span class="comment">// Free the array itself</span></div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a8ffb62d849b6e0fbe5a4865b2ca7328f">dump_hardware_entries_with_data</a> = NULL;</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> }</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> </div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ad3d5494e23b07418e9fbd22c3771e534">readableSectorTags</a>);</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ad3d5494e23b07418e9fbd22c3771e534">readableSectorTags</a> = NULL;</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> </div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <a class="code hl_function" href="decls_8h.html#ac196917e588a7fde536a903c9519e00a">aaruf_ecc_cd_free</a>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a510b72290e2bd50e02ef8a2387aa829d">ecc_cd_context</a>);</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a510b72290e2bd50e02ef8a2387aa829d">ecc_cd_context</a> = NULL;</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> </div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a07a920267b1112bfb238ba54e7a74e80">checksums</a>.<a class="code hl_variable" href="structChecksums.html#a1748cd355e21a7b0f4f730dd16bd9752">spamsum</a>);</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a07a920267b1112bfb238ba54e7a74e80">checksums</a>.<a class="code hl_variable" href="structChecksums.html#a1748cd355e21a7b0f4f730dd16bd9752">spamsum</a> = NULL;</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> </div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> <span class="comment">// Free PS3 encryption context</span></div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a016a2c15a10105ff17628c9ee7f5c424">ps3_disc_key</a> != NULL)</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> memset(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a016a2c15a10105ff17628c9ee7f5c424">ps3_disc_key</a>, 0, 16);</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a016a2c15a10105ff17628c9ee7f5c424">ps3_disc_key</a>);</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a016a2c15a10105ff17628c9ee7f5c424">ps3_disc_key</a> = NULL;</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> }</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#acf62eadb2e019323fdbe8bbf536ad82c">ps3_plaintext_regions</a>);</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#acf62eadb2e019323fdbe8bbf536ad82c">ps3_plaintext_regions</a> = NULL;</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a1bfda8e3b76471a7b526d05f4855f8f1">ps3_plaintext_region_count</a> = 0;</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#a59525c7915fbc51ab0f2ef184db8bf6d">ps3_encryption_initialized</a> = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> </div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <span class="comment">// Free Wii U encryption context</span></div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a8c1021af5f2c1b0a14fb5b559294975f">wiiu_disc_key</a> != NULL)</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> {</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> memset(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a8c1021af5f2c1b0a14fb5b559294975f">wiiu_disc_key</a>, 0, 16);</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a8c1021af5f2c1b0a14fb5b559294975f">wiiu_disc_key</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#a8c1021af5f2c1b0a14fb5b559294975f">wiiu_disc_key</a> = NULL;</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> }</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a12239886f41707864eafb8e2d5a79cb9">wiiu_partition_regions</a> != NULL)</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> <span class="comment">// Wipe keys from partition regions before freeing</span></div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> uint32_t wiiu_count = ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a1d6387bb1c83151c5096beb51de37a8d">wiiu_partition_region_count</a>;</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> uint8_t *region_mem = (uint8_t *)ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a12239886f41707864eafb8e2d5a79cb9">wiiu_partition_regions</a>;</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> <span class="comment">// Each region entry contains a 16-byte key at offset 8; wipe the entire block</span></div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> memset(region_mem, 0, wiiu_count * 24);</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a12239886f41707864eafb8e2d5a79cb9">wiiu_partition_regions</a>);</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a12239886f41707864eafb8e2d5a79cb9">wiiu_partition_regions</a> = NULL;</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> }</div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a1d6387bb1c83151c5096beb51de37a8d">wiiu_partition_region_count</a> = 0;</div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aa518fbc0528e85d7bd69dd331433b4bf">wiiu_encryption_initialized</a> = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a35916280b5c71a844f41aeaf4cc28a3e">wiiu_encrypted_block_cache</a>);</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a35916280b5c71a844f41aeaf4cc28a3e">wiiu_encrypted_block_cache</a> = NULL;</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#adc79d62a5bbb4d1db9aa35a36e0d2396">wiiu_cache_valid</a> = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> </div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> <span class="comment">// Free Nintendo GC/Wii junk map context</span></div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a369261f4f02c9997195c062ba7940468">ngcw_junk_entries</a> != NULL)</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> {</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a369261f4f02c9997195c062ba7940468">ngcw_junk_entries</a>);</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a369261f4f02c9997195c062ba7940468">ngcw_junk_entries</a> = NULL;</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> }</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a9307ffe59ce5d5b4f6c9c9a63b0ef70d">ngcw_junk_entry_count</a> = 0;</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a20d89d35a44654862f6aecac1f7237c6">ngcw_junk_seed_size</a> = 0;</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ae87bda67ebb4a9b27f363a03634ab25c">ngcw_junk_initialized</a> = <span class="keyword">false</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> <span class="comment">// Free Wii encryption context</span></div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aaf475c0a1941563a9e1598f02ac48b66">wii_partition_regions</a> != NULL)</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> {</div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> <span class="comment">// Wipe keys from partition regions before freeing</span></div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> uint32_t wii_count = ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aa3dd955c7f01ecb619b3862fecce7110">wii_partition_region_count</a>;</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> uint8_t *wii_region = (uint8_t *)ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aaf475c0a1941563a9e1598f02ac48b66">wii_partition_regions</a>;</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> memset(wii_region, 0, wii_count * 24);</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aaf475c0a1941563a9e1598f02ac48b66">wii_partition_regions</a>);</div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aaf475c0a1941563a9e1598f02ac48b66">wii_partition_regions</a> = NULL;</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> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aa3dd955c7f01ecb619b3862fecce7110">wii_partition_region_count</a> = 0;</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aa97751408e9681a348b9385e28c15680">wii_encryption_initialized</a> = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ae1b2a0044c769c469ae161df9ed6de50">wii_encrypted_group_cache</a>);</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ae1b2a0044c769c469ae161df9ed6de50">wii_encrypted_group_cache</a> = NULL;</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ac9f970fc840120793cb8edb909a664f8">wii_cache_valid</a> = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> </div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#acc9cdfdd4be56c4f7016a37e218cee47">sector_id</a>);</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3bfc3fceaaf015830913fd7efa794e5a">sector_ied</a>);</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a1614b9ffbd5e4661a2483eb3f68f8fd1">sector_cpr_mai</a>);</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a4dc244e21a520e90abd961c38eb6d9ae">sector_edc</a>);</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> </div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> <span class="comment">// Free DDT allocations (v1 and v2)</span></div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a1d5ad658b9219c4b3838fcb042742e4e">user_data_ddt</a>); <span class="comment">// Legacy v1 DDT</span></div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3c7b902731274622296d04564b193b64">user_data_ddt2</a>); <span class="comment">// v2 DDT primary/secondary</span></div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a9dbc317eb6fb1f8ece6305c47f5a3e89">cached_secondary_ddt2</a>); <span class="comment">// Cached secondary DDT (read operations)</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> <span class="comment">// Free erasure coding state</span></div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> <a class="code hl_function" href="erasure__internal_8h.html#ae5fe558b49013df6e932278061a2ab53">ec_free</a>(ctx);</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> <span class="comment">// Free LRU caches (uses cache-&gt;free_func to free cached values)</span></div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> <a class="code hl_function" href="lru_8h.html#a92e298695411672c3497ae5c8d9c0427">free_cache</a>(&amp;ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a3a12addf4a338cc04471709604d48ae1">block_header_cache</a>);</div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> <a class="code hl_function" href="lru_8h.html#a92e298695411672c3497ae5c8d9c0427">free_cache</a>(&amp;ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a58359ec8607d1d10e0af8699be238e77">block_cache</a>);</div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> </div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> free(context);</div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> </div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_close() = 0&quot;</span>);</div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</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="aclose_8c_html_a547f7cbebffad90d0a60d8fd2ee1185a"><div class="ttname"><a href="close_8c.html#a547f7cbebffad90d0a60d8fd2ee1185a">aaruf_set_close_error</a></div><div class="ttdeci">static void aaruf_set_close_error(const int error_code)</div><div class="ttdef"><b>Definition</b> <a href="#l00049">close.c:49</a></div></div>
<div class="ttc" id="aclose_8c_html_a6823e139f81a9dfd08efcb0e9b213a49"><div class="ttname"><a href="close_8c.html#a6823e139f81a9dfd08efcb0e9b213a49">aaruf_close</a></div><div class="ttdeci">int aaruf_close(void *context)</div><div class="ttdoc">Close an Aaru image context, flushing pending data structures and releasing resources.</div><div class="ttdef"><b>Definition</b> <a href="#l00080">close.c:80</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#l00046">decls.h:46</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#l00055">decls.h:55</a></div></div>
<div class="ttc" id="adecls_8h_html_ac196917e588a7fde536a903c9519e00a"><div class="ttname"><a href="decls_8h.html#ac196917e588a7fde536a903c9519e00a">aaruf_ecc_cd_free</a></div><div class="ttdeci">void aaruf_ecc_cd_free(void *context)</div><div class="ttdoc">Frees a Compact Disc ECC context and its internal tables.</div><div class="ttdef"><b>Definition</b> <a href="ecc__cd_8c_source.html#l00099">ecc_cd.c:99</a></div></div>
<div class="ttc" id="aerasure__internal_8h_html"><div class="ttname"><a href="erasure__internal_8h.html">erasure_internal.h</a></div></div>
<div class="ttc" id="aerasure__internal_8h_html_ae5fe558b49013df6e932278061a2ab53"><div class="ttname"><a href="erasure__internal_8h.html#ae5fe558b49013df6e932278061a2ab53">ec_free</a></div><div class="ttdeci">void ec_free(aaruformat_context *ctx)</div><div class="ttdoc">Free all erasure coding state from the context.</div><div class="ttdef"><b>Definition</b> <a href="erasure_8c_source.html#l00876">erasure.c:876</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#l00081">errors.h:81</a></div></div>
<div class="ttc" id="ainternal_8h_html"><div class="ttname"><a href="internal_8h.html">internal.h</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="alru_8h_html_a92e298695411672c3497ae5c8d9c0427"><div class="ttname"><a href="lru_8h.html#a92e298695411672c3497ae5c8d9c0427">free_cache</a></div><div class="ttdeci">void free_cache(struct CacheHeader *cache)</div><div class="ttdoc">Frees all entries in the cache and clears it.</div><div class="ttdef"><b>Definition</b> <a href="lru_8c_source.html#l00082">lru.c:82</a></div></div>
<div class="ttc" id="astructChecksums_html_a1748cd355e21a7b0f4f730dd16bd9752"><div class="ttname"><a href="structChecksums.html#a1748cd355e21a7b0f4f730dd16bd9752">Checksums::spamsum</a></div><div class="ttdeci">uint8_t * spamsum</div><div class="ttdoc">SpamSum fuzzy hash (ASCII), allocated length+1 with trailing 0.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00113">context.h:113</a></div></div>
<div class="ttc" id="astructDumpHardwareEntriesWithData_html_a04e71aaa515a5a88171f5730e371abbf"><div class="ttname"><a href="structDumpHardwareEntriesWithData.html#a04e71aaa515a5a88171f5730e371abbf">DumpHardwareEntriesWithData::firmware</a></div><div class="ttdeci">uint8_t * firmware</div><div class="ttdoc">Firmware version string or NULL.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00418">context.h:418</a></div></div>
<div class="ttc" id="astructDumpHardwareEntriesWithData_html_a05cc1da940a0009621038a0327719a91"><div class="ttname"><a href="structDumpHardwareEntriesWithData.html#a05cc1da940a0009621038a0327719a91">DumpHardwareEntriesWithData::revision</a></div><div class="ttdeci">uint8_t * revision</div><div class="ttdoc">Hardware revision string or NULL.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00417">context.h:417</a></div></div>
<div class="ttc" id="astructDumpHardwareEntriesWithData_html_a160651cc2a5247b99c9ebe38511cc475"><div class="ttname"><a href="structDumpHardwareEntriesWithData.html#a160651cc2a5247b99c9ebe38511cc475">DumpHardwareEntriesWithData::model</a></div><div class="ttdeci">uint8_t * model</div><div class="ttdoc">Model string or NULL.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00416">context.h:416</a></div></div>
<div class="ttc" id="astructDumpHardwareEntriesWithData_html_a31b56a2fa1f210aaa023eb031572e70b"><div class="ttname"><a href="structDumpHardwareEntriesWithData.html#a31b56a2fa1f210aaa023eb031572e70b">DumpHardwareEntriesWithData::softwareName</a></div><div class="ttdeci">uint8_t * softwareName</div><div class="ttdoc">Dump software name or NULL.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00420">context.h:420</a></div></div>
<div class="ttc" id="astructDumpHardwareEntriesWithData_html_a34453672c41a27c7d1b9a5df28f7df1a"><div class="ttname"><a href="structDumpHardwareEntriesWithData.html#a34453672c41a27c7d1b9a5df28f7df1a">DumpHardwareEntriesWithData::extents</a></div><div class="ttdeci">struct DumpExtent * extents</div><div class="ttdoc">Array of extents (entry.extents elements) or NULL.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00414">context.h:414</a></div></div>
<div class="ttc" id="astructDumpHardwareEntriesWithData_html_a4dbc57a5f46892c5e0cde65c55c11e33"><div class="ttname"><a href="structDumpHardwareEntriesWithData.html#a4dbc57a5f46892c5e0cde65c55c11e33">DumpHardwareEntriesWithData::manufacturer</a></div><div class="ttdeci">uint8_t * manufacturer</div><div class="ttdoc">Manufacturer string (UTF-8) or NULL.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00415">context.h:415</a></div></div>
<div class="ttc" id="astructDumpHardwareEntriesWithData_html_a5766ab6474f43fac96fb0342136766cc"><div class="ttname"><a href="structDumpHardwareEntriesWithData.html#a5766ab6474f43fac96fb0342136766cc">DumpHardwareEntriesWithData::softwareVersion</a></div><div class="ttdeci">uint8_t * softwareVersion</div><div class="ttdoc">Dump software version or NULL.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00421">context.h:421</a></div></div>
<div class="ttc" id="astructDumpHardwareEntriesWithData_html_a6d328a63bbde6fc49d5a507a22801107"><div class="ttname"><a href="structDumpHardwareEntriesWithData.html#a6d328a63bbde6fc49d5a507a22801107">DumpHardwareEntriesWithData::serial</a></div><div class="ttdeci">uint8_t * serial</div><div class="ttdoc">Serial number string or NULL.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00419">context.h:419</a></div></div>
<div class="ttc" id="astructDumpHardwareEntriesWithData_html_acfd385853ac00bbdbd5ef603aebfb44d"><div class="ttname"><a href="structDumpHardwareEntriesWithData.html#acfd385853ac00bbdbd5ef603aebfb44d">DumpHardwareEntriesWithData::softwareOperatingSystem</a></div><div class="ttdeci">uint8_t * softwareOperatingSystem</div><div class="ttdoc">Host operating system string or NULL.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00422">context.h:422</a></div></div>
<div class="ttc" id="astructDumpHardwareHeader_html_aee1b5c61324635638fbfbb2518fb86d8"><div class="ttname"><a href="structDumpHardwareHeader.html#aee1b5c61324635638fbfbb2518fb86d8">DumpHardwareHeader::entries</a></div><div class="ttdeci">uint16_t entries</div><div class="ttdoc">Number of DumpHardwareEntry records that follow.</div><div class="ttdef"><b>Definition</b> <a href="dump_8h_source.html#l00093">dump.h:93</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#l00174">context.h:175</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a016a2c15a10105ff17628c9ee7f5c424"><div class="ttname"><a href="structaaruformat__context.html#a016a2c15a10105ff17628c9ee7f5c424">aaruformat_context::ps3_disc_key</a></div><div class="ttdeci">uint8_t * ps3_disc_key</div><div class="ttdoc">Cached disc key (16 bytes), NULL if not loaded.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00348">context.h:348</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a07a920267b1112bfb238ba54e7a74e80"><div class="ttname"><a href="structaaruformat__context.html#a07a920267b1112bfb238ba54e7a74e80">aaruformat_context::checksums</a></div><div class="ttdeci">Checksums checksums</div><div class="ttdoc">Whole-image checksums discovered.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00272">context.h:272</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a12239886f41707864eafb8e2d5a79cb9"><div class="ttname"><a href="structaaruformat__context.html#a12239886f41707864eafb8e2d5a79cb9">aaruformat_context::wiiu_partition_regions</a></div><div class="ttdeci">void * wiiu_partition_regions</div><div class="ttdoc">Parsed WiiuPartitionRegion array, NULL if not loaded.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00355">context.h:355</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#l00217">context.h:217</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a1614b9ffbd5e4661a2483eb3f68f8fd1"><div class="ttname"><a href="structaaruformat__context.html#a1614b9ffbd5e4661a2483eb3f68f8fd1">aaruformat_context::sector_cpr_mai</a></div><div class="ttdeci">uint8_t * sector_cpr_mai</div><div class="ttdoc">DVD sector CPR_MAI (6 bytes) if present.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00210">context.h:210</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a1bfda8e3b76471a7b526d05f4855f8f1"><div class="ttname"><a href="structaaruformat__context.html#a1bfda8e3b76471a7b526d05f4855f8f1">aaruformat_context::ps3_plaintext_region_count</a></div><div class="ttdeci">uint32_t ps3_plaintext_region_count</div><div class="ttdoc">Number of plaintext regions.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00350">context.h:350</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a1d021776e9101370c7e6ed00c8049be1"><div class="ttname"><a href="structaaruformat__context.html#a1d021776e9101370c7e6ed00c8049be1">aaruformat_context::sector_prefix_corrected</a></div><div class="ttdeci">uint8_t * sector_prefix_corrected</div><div class="ttdoc">Corrected variant (post error correction) if stored.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00203">context.h:203</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a1d5ad658b9219c4b3838fcb042742e4e"><div class="ttname"><a href="structaaruformat__context.html#a1d5ad658b9219c4b3838fcb042742e4e">aaruformat_context::user_data_ddt</a></div><div class="ttdeci">uint64_t * user_data_ddt</div><div class="ttdoc">Legacy flat DDT pointer (NULL when using v2 mini/big arrays).</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00184">context.h:184</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a1d6387bb1c83151c5096beb51de37a8d"><div class="ttname"><a href="structaaruformat__context.html#a1d6387bb1c83151c5096beb51de37a8d">aaruformat_context::wiiu_partition_region_count</a></div><div class="ttdeci">uint32_t wiiu_partition_region_count</div><div class="ttdoc">Number of partition regions.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00356">context.h:356</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a20d89d35a44654862f6aecac1f7237c6"><div class="ttname"><a href="structaaruformat__context.html#a20d89d35a44654862f6aecac1f7237c6">aaruformat_context::ngcw_junk_seed_size</a></div><div class="ttdeci">uint16_t ngcw_junk_seed_size</div><div class="ttdoc">LFG seed size in uint32 words (expected: 17).</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00366">context.h:366</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a2656e1efffab41086f8c580896ea24a1"><div class="ttname"><a href="structaaruformat__context.html#a2656e1efffab41086f8c580896ea24a1">aaruformat_context::data_tracks</a></div><div class="ttdeci">TrackEntry * data_tracks</div><div class="ttdoc">Filtered list of data tracks (subset of trackEntries).</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00246">context.h:246</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a35916280b5c71a844f41aeaf4cc28a3e"><div class="ttname"><a href="structaaruformat__context.html#a35916280b5c71a844f41aeaf4cc28a3e">aaruformat_context::wiiu_encrypted_block_cache</a></div><div class="ttdeci">uint8_t * wiiu_encrypted_block_cache</div><div class="ttdoc">Cached re-encrypted 0x8000-byte physical sector.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00358">context.h:358</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a369261f4f02c9997195c062ba7940468"><div class="ttname"><a href="structaaruformat__context.html#a369261f4f02c9997195c062ba7940468">aaruformat_context::ngcw_junk_entries</a></div><div class="ttdeci">void * ngcw_junk_entries</div><div class="ttdoc">Parsed NgcwJunkEntry array, NULL if not loaded.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00364">context.h:364</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a3a12addf4a338cc04471709604d48ae1"><div class="ttname"><a href="structaaruformat__context.html#a3a12addf4a338cc04471709604d48ae1">aaruformat_context::block_header_cache</a></div><div class="ttdeci">struct CacheHeader block_header_cache</div><div class="ttdoc">LRU/Cache header for block headers.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00259">context.h:259</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a3bfc3fceaaf015830913fd7efa794e5a"><div class="ttname"><a href="structaaruformat__context.html#a3bfc3fceaaf015830913fd7efa794e5a">aaruformat_context::sector_ied</a></div><div class="ttdeci">uint8_t * sector_ied</div><div class="ttdoc">DVD sector IED (2 bytes) if present.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00209">context.h:209</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a3c7b902731274622296d04564b193b64"><div class="ttname"><a href="structaaruformat__context.html#a3c7b902731274622296d04564b193b64">aaruformat_context::user_data_ddt2</a></div><div class="ttdeci">uint64_t * user_data_ddt2</div><div class="ttdoc">DDT entries (big variant) primary/secondary current.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00190">context.h:190</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a413a99e4e86b7121adca2cfce8f02d63"><div class="ttname"><a href="structaaruformat__context.html#a413a99e4e86b7121adca2cfce8f02d63">aaruformat_context::sector_prefix</a></div><div class="ttdeci">uint8_t * sector_prefix</div><div class="ttdoc">Raw per-sector prefix (e.g., sync+header) uncorrected.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00202">context.h:202</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a46d0ccdc69758165c0468afbd05b9ffe"><div class="ttname"><a href="structaaruformat__context.html#a46d0ccdc69758165c0468afbd05b9ffe">aaruformat_context::sector_suffix_ddt2</a></div><div class="ttdeci">uint64_t * sector_suffix_ddt2</div><div class="ttdoc">CD sector suffix DDT V2.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00189">context.h:189</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a4dc244e21a520e90abd961c38eb6d9ae"><div class="ttname"><a href="structaaruformat__context.html#a4dc244e21a520e90abd961c38eb6d9ae">aaruformat_context::sector_edc</a></div><div class="ttdeci">uint8_t * sector_edc</div><div class="ttdoc">DVD sector EDC (4 bytes) if present.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00211">context.h:211</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a510b72290e2bd50e02ef8a2387aa829d"><div class="ttname"><a href="structaaruformat__context.html#a510b72290e2bd50e02ef8a2387aa829d">aaruformat_context::ecc_cd_context</a></div><div class="ttdeci">CdEccContext * ecc_cd_context</div><div class="ttdoc">CD ECC/EDC helper tables (allocated on demand).</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00251">context.h:251</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a58359ec8607d1d10e0af8699be238e77"><div class="ttname"><a href="structaaruformat__context.html#a58359ec8607d1d10e0af8699be238e77">aaruformat_context::block_cache</a></div><div class="ttdeci">struct CacheHeader block_cache</div><div class="ttdoc">LRU/Cache header for block payloads.</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_a59525c7915fbc51ab0f2ef184db8bf6d"><div class="ttname"><a href="structaaruformat__context.html#a59525c7915fbc51ab0f2ef184db8bf6d">aaruformat_context::ps3_encryption_initialized</a></div><div class="ttdeci">bool ps3_encryption_initialized</div><div class="ttdoc">Whether lazy init has occurred.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00351">context.h:351</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a5ec94a7912a165e5e7cacbeb8b65cbdf"><div class="ttname"><a href="structaaruformat__context.html#a5ec94a7912a165e5e7cacbeb8b65cbdf">aaruformat_context::sector_suffix_ddt</a></div><div class="ttdeci">uint32_t * sector_suffix_ddt</div><div class="ttdoc">Legacy CD sector suffix DDT.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00187">context.h:187</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a62885cab6ef674fd27b4de32ab4ee346"><div class="ttname"><a href="structaaruformat__context.html#a62885cab6ef674fd27b4de32ab4ee346">aaruformat_context::in_memory_ddt</a></div><div class="ttdeci">bool in_memory_ddt</div><div class="ttdoc">True if primary (and possibly secondary) DDT loaded.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00199">context.h:199</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a64870438f8f560a0b9973dedb3dd7e0e"><div class="ttname"><a href="structaaruformat__context.html#a64870438f8f560a0b9973dedb3dd7e0e">aaruformat_context::sector_suffix</a></div><div class="ttdeci">uint8_t * sector_suffix</div><div class="ttdoc">Raw per-sector suffix (EDC/ECC) uncorrected.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00204">context.h:204</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a6fd4fbf6362c5cfc9f2ab195a8a79926"><div class="ttname"><a href="structaaruformat__context.html#a6fd4fbf6362c5cfc9f2ab195a8a79926">aaruformat_context::finalize_write</a></div><div class="ttdeci">int32_t(* finalize_write)(struct aaruformat_context *ctx)</div><div class="ttdoc">Writer finalization hook (NULL for reader).</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00299">context.h:299</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#l00177">context.h:177</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a8317a42c16f1a140053f01808929f43f"><div class="ttname"><a href="structaaruformat__context.html#a8317a42c16f1a140053f01808929f43f">aaruformat_context::sector_prefix_ddt2</a></div><div class="ttdeci">uint64_t * sector_prefix_ddt2</div><div class="ttdoc">CD sector prefix DDT V2.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00188">context.h:188</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#l00267">context.h:267</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a8c1021af5f2c1b0a14fb5b559294975f"><div class="ttname"><a href="structaaruformat__context.html#a8c1021af5f2c1b0a14fb5b559294975f">aaruformat_context::wiiu_disc_key</a></div><div class="ttdeci">uint8_t * wiiu_disc_key</div><div class="ttdoc">Cached disc key (16 bytes), NULL if not loaded.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00354">context.h:354</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a8ffb62d849b6e0fbe5a4865b2ca7328f"><div class="ttname"><a href="structaaruformat__context.html#a8ffb62d849b6e0fbe5a4865b2ca7328f">aaruformat_context::dump_hardware_entries_with_data</a></div><div class="ttdeci">struct DumpHardwareEntriesWithData * dump_hardware_entries_with_data</div><div class="ttdoc">Array of dump hardware entries + strings.</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_a9307ffe59ce5d5b4f6c9c9a63b0ef70d"><div class="ttname"><a href="structaaruformat__context.html#a9307ffe59ce5d5b4f6c9c9a63b0ef70d">aaruformat_context::ngcw_junk_entry_count</a></div><div class="ttdeci">uint32_t ngcw_junk_entry_count</div><div class="ttdoc">Number of junk entries.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00365">context.h:365</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a9dbc317eb6fb1f8ece6305c47f5a3e89"><div class="ttname"><a href="structaaruformat__context.html#a9dbc317eb6fb1f8ece6305c47f5a3e89">aaruformat_context::cached_secondary_ddt2</a></div><div class="ttdeci">uint64_t * cached_secondary_ddt2</div><div class="ttdoc">Cached secondary table (big entries) or NULL.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00191">context.h:191</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_aa3dd955c7f01ecb619b3862fecce7110"><div class="ttname"><a href="structaaruformat__context.html#aa3dd955c7f01ecb619b3862fecce7110">aaruformat_context::wii_partition_region_count</a></div><div class="ttdeci">uint32_t wii_partition_region_count</div><div class="ttdoc">Number of partition regions.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00371">context.h:371</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_aa518fbc0528e85d7bd69dd331433b4bf"><div class="ttname"><a href="structaaruformat__context.html#aa518fbc0528e85d7bd69dd331433b4bf">aaruformat_context::wiiu_encryption_initialized</a></div><div class="ttdeci">bool wiiu_encryption_initialized</div><div class="ttdoc">Whether lazy init has occurred.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00357">context.h:357</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_aa97751408e9681a348b9385e28c15680"><div class="ttname"><a href="structaaruformat__context.html#aa97751408e9681a348b9385e28c15680">aaruformat_context::wii_encryption_initialized</a></div><div class="ttdeci">bool wii_encryption_initialized</div><div class="ttdoc">Whether lazy init has occurred.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00372">context.h:372</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_aaf16c9ee5b05bac1ef44d29abef6134a"><div class="ttname"><a href="structaaruformat__context.html#aaf16c9ee5b05bac1ef44d29abef6134a">aaruformat_context::sector_subchannel</a></div><div class="ttdeci">uint8_t * sector_subchannel</div><div class="ttdoc">Raw 96-byte subchannel (if captured).</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00206">context.h:206</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_aaf475c0a1941563a9e1598f02ac48b66"><div class="ttname"><a href="structaaruformat__context.html#aaf475c0a1941563a9e1598f02ac48b66">aaruformat_context::wii_partition_regions</a></div><div class="ttdeci">void * wii_partition_regions</div><div class="ttdoc">Parsed WiiPartitionRegion array, NULL if not loaded.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00370">context.h:370</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#l00179">context.h:179</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_ab97a719a5b4186695b67143db7376152"><div class="ttname"><a href="structaaruformat__context.html#ab97a719a5b4186695b67143db7376152">aaruformat_context::index_entries</a></div><div class="ttdeci">UT_array * index_entries</div><div class="ttdoc">Flattened index entries (UT_array of IndexEntry).</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00255">context.h:255</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_ac6734b2de73a4b6147aadc49bf3e96f8"><div class="ttname"><a href="structaaruformat__context.html#ac6734b2de73a4b6147aadc49bf3e96f8">aaruformat_context::mode2_subheaders</a></div><div class="ttdeci">uint8_t * mode2_subheaders</div><div class="ttdoc">MODE2 Form1/Form2 8-byte subheaders (concatenated).</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00207">context.h:207</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_ac9f970fc840120793cb8edb909a664f8"><div class="ttname"><a href="structaaruformat__context.html#ac9f970fc840120793cb8edb909a664f8">aaruformat_context::wii_cache_valid</a></div><div class="ttdeci">bool wii_cache_valid</div><div class="ttdoc">Whether the encrypted group cache is valid.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00375">context.h:375</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_acc9cdfdd4be56c4f7016a37e218cee47"><div class="ttname"><a href="structaaruformat__context.html#acc9cdfdd4be56c4f7016a37e218cee47">aaruformat_context::sector_id</a></div><div class="ttdeci">uint8_t * sector_id</div><div class="ttdoc">DVD sector ID (4 bytes) if present.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00208">context.h:208</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_accbbc605e1a1607fdf9b6f54f7a9af2f"><div class="ttname"><a href="structaaruformat__context.html#accbbc605e1a1607fdf9b6f54f7a9af2f">aaruformat_context::dump_hardware_header</a></div><div class="ttdeci">DumpHardwareHeader dump_hardware_header</div><div class="ttdoc">Dump hardware header.</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_acf62eadb2e019323fdbe8bbf536ad82c"><div class="ttname"><a href="structaaruformat__context.html#acf62eadb2e019323fdbe8bbf536ad82c">aaruformat_context::ps3_plaintext_regions</a></div><div class="ttdeci">void * ps3_plaintext_regions</div><div class="ttdoc">Parsed Ps3PlaintextRegion array (max 32), NULL if not loaded.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00349">context.h:349</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#l00266">context.h:266</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_ad9e40dfb41ec80b902869354b052dd7d"><div class="ttname"><a href="structaaruformat__context.html#ad9e40dfb41ec80b902869354b052dd7d">aaruformat_context::sector_prefix_ddt</a></div><div class="ttdeci">uint32_t * sector_prefix_ddt</div><div class="ttdoc">Legacy CD sector prefix DDT (deprecated by *2).</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00186">context.h:186</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_adc79d62a5bbb4d1db9aa35a36e0d2396"><div class="ttname"><a href="structaaruformat__context.html#adc79d62a5bbb4d1db9aa35a36e0d2396">aaruformat_context::wiiu_cache_valid</a></div><div class="ttdeci">bool wiiu_cache_valid</div><div class="ttdoc">Whether the encrypted block cache is valid.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00360">context.h:360</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_adcabe3b59f532d036adf16b78faba58e"><div class="ttname"><a href="structaaruformat__context.html#adcabe3b59f532d036adf16b78faba58e">aaruformat_context::track_entries</a></div><div class="ttdeci">TrackEntry * track_entries</div><div class="ttdoc">Full track list (tracksHeader.entries elements).</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00245">context.h:245</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_adfcfa339aded095de2143ffff0931288"><div class="ttname"><a href="structaaruformat__context.html#adfcfa339aded095de2143ffff0931288">aaruformat_context::sector_suffix_corrected</a></div><div class="ttdeci">uint8_t * sector_suffix_corrected</div><div class="ttdoc">Corrected suffix if stored separately.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00205">context.h:205</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#l00216">context.h:216</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_ae1b2a0044c769c469ae161df9ed6de50"><div class="ttname"><a href="structaaruformat__context.html#ae1b2a0044c769c469ae161df9ed6de50">aaruformat_context::wii_encrypted_group_cache</a></div><div class="ttdeci">uint8_t * wii_encrypted_group_cache</div><div class="ttdoc">Cached re-encrypted 0x8000-byte group.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00373">context.h:373</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_ae87bda67ebb4a9b27f363a03634ab25c"><div class="ttname"><a href="structaaruformat__context.html#ae87bda67ebb4a9b27f363a03634ab25c">aaruformat_context::ngcw_junk_initialized</a></div><div class="ttdeci">bool ngcw_junk_initialized</div><div class="ttdoc">Whether junk map has been loaded.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00367">context.h:367</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_afc6cf8ab181536febd804d18702d4d80"><div class="ttname"><a href="structaaruformat__context.html#afc6cf8ab181536febd804d18702d4d80">aaruformat_context::mapped_memory_ddt_size</a></div><div class="ttdeci">size_t mapped_memory_ddt_size</div><div class="ttdoc">Length of mmapped DDT if userDataDdt is mmapped.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00196">context.h:196</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#l00121">context.h:122</a></div></div>
<div class="ttc" id="astructmediaTagEntry_html_a334fc65b37efdfb624e804e98c398927"><div class="ttname"><a href="structmediaTagEntry.html#a334fc65b37efdfb624e804e98c398927">mediaTagEntry::data</a></div><div class="ttdeci">uint8_t * data</div><div class="ttdoc">Tag data blob (opaque to library core); length bytes long.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00123">context.h:123</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="close_8c.html">close.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.16.1 </li>
</ul>
</div>
</body>
</html>