Files
libaaruformat/docs/html/metadata__write_8c_source.html

1831 lines
382 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/metadata_write.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('metadata__write_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_write.c</div></div>
</div><!--header-->
<div class="contents">
<a href="metadata__write_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="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#include &lt;stddef.h&gt;</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor">#include &quot;<a class="code" href="aaruformat_8h.html">aaruformat.h</a>&quot;</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#include &quot;<a class="code" href="log_8h.html">log.h</a>&quot;</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span></div>
<div class="foldopen" id="foldopen00128" data-start="{" data-end="}">
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"><a class="line" href="decls_8h.html#a21f4b3cf398b1a1c008c9a070ef9277b"> 128</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="metadata__write_8c.html#ad0b5b12288f159780d065b12ba12bdcc">aaruf_set_geometry</a>(<span class="keywordtype">void</span> *context, <span class="keyword">const</span> uint32_t cylinders, <span class="keyword">const</span> uint32_t heads,</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keyword">const</span> uint32_t sectors_per_track)</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span>{</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_set_geometry(%p, %u, %u, %u)&quot;</span>, context, cylinders, heads, sectors_per_track);</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> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = NULL;</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> </div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">if</span>(context == NULL)</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> <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="l00138" name="l00138"></a><span class="lineno"> 138</span> </div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_geometry() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</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="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> ctx = context;</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> </div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</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="l00147" name="l00147"></a><span class="lineno"> 147</span> {</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</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="l00149" name="l00149"></a><span class="lineno"> 149</span> </div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_geometry() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</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="l00152" name="l00152"></a><span class="lineno"> 152</span> }</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> </div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</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> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> </div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_write_sector() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</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> 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="l00164" name="l00164"></a><span class="lineno"> 164</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> = cylinders;</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#a9ac9d12e8fde7a69c01cdf2dc32f33bd">geometry_block</a>.<a class="code hl_variable" href="structGeometryBlockHeader.html#a9ed0a8f6307eb38589ef4502cef533ee">heads</a> = heads;</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> 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> = sectors_per_track;</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#a29c17435980ac94547f471485a891f54">cylinders</a> = cylinders;</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab213059edf055cf1c3e2021bc395c78e">heads</a> = heads;</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aaeb71d74c7d9236d80186a25066326a1">sectors_per_track</a> = sectors_per_track;</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#aeb85241fdc8a4ac27aee8acab5ceec17">dirty_geometry_block</a> = <span class="keyword">true</span>; <span class="comment">// Mark geometry block as dirty</span></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> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_geometry(%p, %u, %u, %u) = AARUF_STATUS_OK&quot;</span>, context, cylinders, heads, sectors_per_track);</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</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="l00174" name="l00174"></a><span class="lineno"> 174</span>}</div>
</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span></div>
<div class="foldopen" id="foldopen00263" data-start="{" data-end="}">
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"><a class="line" href="decls_8h.html#a00537ecc9cb55b4ce3c92d61a8cea094"> 263</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="metadata__write_8c.html#a10d528163caf65134a7cec4a0c0a33b8">aaruf_set_media_sequence</a>(<span class="keywordtype">void</span> *context, <span class="keyword">const</span> int32_t sequence,</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> <span class="keyword">const</span> int32_t last_sequence)</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span>{</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_set_media_sequence(%p, %d, %d)&quot;</span>, context, sequence, last_sequence);</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> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> {</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</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="l00272" name="l00272"></a><span class="lineno"> 272</span> </div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_sequence() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</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="l00275" name="l00275"></a><span class="lineno"> 275</span> }</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> </div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</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="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</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="l00281" name="l00281"></a><span class="lineno"> 281</span> {</div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</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="l00283" name="l00283"></a><span class="lineno"> 283</span> </div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_sequence() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</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="l00286" name="l00286"></a><span class="lineno"> 286</span> }</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">// Check we are writing</span></div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</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> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> </div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_sequence() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> }</div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> </div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> <span class="comment">// Initialize</span></div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</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#a16f0be711a2a0ddb48a0f092716e93dc">identifier</a> = <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>;</div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> </div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</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> = sequence;</div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</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#aacd243f7f5a78c6087b797328197f522">lastMediaSequence</a> = last_sequence;</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> </div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_sequence(%p, %d, %d) = AARUF_STATUS_OK&quot;</span>, context, sequence, last_sequence);</div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</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="l00305" name="l00305"></a><span class="lineno"> 305</span>}</div>
</div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span></div>
<div class="foldopen" id="foldopen00394" data-start="{" data-end="}">
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"><a class="line" href="decls_8h.html#a1da2dd0571762fa7c13bc956ec12dfab"> 394</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="metadata__write_8c.html#af28837461d12252d8258032e370585ae">aaruf_set_creator</a>(<span class="keywordtype">void</span> *context, <span class="keyword">const</span> uint8_t *data, <span class="keyword">const</span> int32_t length)</div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span>{</div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_set_creator(%p, %p, %d)&quot;</span>, context, data, length);</div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span> </div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span> {</div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</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="l00402" name="l00402"></a><span class="lineno"> 402</span> </div>
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_creator() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</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="l00405" name="l00405"></a><span class="lineno"> 405</span> }</div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span> </div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> </div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</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="l00411" name="l00411"></a><span class="lineno"> 411</span> {</div>
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</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="l00413" name="l00413"></a><span class="lineno"> 413</span> </div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_creator() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</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="l00416" name="l00416"></a><span class="lineno"> 416</span> }</div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span> </div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span> {</div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span> </div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_creator() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"> 424</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span> }</div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span> </div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span> <span class="comment">// Initialize</span></div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</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#a16f0be711a2a0ddb48a0f092716e93dc">identifier</a> = <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>;</div>
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span> </div>
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span> <span class="comment">// Reserve memory</span></div>
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span> uint8_t *copy = malloc(length);</div>
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"> 432</span> <span class="keywordflow">if</span>(copy == NULL)</div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span> {</div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Could not allocate memory for creator&quot;</span>);</div>
<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"> 435</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a35a771e3648bf971a004d4b2be9b5ec4">AARUF_ERROR_NOT_ENOUGH_MEMORY</a>;</div>
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"> 436</span> }</div>
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span> </div>
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span> <span class="comment">// Copy opaque UTF-16LE string</span></div>
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span> memcpy(copy, data, length);</div>
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a0c15ef634690890bf80719046faa0230">creator</a> != NULL) free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a0c15ef634690890bf80719046faa0230">creator</a>);</div>
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a0c15ef634690890bf80719046faa0230">creator</a> = copy;</div>
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</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> = length;</div>
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"> 443</span> </div>
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_creator(%p, %p, %d) = AARUF_STATUS_OK&quot;</span>, context, data, length);</div>
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</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="l00446" name="l00446"></a><span class="lineno"> 446</span>}</div>
</div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span></div>
<div class="foldopen" id="foldopen00508" data-start="{" data-end="}">
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"><a class="line" href="decls_8h.html#af7fcca1ab5ff0422ec81ec6e99001b38"> 508</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="metadata__write_8c.html#ad24b15e067720825c47610e9477bfc2a">aaruf_set_comments</a>(<span class="keywordtype">void</span> *context, <span class="keyword">const</span> uint8_t *data, <span class="keyword">const</span> int32_t length)</div>
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"> 509</span>{</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;Entering aaruf_set_comments(%p, %p, %d)&quot;</span>, context, data, length);</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> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"> 513</span> <span class="keywordflow">if</span>(context == NULL)</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> <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="l00516" name="l00516"></a><span class="lineno"> 516</span> </div>
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"> 517</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_comments() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l00518" name="l00518"></a><span class="lineno"> 518</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="l00519" name="l00519"></a><span class="lineno"> 519</span> }</div>
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"> 520</span> </div>
<div class="line"><a id="l00521" name="l00521"></a><span class="lineno"> 521</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l00522" name="l00522"></a><span class="lineno"> 522</span> </div>
<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"> 523</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"> 524</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="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#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Invalid context&quot;</span>);</div>
<div class="line"><a id="l00527" name="l00527"></a><span class="lineno"> 527</span> </div>
<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"> 528</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_comments() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"> 529</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="l00530" name="l00530"></a><span class="lineno"> 530</span> }</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> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"> 533</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"> 534</span> {</div>
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"> 535</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</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;Exiting aaruf_set_comments() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l00538" name="l00538"></a><span class="lineno"> 538</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l00539" name="l00539"></a><span class="lineno"> 539</span> }</div>
<div class="line"><a id="l00540" name="l00540"></a><span class="lineno"> 540</span> </div>
<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"> 541</span> <span class="comment">// Initialize</span></div>
<div class="line"><a id="l00542" name="l00542"></a><span class="lineno"> 542</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</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#a16f0be711a2a0ddb48a0f092716e93dc">identifier</a> = <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>;</div>
<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"> 543</span> </div>
<div class="line"><a id="l00544" name="l00544"></a><span class="lineno"> 544</span> <span class="comment">// Reserve memory</span></div>
<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"> 545</span> uint8_t *copy = malloc(length);</div>
<div class="line"><a id="l00546" name="l00546"></a><span class="lineno"> 546</span> <span class="keywordflow">if</span>(copy == NULL)</div>
<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"> 547</span> {</div>
<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"> 548</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Could not allocate memory for comments&quot;</span>);</div>
<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"> 549</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a35a771e3648bf971a004d4b2be9b5ec4">AARUF_ERROR_NOT_ENOUGH_MEMORY</a>;</div>
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"> 550</span> }</div>
<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"> 551</span> </div>
<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"> 552</span> <span class="comment">// Copy opaque UTF-16LE string</span></div>
<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"> 553</span> memcpy(copy, data, length);</div>
<div class="line"><a id="l00554" name="l00554"></a><span class="lineno"> 554</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab08395cd8ed98def2b5886c35fbad605">comments</a> != NULL) free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab08395cd8ed98def2b5886c35fbad605">comments</a>);</div>
<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"> 555</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab08395cd8ed98def2b5886c35fbad605">comments</a> = copy;</div>
<div class="line"><a id="l00556" name="l00556"></a><span class="lineno"> 556</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> = length;</div>
<div class="line"><a id="l00557" name="l00557"></a><span class="lineno"> 557</span> </div>
<div class="line"><a id="l00558" name="l00558"></a><span class="lineno"> 558</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_comments(%p, %p, %d) = AARUF_STATUS_OK&quot;</span>, context, data, length);</div>
<div class="line"><a id="l00559" name="l00559"></a><span class="lineno"> 559</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="l00560" name="l00560"></a><span class="lineno"> 560</span>}</div>
</div>
<div class="line"><a id="l00561" name="l00561"></a><span class="lineno"> 561</span></div>
<div class="foldopen" id="foldopen00621" data-start="{" data-end="}">
<div class="line"><a id="l00621" name="l00621"></a><span class="lineno"><a class="line" href="decls_8h.html#a37f50b38ceaee7db0b7731ee978b8241"> 621</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="metadata__write_8c.html#a2f344544e412db0bfb46d3dfb509dd91">aaruf_set_media_title</a>(<span class="keywordtype">void</span> *context, <span class="keyword">const</span> uint8_t *data, <span class="keyword">const</span> int32_t length)</div>
<div class="line"><a id="l00622" name="l00622"></a><span class="lineno"> 622</span>{</div>
<div class="line"><a id="l00623" name="l00623"></a><span class="lineno"> 623</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_set_media_title(%p, %p, %d)&quot;</span>, context, data, length);</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> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l00626" name="l00626"></a><span class="lineno"> 626</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l00627" name="l00627"></a><span class="lineno"> 627</span> {</div>
<div class="line"><a id="l00628" name="l00628"></a><span class="lineno"> 628</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="l00629" name="l00629"></a><span class="lineno"> 629</span> </div>
<div class="line"><a id="l00630" name="l00630"></a><span class="lineno"> 630</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_title() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l00631" name="l00631"></a><span class="lineno"> 631</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="l00632" name="l00632"></a><span class="lineno"> 632</span> }</div>
<div class="line"><a id="l00633" name="l00633"></a><span class="lineno"> 633</span> </div>
<div class="line"><a id="l00634" name="l00634"></a><span class="lineno"> 634</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</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> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l00637" name="l00637"></a><span class="lineno"> 637</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="l00638" name="l00638"></a><span class="lineno"> 638</span> {</div>
<div class="line"><a id="l00639" name="l00639"></a><span class="lineno"> 639</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="l00640" name="l00640"></a><span class="lineno"> 640</span> </div>
<div class="line"><a id="l00641" name="l00641"></a><span class="lineno"> 641</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_title() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l00642" name="l00642"></a><span class="lineno"> 642</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="l00643" name="l00643"></a><span class="lineno"> 643</span> }</div>
<div class="line"><a id="l00644" name="l00644"></a><span class="lineno"> 644</span> </div>
<div class="line"><a id="l00645" name="l00645"></a><span class="lineno"> 645</span> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l00646" name="l00646"></a><span class="lineno"> 646</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l00647" name="l00647"></a><span class="lineno"> 647</span> {</div>
<div class="line"><a id="l00648" name="l00648"></a><span class="lineno"> 648</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</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> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_title() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l00651" name="l00651"></a><span class="lineno"> 651</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l00652" name="l00652"></a><span class="lineno"> 652</span> }</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="comment">// Initialize</span></div>
<div class="line"><a id="l00655" name="l00655"></a><span class="lineno"> 655</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</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#a16f0be711a2a0ddb48a0f092716e93dc">identifier</a> = <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>;</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> <span class="comment">// Reserve memory</span></div>
<div class="line"><a id="l00658" name="l00658"></a><span class="lineno"> 658</span> uint8_t *copy = malloc(length);</div>
<div class="line"><a id="l00659" name="l00659"></a><span class="lineno"> 659</span> <span class="keywordflow">if</span>(copy == NULL)</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> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Could not allocate memory for media title&quot;</span>);</div>
<div class="line"><a id="l00662" name="l00662"></a><span class="lineno"> 662</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a35a771e3648bf971a004d4b2be9b5ec4">AARUF_ERROR_NOT_ENOUGH_MEMORY</a>;</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> </div>
<div class="line"><a id="l00665" name="l00665"></a><span class="lineno"> 665</span> <span class="comment">// Copy opaque UTF-16LE string</span></div>
<div class="line"><a id="l00666" name="l00666"></a><span class="lineno"> 666</span> memcpy(copy, data, length);</div>
<div class="line"><a id="l00667" name="l00667"></a><span class="lineno"> 667</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aeb5bda76e0ea176598a04be97b7d5683">media_title</a> != NULL) free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aeb5bda76e0ea176598a04be97b7d5683">media_title</a>);</div>
<div class="line"><a id="l00668" name="l00668"></a><span class="lineno"> 668</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aeb5bda76e0ea176598a04be97b7d5683">media_title</a> = copy;</div>
<div class="line"><a id="l00669" name="l00669"></a><span class="lineno"> 669</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> = length;</div>
<div class="line"><a id="l00670" name="l00670"></a><span class="lineno"> 670</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aab573afda1087dcc99dc9a6a34fcc844">dirty_metadata_block</a> = <span class="keyword">true</span>; <span class="comment">// Mark metadata block as dirty</span></div>
<div class="line"><a id="l00671" name="l00671"></a><span class="lineno"> 671</span> </div>
<div class="line"><a id="l00672" name="l00672"></a><span class="lineno"> 672</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_title(%p, %p, %d) = AARUF_STATUS_OK&quot;</span>, context, data, length);</div>
<div class="line"><a id="l00673" name="l00673"></a><span class="lineno"> 673</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="l00674" name="l00674"></a><span class="lineno"> 674</span>}</div>
</div>
<div class="line"><a id="l00675" name="l00675"></a><span class="lineno"> 675</span></div>
<div class="foldopen" id="foldopen00734" data-start="{" data-end="}">
<div class="line"><a id="l00734" name="l00734"></a><span class="lineno"><a class="line" href="decls_8h.html#a3d46262ff1f9d51d57d1e95648f4083b"> 734</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="metadata__write_8c.html#add92b8c91ede6a62dfda5f8980c3ce6d">aaruf_set_media_manufacturer</a>(<span class="keywordtype">void</span> *context, <span class="keyword">const</span> uint8_t *data, <span class="keyword">const</span> int32_t length)</div>
<div class="line"><a id="l00735" name="l00735"></a><span class="lineno"> 735</span>{</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;Entering aaruf_set_media_manufacturer(%p, %p, %d)&quot;</span>, context, data, 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> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l00739" name="l00739"></a><span class="lineno"> 739</span> <span class="keywordflow">if</span>(context == NULL)</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> <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="l00742" name="l00742"></a><span class="lineno"> 742</span> </div>
<div class="line"><a id="l00743" name="l00743"></a><span class="lineno"> 743</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l00744" name="l00744"></a><span class="lineno"> 744</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="l00745" name="l00745"></a><span class="lineno"> 745</span> }</div>
<div class="line"><a id="l00746" name="l00746"></a><span class="lineno"> 746</span> </div>
<div class="line"><a id="l00747" name="l00747"></a><span class="lineno"> 747</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l00748" name="l00748"></a><span class="lineno"> 748</span> </div>
<div class="line"><a id="l00749" name="l00749"></a><span class="lineno"> 749</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l00750" name="l00750"></a><span class="lineno"> 750</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="l00751" name="l00751"></a><span class="lineno"> 751</span> {</div>
<div class="line"><a id="l00752" name="l00752"></a><span class="lineno"> 752</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="l00753" name="l00753"></a><span class="lineno"> 753</span> </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;Exiting aaruf_set_media_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l00755" name="l00755"></a><span class="lineno"> 755</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="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> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l00759" name="l00759"></a><span class="lineno"> 759</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l00760" name="l00760"></a><span class="lineno"> 760</span> {</div>
<div class="line"><a id="l00761" name="l00761"></a><span class="lineno"> 761</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l00762" name="l00762"></a><span class="lineno"> 762</span> </div>
<div class="line"><a id="l00763" name="l00763"></a><span class="lineno"> 763</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_manufacturer() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l00764" name="l00764"></a><span class="lineno"> 764</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l00765" name="l00765"></a><span class="lineno"> 765</span> }</div>
<div class="line"><a id="l00766" name="l00766"></a><span class="lineno"> 766</span> </div>
<div class="line"><a id="l00767" name="l00767"></a><span class="lineno"> 767</span> <span class="comment">// Initialize</span></div>
<div class="line"><a id="l00768" name="l00768"></a><span class="lineno"> 768</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</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#a16f0be711a2a0ddb48a0f092716e93dc">identifier</a> = <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>;</div>
<div class="line"><a id="l00769" name="l00769"></a><span class="lineno"> 769</span> </div>
<div class="line"><a id="l00770" name="l00770"></a><span class="lineno"> 770</span> <span class="comment">// Reserve memory</span></div>
<div class="line"><a id="l00771" name="l00771"></a><span class="lineno"> 771</span> uint8_t *copy = malloc(length);</div>
<div class="line"><a id="l00772" name="l00772"></a><span class="lineno"> 772</span> <span class="keywordflow">if</span>(copy == NULL)</div>
<div class="line"><a id="l00773" name="l00773"></a><span class="lineno"> 773</span> {</div>
<div class="line"><a id="l00774" name="l00774"></a><span class="lineno"> 774</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Could not allocate memory for media manufacturer&quot;</span>);</div>
<div class="line"><a id="l00775" name="l00775"></a><span class="lineno"> 775</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a35a771e3648bf971a004d4b2be9b5ec4">AARUF_ERROR_NOT_ENOUGH_MEMORY</a>;</div>
<div class="line"><a id="l00776" name="l00776"></a><span class="lineno"> 776</span> }</div>
<div class="line"><a id="l00777" name="l00777"></a><span class="lineno"> 777</span> </div>
<div class="line"><a id="l00778" name="l00778"></a><span class="lineno"> 778</span> <span class="comment">// Copy opaque UTF-16LE string</span></div>
<div class="line"><a id="l00779" name="l00779"></a><span class="lineno"> 779</span> memcpy(copy, data, length);</div>
<div class="line"><a id="l00780" name="l00780"></a><span class="lineno"> 780</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#afd13345e6ab5072d97d9b3bbe238ecea">media_manufacturer</a> != NULL) free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#afd13345e6ab5072d97d9b3bbe238ecea">media_manufacturer</a>);</div>
<div class="line"><a id="l00781" name="l00781"></a><span class="lineno"> 781</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#afd13345e6ab5072d97d9b3bbe238ecea">media_manufacturer</a> = copy;</div>
<div class="line"><a id="l00782" name="l00782"></a><span class="lineno"> 782</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> = length;</div>
<div class="line"><a id="l00783" name="l00783"></a><span class="lineno"> 783</span> </div>
<div class="line"><a id="l00784" name="l00784"></a><span class="lineno"> 784</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_manufacturer(%p, %p, %d) = AARUF_STATUS_OK&quot;</span>, context, data, length);</div>
<div class="line"><a id="l00785" name="l00785"></a><span class="lineno"> 785</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="l00786" name="l00786"></a><span class="lineno"> 786</span>}</div>
</div>
<div class="line"><a id="l00787" name="l00787"></a><span class="lineno"> 787</span></div>
<div class="foldopen" id="foldopen00841" data-start="{" data-end="}">
<div class="line"><a id="l00841" name="l00841"></a><span class="lineno"><a class="line" href="decls_8h.html#a8eed9fbf0341f48bac755524f4c99ef2"> 841</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="metadata__write_8c.html#a0ed36b14e49f1e924906d9c4b26d6214">aaruf_set_media_model</a>(<span class="keywordtype">void</span> *context, <span class="keyword">const</span> uint8_t *data, <span class="keyword">const</span> int32_t length)</div>
<div class="line"><a id="l00842" name="l00842"></a><span class="lineno"> 842</span>{</div>
<div class="line"><a id="l00843" name="l00843"></a><span class="lineno"> 843</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_set_media_model(%p, %p, %d)&quot;</span>, context, data, length);</div>
<div class="line"><a id="l00844" name="l00844"></a><span class="lineno"> 844</span> </div>
<div class="line"><a id="l00845" name="l00845"></a><span class="lineno"> 845</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l00846" name="l00846"></a><span class="lineno"> 846</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l00847" name="l00847"></a><span class="lineno"> 847</span> {</div>
<div class="line"><a id="l00848" name="l00848"></a><span class="lineno"> 848</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="l00849" name="l00849"></a><span class="lineno"> 849</span> </div>
<div class="line"><a id="l00850" name="l00850"></a><span class="lineno"> 850</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_model() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l00851" name="l00851"></a><span class="lineno"> 851</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="l00852" name="l00852"></a><span class="lineno"> 852</span> }</div>
<div class="line"><a id="l00853" name="l00853"></a><span class="lineno"> 853</span> </div>
<div class="line"><a id="l00854" name="l00854"></a><span class="lineno"> 854</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l00855" name="l00855"></a><span class="lineno"> 855</span> </div>
<div class="line"><a id="l00856" name="l00856"></a><span class="lineno"> 856</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l00857" name="l00857"></a><span class="lineno"> 857</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="l00858" name="l00858"></a><span class="lineno"> 858</span> {</div>
<div class="line"><a id="l00859" name="l00859"></a><span class="lineno"> 859</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="l00860" name="l00860"></a><span class="lineno"> 860</span> </div>
<div class="line"><a id="l00861" name="l00861"></a><span class="lineno"> 861</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_model() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l00862" name="l00862"></a><span class="lineno"> 862</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="l00863" name="l00863"></a><span class="lineno"> 863</span> }</div>
<div class="line"><a id="l00864" name="l00864"></a><span class="lineno"> 864</span> </div>
<div class="line"><a id="l00865" name="l00865"></a><span class="lineno"> 865</span> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l00866" name="l00866"></a><span class="lineno"> 866</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l00867" name="l00867"></a><span class="lineno"> 867</span> {</div>
<div class="line"><a id="l00868" name="l00868"></a><span class="lineno"> 868</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l00869" name="l00869"></a><span class="lineno"> 869</span> </div>
<div class="line"><a id="l00870" name="l00870"></a><span class="lineno"> 870</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_model() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l00871" name="l00871"></a><span class="lineno"> 871</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l00872" name="l00872"></a><span class="lineno"> 872</span> }</div>
<div class="line"><a id="l00873" name="l00873"></a><span class="lineno"> 873</span> </div>
<div class="line"><a id="l00874" name="l00874"></a><span class="lineno"> 874</span> <span class="comment">// Initialize</span></div>
<div class="line"><a id="l00875" name="l00875"></a><span class="lineno"> 875</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</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#a16f0be711a2a0ddb48a0f092716e93dc">identifier</a> = <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>;</div>
<div class="line"><a id="l00876" name="l00876"></a><span class="lineno"> 876</span> </div>
<div class="line"><a id="l00877" name="l00877"></a><span class="lineno"> 877</span> <span class="comment">// Reserve memory</span></div>
<div class="line"><a id="l00878" name="l00878"></a><span class="lineno"> 878</span> uint8_t *copy = malloc(length);</div>
<div class="line"><a id="l00879" name="l00879"></a><span class="lineno"> 879</span> <span class="keywordflow">if</span>(copy == NULL)</div>
<div class="line"><a id="l00880" name="l00880"></a><span class="lineno"> 880</span> {</div>
<div class="line"><a id="l00881" name="l00881"></a><span class="lineno"> 881</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Could not allocate memory for media model&quot;</span>);</div>
<div class="line"><a id="l00882" name="l00882"></a><span class="lineno"> 882</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a35a771e3648bf971a004d4b2be9b5ec4">AARUF_ERROR_NOT_ENOUGH_MEMORY</a>;</div>
<div class="line"><a id="l00883" name="l00883"></a><span class="lineno"> 883</span> }</div>
<div class="line"><a id="l00884" name="l00884"></a><span class="lineno"> 884</span> </div>
<div class="line"><a id="l00885" name="l00885"></a><span class="lineno"> 885</span> <span class="comment">// Copy opaque UTF-16LE string</span></div>
<div class="line"><a id="l00886" name="l00886"></a><span class="lineno"> 886</span> memcpy(copy, data, length);</div>
<div class="line"><a id="l00887" name="l00887"></a><span class="lineno"> 887</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a4ecbf4064d4ab0440e922e1c096b38dc">media_model</a> != NULL) free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a4ecbf4064d4ab0440e922e1c096b38dc">media_model</a>);</div>
<div class="line"><a id="l00888" name="l00888"></a><span class="lineno"> 888</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a4ecbf4064d4ab0440e922e1c096b38dc">media_model</a> = copy;</div>
<div class="line"><a id="l00889" name="l00889"></a><span class="lineno"> 889</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> = length;</div>
<div class="line"><a id="l00890" name="l00890"></a><span class="lineno"> 890</span> </div>
<div class="line"><a id="l00891" name="l00891"></a><span class="lineno"> 891</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_model(%p, %p, %d) = AARUF_STATUS_OK&quot;</span>, context, data, length);</div>
<div class="line"><a id="l00892" name="l00892"></a><span class="lineno"> 892</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="l00893" name="l00893"></a><span class="lineno"> 893</span>}</div>
</div>
<div class="line"><a id="l00894" name="l00894"></a><span class="lineno"> 894</span></div>
<div class="foldopen" id="foldopen00956" data-start="{" data-end="}">
<div class="line"><a id="l00956" name="l00956"></a><span class="lineno"><a class="line" href="decls_8h.html#a2dff9d23775ba429c38efd251844092d"> 956</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="metadata__write_8c.html#ad06ae4d49d6de002ef565108c73451e1">aaruf_set_media_serial_number</a>(<span class="keywordtype">void</span> *context, <span class="keyword">const</span> uint8_t *data, <span class="keyword">const</span> int32_t length)</div>
<div class="line"><a id="l00957" name="l00957"></a><span class="lineno"> 957</span>{</div>
<div class="line"><a id="l00958" name="l00958"></a><span class="lineno"> 958</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_set_media_serial_number(%p, %p, %d)&quot;</span>, context, data, length);</div>
<div class="line"><a id="l00959" name="l00959"></a><span class="lineno"> 959</span> </div>
<div class="line"><a id="l00960" name="l00960"></a><span class="lineno"> 960</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l00961" name="l00961"></a><span class="lineno"> 961</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l00962" name="l00962"></a><span class="lineno"> 962</span> {</div>
<div class="line"><a id="l00963" name="l00963"></a><span class="lineno"> 963</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="l00964" name="l00964"></a><span class="lineno"> 964</span> </div>
<div class="line"><a id="l00965" name="l00965"></a><span class="lineno"> 965</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_serial_number() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l00966" name="l00966"></a><span class="lineno"> 966</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="l00967" name="l00967"></a><span class="lineno"> 967</span> }</div>
<div class="line"><a id="l00968" name="l00968"></a><span class="lineno"> 968</span> </div>
<div class="line"><a id="l00969" name="l00969"></a><span class="lineno"> 969</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l00970" name="l00970"></a><span class="lineno"> 970</span> </div>
<div class="line"><a id="l00971" name="l00971"></a><span class="lineno"> 971</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l00972" name="l00972"></a><span class="lineno"> 972</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="l00973" name="l00973"></a><span class="lineno"> 973</span> {</div>
<div class="line"><a id="l00974" name="l00974"></a><span class="lineno"> 974</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="l00975" name="l00975"></a><span class="lineno"> 975</span> </div>
<div class="line"><a id="l00976" name="l00976"></a><span class="lineno"> 976</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_serial_number() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l00977" name="l00977"></a><span class="lineno"> 977</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="l00978" name="l00978"></a><span class="lineno"> 978</span> }</div>
<div class="line"><a id="l00979" name="l00979"></a><span class="lineno"> 979</span> </div>
<div class="line"><a id="l00980" name="l00980"></a><span class="lineno"> 980</span> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l00981" name="l00981"></a><span class="lineno"> 981</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l00982" name="l00982"></a><span class="lineno"> 982</span> {</div>
<div class="line"><a id="l00983" name="l00983"></a><span class="lineno"> 983</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l00984" name="l00984"></a><span class="lineno"> 984</span> </div>
<div class="line"><a id="l00985" name="l00985"></a><span class="lineno"> 985</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_serial_number() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l00986" name="l00986"></a><span class="lineno"> 986</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l00987" name="l00987"></a><span class="lineno"> 987</span> }</div>
<div class="line"><a id="l00988" name="l00988"></a><span class="lineno"> 988</span> </div>
<div class="line"><a id="l00989" name="l00989"></a><span class="lineno"> 989</span> <span class="comment">// Initialize</span></div>
<div class="line"><a id="l00990" name="l00990"></a><span class="lineno"> 990</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</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#a16f0be711a2a0ddb48a0f092716e93dc">identifier</a> = <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>;</div>
<div class="line"><a id="l00991" name="l00991"></a><span class="lineno"> 991</span> </div>
<div class="line"><a id="l00992" name="l00992"></a><span class="lineno"> 992</span> <span class="comment">// Reserve memory</span></div>
<div class="line"><a id="l00993" name="l00993"></a><span class="lineno"> 993</span> uint8_t *copy = malloc(length);</div>
<div class="line"><a id="l00994" name="l00994"></a><span class="lineno"> 994</span> <span class="keywordflow">if</span>(copy == NULL)</div>
<div class="line"><a id="l00995" name="l00995"></a><span class="lineno"> 995</span> {</div>
<div class="line"><a id="l00996" name="l00996"></a><span class="lineno"> 996</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Could not allocate memory for media serial number&quot;</span>);</div>
<div class="line"><a id="l00997" name="l00997"></a><span class="lineno"> 997</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a35a771e3648bf971a004d4b2be9b5ec4">AARUF_ERROR_NOT_ENOUGH_MEMORY</a>;</div>
<div class="line"><a id="l00998" name="l00998"></a><span class="lineno"> 998</span> }</div>
<div class="line"><a id="l00999" name="l00999"></a><span class="lineno"> 999</span> </div>
<div class="line"><a id="l01000" name="l01000"></a><span class="lineno"> 1000</span> <span class="comment">// Copy opaque UTF-16LE string</span></div>
<div class="line"><a id="l01001" name="l01001"></a><span class="lineno"> 1001</span> memcpy(copy, data, length);</div>
<div class="line"><a id="l01002" name="l01002"></a><span class="lineno"> 1002</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a33b54e4325c94ad69d97f9cf5bdae68f">media_serial_number</a> != NULL) free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a33b54e4325c94ad69d97f9cf5bdae68f">media_serial_number</a>);</div>
<div class="line"><a id="l01003" name="l01003"></a><span class="lineno"> 1003</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a33b54e4325c94ad69d97f9cf5bdae68f">media_serial_number</a> = copy;</div>
<div class="line"><a id="l01004" name="l01004"></a><span class="lineno"> 1004</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> = length;</div>
<div class="line"><a id="l01005" name="l01005"></a><span class="lineno"> 1005</span> </div>
<div class="line"><a id="l01006" name="l01006"></a><span class="lineno"> 1006</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_serial_number(%p, %p, %d) = AARUF_STATUS_OK&quot;</span>, context, data, length);</div>
<div class="line"><a id="l01007" name="l01007"></a><span class="lineno"> 1007</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="l01008" name="l01008"></a><span class="lineno"> 1008</span>}</div>
</div>
<div class="line"><a id="l01009" name="l01009"></a><span class="lineno"> 1009</span></div>
<div class="foldopen" id="foldopen01078" data-start="{" data-end="}">
<div class="line"><a id="l01078" name="l01078"></a><span class="lineno"><a class="line" href="decls_8h.html#a4499e33d2fd3f8b514e510180972ec6f"> 1078</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="metadata__write_8c.html#a0e5be9ff6d87218a8f5b451a27e1b39b">aaruf_set_media_barcode</a>(<span class="keywordtype">void</span> *context, <span class="keyword">const</span> uint8_t *data, <span class="keyword">const</span> int32_t length)</div>
<div class="line"><a id="l01079" name="l01079"></a><span class="lineno"> 1079</span>{</div>
<div class="line"><a id="l01080" name="l01080"></a><span class="lineno"> 1080</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_set_media_barcode(%p, %p, %d)&quot;</span>, context, data, length);</div>
<div class="line"><a id="l01081" name="l01081"></a><span class="lineno"> 1081</span> </div>
<div class="line"><a id="l01082" name="l01082"></a><span class="lineno"> 1082</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l01083" name="l01083"></a><span class="lineno"> 1083</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l01084" name="l01084"></a><span class="lineno"> 1084</span> {</div>
<div class="line"><a id="l01085" name="l01085"></a><span class="lineno"> 1085</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="l01086" name="l01086"></a><span class="lineno"> 1086</span> </div>
<div class="line"><a id="l01087" name="l01087"></a><span class="lineno"> 1087</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_barcode() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l01088" name="l01088"></a><span class="lineno"> 1088</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="l01089" name="l01089"></a><span class="lineno"> 1089</span> }</div>
<div class="line"><a id="l01090" name="l01090"></a><span class="lineno"> 1090</span> </div>
<div class="line"><a id="l01091" name="l01091"></a><span class="lineno"> 1091</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l01092" name="l01092"></a><span class="lineno"> 1092</span> </div>
<div class="line"><a id="l01093" name="l01093"></a><span class="lineno"> 1093</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l01094" name="l01094"></a><span class="lineno"> 1094</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="l01095" name="l01095"></a><span class="lineno"> 1095</span> {</div>
<div class="line"><a id="l01096" name="l01096"></a><span class="lineno"> 1096</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="l01097" name="l01097"></a><span class="lineno"> 1097</span> </div>
<div class="line"><a id="l01098" name="l01098"></a><span class="lineno"> 1098</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_barcode() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l01099" name="l01099"></a><span class="lineno"> 1099</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="l01100" name="l01100"></a><span class="lineno"> 1100</span> }</div>
<div class="line"><a id="l01101" name="l01101"></a><span class="lineno"> 1101</span> </div>
<div class="line"><a id="l01102" name="l01102"></a><span class="lineno"> 1102</span> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l01103" name="l01103"></a><span class="lineno"> 1103</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l01104" name="l01104"></a><span class="lineno"> 1104</span> {</div>
<div class="line"><a id="l01105" name="l01105"></a><span class="lineno"> 1105</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l01106" name="l01106"></a><span class="lineno"> 1106</span> </div>
<div class="line"><a id="l01107" name="l01107"></a><span class="lineno"> 1107</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_barcode() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l01108" name="l01108"></a><span class="lineno"> 1108</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l01109" name="l01109"></a><span class="lineno"> 1109</span> }</div>
<div class="line"><a id="l01110" name="l01110"></a><span class="lineno"> 1110</span> </div>
<div class="line"><a id="l01111" name="l01111"></a><span class="lineno"> 1111</span> <span class="comment">// Initialize</span></div>
<div class="line"><a id="l01112" name="l01112"></a><span class="lineno"> 1112</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</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#a16f0be711a2a0ddb48a0f092716e93dc">identifier</a> = <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>;</div>
<div class="line"><a id="l01113" name="l01113"></a><span class="lineno"> 1113</span> </div>
<div class="line"><a id="l01114" name="l01114"></a><span class="lineno"> 1114</span> <span class="comment">// Reserve memory</span></div>
<div class="line"><a id="l01115" name="l01115"></a><span class="lineno"> 1115</span> uint8_t *copy = malloc(length);</div>
<div class="line"><a id="l01116" name="l01116"></a><span class="lineno"> 1116</span> <span class="keywordflow">if</span>(copy == NULL)</div>
<div class="line"><a id="l01117" name="l01117"></a><span class="lineno"> 1117</span> {</div>
<div class="line"><a id="l01118" name="l01118"></a><span class="lineno"> 1118</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Could not allocate memory for media barcode&quot;</span>);</div>
<div class="line"><a id="l01119" name="l01119"></a><span class="lineno"> 1119</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a35a771e3648bf971a004d4b2be9b5ec4">AARUF_ERROR_NOT_ENOUGH_MEMORY</a>;</div>
<div class="line"><a id="l01120" name="l01120"></a><span class="lineno"> 1120</span> }</div>
<div class="line"><a id="l01121" name="l01121"></a><span class="lineno"> 1121</span> </div>
<div class="line"><a id="l01122" name="l01122"></a><span class="lineno"> 1122</span> <span class="comment">// Copy opaque UTF-16LE string</span></div>
<div class="line"><a id="l01123" name="l01123"></a><span class="lineno"> 1123</span> memcpy(copy, data, length);</div>
<div class="line"><a id="l01124" name="l01124"></a><span class="lineno"> 1124</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a04aa232b37b939d9e815c4addc68a7a3">media_barcode</a> != NULL) free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a04aa232b37b939d9e815c4addc68a7a3">media_barcode</a>);</div>
<div class="line"><a id="l01125" name="l01125"></a><span class="lineno"> 1125</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a04aa232b37b939d9e815c4addc68a7a3">media_barcode</a> = copy;</div>
<div class="line"><a id="l01126" name="l01126"></a><span class="lineno"> 1126</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> = length;</div>
<div class="line"><a id="l01127" name="l01127"></a><span class="lineno"> 1127</span> </div>
<div class="line"><a id="l01128" name="l01128"></a><span class="lineno"> 1128</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_barcode(%p, %p, %d) = AARUF_STATUS_OK&quot;</span>, context, data, length);</div>
<div class="line"><a id="l01129" name="l01129"></a><span class="lineno"> 1129</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="l01130" name="l01130"></a><span class="lineno"> 1130</span>}</div>
</div>
<div class="line"><a id="l01131" name="l01131"></a><span class="lineno"> 1131</span></div>
<div class="foldopen" id="foldopen01199" data-start="{" data-end="}">
<div class="line"><a id="l01199" name="l01199"></a><span class="lineno"><a class="line" href="decls_8h.html#a05157a196fb583605599414d7ab06f53"> 1199</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="metadata__write_8c.html#ac7c87ae51a242428ceb6d2b0a75e0b70">aaruf_set_media_part_number</a>(<span class="keywordtype">void</span> *context, <span class="keyword">const</span> uint8_t *data, <span class="keyword">const</span> int32_t length)</div>
<div class="line"><a id="l01200" name="l01200"></a><span class="lineno"> 1200</span>{</div>
<div class="line"><a id="l01201" name="l01201"></a><span class="lineno"> 1201</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_set_media_part_number(%p, %p, %d)&quot;</span>, context, data, length);</div>
<div class="line"><a id="l01202" name="l01202"></a><span class="lineno"> 1202</span> </div>
<div class="line"><a id="l01203" name="l01203"></a><span class="lineno"> 1203</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l01204" name="l01204"></a><span class="lineno"> 1204</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l01205" name="l01205"></a><span class="lineno"> 1205</span> {</div>
<div class="line"><a id="l01206" name="l01206"></a><span class="lineno"> 1206</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="l01207" name="l01207"></a><span class="lineno"> 1207</span> </div>
<div class="line"><a id="l01208" name="l01208"></a><span class="lineno"> 1208</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_part_number() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l01209" name="l01209"></a><span class="lineno"> 1209</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="l01210" name="l01210"></a><span class="lineno"> 1210</span> }</div>
<div class="line"><a id="l01211" name="l01211"></a><span class="lineno"> 1211</span> </div>
<div class="line"><a id="l01212" name="l01212"></a><span class="lineno"> 1212</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l01213" name="l01213"></a><span class="lineno"> 1213</span> </div>
<div class="line"><a id="l01214" name="l01214"></a><span class="lineno"> 1214</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l01215" name="l01215"></a><span class="lineno"> 1215</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="l01216" name="l01216"></a><span class="lineno"> 1216</span> {</div>
<div class="line"><a id="l01217" name="l01217"></a><span class="lineno"> 1217</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="l01218" name="l01218"></a><span class="lineno"> 1218</span> </div>
<div class="line"><a id="l01219" name="l01219"></a><span class="lineno"> 1219</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_part_number() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l01220" name="l01220"></a><span class="lineno"> 1220</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="l01221" name="l01221"></a><span class="lineno"> 1221</span> }</div>
<div class="line"><a id="l01222" name="l01222"></a><span class="lineno"> 1222</span> </div>
<div class="line"><a id="l01223" name="l01223"></a><span class="lineno"> 1223</span> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l01224" name="l01224"></a><span class="lineno"> 1224</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l01225" name="l01225"></a><span class="lineno"> 1225</span> {</div>
<div class="line"><a id="l01226" name="l01226"></a><span class="lineno"> 1226</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l01227" name="l01227"></a><span class="lineno"> 1227</span> </div>
<div class="line"><a id="l01228" name="l01228"></a><span class="lineno"> 1228</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_part_number() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l01229" name="l01229"></a><span class="lineno"> 1229</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l01230" name="l01230"></a><span class="lineno"> 1230</span> }</div>
<div class="line"><a id="l01231" name="l01231"></a><span class="lineno"> 1231</span> </div>
<div class="line"><a id="l01232" name="l01232"></a><span class="lineno"> 1232</span> <span class="comment">// Initialize</span></div>
<div class="line"><a id="l01233" name="l01233"></a><span class="lineno"> 1233</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</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#a16f0be711a2a0ddb48a0f092716e93dc">identifier</a> = <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>;</div>
<div class="line"><a id="l01234" name="l01234"></a><span class="lineno"> 1234</span> </div>
<div class="line"><a id="l01235" name="l01235"></a><span class="lineno"> 1235</span> <span class="comment">// Reserve memory</span></div>
<div class="line"><a id="l01236" name="l01236"></a><span class="lineno"> 1236</span> uint8_t *copy = malloc(length);</div>
<div class="line"><a id="l01237" name="l01237"></a><span class="lineno"> 1237</span> <span class="keywordflow">if</span>(copy == NULL)</div>
<div class="line"><a id="l01238" name="l01238"></a><span class="lineno"> 1238</span> {</div>
<div class="line"><a id="l01239" name="l01239"></a><span class="lineno"> 1239</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Could not allocate memory for creator&quot;</span>);</div>
<div class="line"><a id="l01240" name="l01240"></a><span class="lineno"> 1240</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a35a771e3648bf971a004d4b2be9b5ec4">AARUF_ERROR_NOT_ENOUGH_MEMORY</a>;</div>
<div class="line"><a id="l01241" name="l01241"></a><span class="lineno"> 1241</span> }</div>
<div class="line"><a id="l01242" name="l01242"></a><span class="lineno"> 1242</span> </div>
<div class="line"><a id="l01243" name="l01243"></a><span class="lineno"> 1243</span> <span class="comment">// Copy opaque UTF-16LE string</span></div>
<div class="line"><a id="l01244" name="l01244"></a><span class="lineno"> 1244</span> memcpy(copy, data, length);</div>
<div class="line"><a id="l01245" name="l01245"></a><span class="lineno"> 1245</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aa3d0670124a4fbe88c485c2b67d1ddbc">media_part_number</a> != NULL) free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aa3d0670124a4fbe88c485c2b67d1ddbc">media_part_number</a>);</div>
<div class="line"><a id="l01246" name="l01246"></a><span class="lineno"> 1246</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aa3d0670124a4fbe88c485c2b67d1ddbc">media_part_number</a> = copy;</div>
<div class="line"><a id="l01247" name="l01247"></a><span class="lineno"> 1247</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> = length;</div>
<div class="line"><a id="l01248" name="l01248"></a><span class="lineno"> 1248</span> </div>
<div class="line"><a id="l01249" name="l01249"></a><span class="lineno"> 1249</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_media_part_number(%p, %p, %d) = AARUF_STATUS_OK&quot;</span>, context, data, length);</div>
<div class="line"><a id="l01250" name="l01250"></a><span class="lineno"> 1250</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="l01251" name="l01251"></a><span class="lineno"> 1251</span>}</div>
</div>
<div class="line"><a id="l01252" name="l01252"></a><span class="lineno"> 1252</span></div>
<div class="foldopen" id="foldopen01314" data-start="{" data-end="}">
<div class="line"><a id="l01314" name="l01314"></a><span class="lineno"><a class="line" href="decls_8h.html#a3acb21067897f9cfc40e6288050a60c1"> 1314</a></span><a class="code hl_define" href="decls_8h.html#a9001412c35f3c92d3a9320d27b0d97f9">AARU_EXPORT</a> int32_t <a class="code hl_define" href="decls_8h.html#a018e0da1c1f7e4f6187a982c0e40e056">AARU_CALL</a> <a class="code hl_function" href="metadata__write_8c.html#a223856fa226b26c466997800183c97c4">aaruf_set_drive_manufacturer</a>(<span class="keywordtype">void</span> *context, <span class="keyword">const</span> uint8_t *data, <span class="keyword">const</span> int32_t length)</div>
<div class="line"><a id="l01315" name="l01315"></a><span class="lineno"> 1315</span>{</div>
<div class="line"><a id="l01316" name="l01316"></a><span class="lineno"> 1316</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_set_drive_manufacturer(%p, %p, %d)&quot;</span>, context, data, length);</div>
<div class="line"><a id="l01317" name="l01317"></a><span class="lineno"> 1317</span> </div>
<div class="line"><a id="l01318" name="l01318"></a><span class="lineno"> 1318</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l01319" name="l01319"></a><span class="lineno"> 1319</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l01320" name="l01320"></a><span class="lineno"> 1320</span> {</div>
<div class="line"><a id="l01321" name="l01321"></a><span class="lineno"> 1321</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Invalid context&quot;</span>);</div>
<div class="line"><a id="l01322" name="l01322"></a><span class="lineno"> 1322</span> </div>
<div class="line"><a id="l01323" name="l01323"></a><span class="lineno"> 1323</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_drive_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l01324" name="l01324"></a><span class="lineno"> 1324</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="l01325" name="l01325"></a><span class="lineno"> 1325</span> }</div>
<div class="line"><a id="l01326" name="l01326"></a><span class="lineno"> 1326</span> </div>
<div class="line"><a id="l01327" name="l01327"></a><span class="lineno"> 1327</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l01328" name="l01328"></a><span class="lineno"> 1328</span> </div>
<div class="line"><a id="l01329" name="l01329"></a><span class="lineno"> 1329</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l01330" name="l01330"></a><span class="lineno"> 1330</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="l01331" name="l01331"></a><span class="lineno"> 1331</span> {</div>
<div class="line"><a id="l01332" name="l01332"></a><span class="lineno"> 1332</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Invalid context&quot;</span>);</div>
<div class="line"><a id="l01333" name="l01333"></a><span class="lineno"> 1333</span> </div>
<div class="line"><a id="l01334" name="l01334"></a><span class="lineno"> 1334</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_drive_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l01335" name="l01335"></a><span class="lineno"> 1335</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="l01336" name="l01336"></a><span class="lineno"> 1336</span> }</div>
<div class="line"><a id="l01337" name="l01337"></a><span class="lineno"> 1337</span> </div>
<div class="line"><a id="l01338" name="l01338"></a><span class="lineno"> 1338</span> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l01339" name="l01339"></a><span class="lineno"> 1339</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l01340" name="l01340"></a><span class="lineno"> 1340</span> {</div>
<div class="line"><a id="l01341" name="l01341"></a><span class="lineno"> 1341</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l01342" name="l01342"></a><span class="lineno"> 1342</span> </div>
<div class="line"><a id="l01343" name="l01343"></a><span class="lineno"> 1343</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_drive_manufacturer() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l01344" name="l01344"></a><span class="lineno"> 1344</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l01345" name="l01345"></a><span class="lineno"> 1345</span> }</div>
<div class="line"><a id="l01346" name="l01346"></a><span class="lineno"> 1346</span> </div>
<div class="line"><a id="l01347" name="l01347"></a><span class="lineno"> 1347</span> <span class="comment">// Initialize</span></div>
<div class="line"><a id="l01348" name="l01348"></a><span class="lineno"> 1348</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</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#a16f0be711a2a0ddb48a0f092716e93dc">identifier</a> = <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>;</div>
<div class="line"><a id="l01349" name="l01349"></a><span class="lineno"> 1349</span> </div>
<div class="line"><a id="l01350" name="l01350"></a><span class="lineno"> 1350</span> <span class="comment">// Reserve memory</span></div>
<div class="line"><a id="l01351" name="l01351"></a><span class="lineno"> 1351</span> uint8_t *copy = malloc(length);</div>
<div class="line"><a id="l01352" name="l01352"></a><span class="lineno"> 1352</span> <span class="keywordflow">if</span>(copy == NULL)</div>
<div class="line"><a id="l01353" name="l01353"></a><span class="lineno"> 1353</span> {</div>
<div class="line"><a id="l01354" name="l01354"></a><span class="lineno"> 1354</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Could not allocate memory for drive manufacturer&quot;</span>);</div>
<div class="line"><a id="l01355" name="l01355"></a><span class="lineno"> 1355</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a35a771e3648bf971a004d4b2be9b5ec4">AARUF_ERROR_NOT_ENOUGH_MEMORY</a>;</div>
<div class="line"><a id="l01356" name="l01356"></a><span class="lineno"> 1356</span> }</div>
<div class="line"><a id="l01357" name="l01357"></a><span class="lineno"> 1357</span> </div>
<div class="line"><a id="l01358" name="l01358"></a><span class="lineno"> 1358</span> <span class="comment">// Copy opaque UTF-16LE string</span></div>
<div class="line"><a id="l01359" name="l01359"></a><span class="lineno"> 1359</span> memcpy(copy, data, length);</div>
<div class="line"><a id="l01360" name="l01360"></a><span class="lineno"> 1360</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a614d6f01d563ea57650ce0bbfecfa08d">drive_manufacturer</a> != NULL) free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a614d6f01d563ea57650ce0bbfecfa08d">drive_manufacturer</a>);</div>
<div class="line"><a id="l01361" name="l01361"></a><span class="lineno"> 1361</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a614d6f01d563ea57650ce0bbfecfa08d">drive_manufacturer</a> = copy;</div>
<div class="line"><a id="l01362" name="l01362"></a><span class="lineno"> 1362</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> = length;</div>
<div class="line"><a id="l01363" name="l01363"></a><span class="lineno"> 1363</span> </div>
<div class="line"><a id="l01364" name="l01364"></a><span class="lineno"> 1364</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_drive_manufacturer(%p, %p, %d) = AARUF_STATUS_OK&quot;</span>, context, data, length);</div>
<div class="line"><a id="l01365" name="l01365"></a><span class="lineno"> 1365</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="l01366" name="l01366"></a><span class="lineno"> 1366</span>}</div>
</div>
<div class="line"><a id="l01367" name="l01367"></a><span class="lineno"> 1367</span></div>
<div class="foldopen" id="foldopen01436" data-start="{" data-end="}">
<div class="line"><a id="l01436" name="l01436"></a><span class="lineno"><a class="line" href="decls_8h.html#a1b4d35ee16a27a13f1bc16b0a17d65d1"> 1436</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="metadata__write_8c.html#a29b6c38ce4b3420368ecb84007d8738d">aaruf_set_drive_model</a>(<span class="keywordtype">void</span> *context, <span class="keyword">const</span> uint8_t *data, <span class="keyword">const</span> int32_t length)</div>
<div class="line"><a id="l01437" name="l01437"></a><span class="lineno"> 1437</span>{</div>
<div class="line"><a id="l01438" name="l01438"></a><span class="lineno"> 1438</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_set_drive_model(%p, %p, %d)&quot;</span>, context, data, length);</div>
<div class="line"><a id="l01439" name="l01439"></a><span class="lineno"> 1439</span> </div>
<div class="line"><a id="l01440" name="l01440"></a><span class="lineno"> 1440</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l01441" name="l01441"></a><span class="lineno"> 1441</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l01442" name="l01442"></a><span class="lineno"> 1442</span> {</div>
<div class="line"><a id="l01443" name="l01443"></a><span class="lineno"> 1443</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="l01444" name="l01444"></a><span class="lineno"> 1444</span> </div>
<div class="line"><a id="l01445" name="l01445"></a><span class="lineno"> 1445</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_drive_model() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l01446" name="l01446"></a><span class="lineno"> 1446</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="l01447" name="l01447"></a><span class="lineno"> 1447</span> }</div>
<div class="line"><a id="l01448" name="l01448"></a><span class="lineno"> 1448</span> </div>
<div class="line"><a id="l01449" name="l01449"></a><span class="lineno"> 1449</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l01450" name="l01450"></a><span class="lineno"> 1450</span> </div>
<div class="line"><a id="l01451" name="l01451"></a><span class="lineno"> 1451</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l01452" name="l01452"></a><span class="lineno"> 1452</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="l01453" name="l01453"></a><span class="lineno"> 1453</span> {</div>
<div class="line"><a id="l01454" name="l01454"></a><span class="lineno"> 1454</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="l01455" name="l01455"></a><span class="lineno"> 1455</span> </div>
<div class="line"><a id="l01456" name="l01456"></a><span class="lineno"> 1456</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_drive_model() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l01457" name="l01457"></a><span class="lineno"> 1457</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="l01458" name="l01458"></a><span class="lineno"> 1458</span> }</div>
<div class="line"><a id="l01459" name="l01459"></a><span class="lineno"> 1459</span> </div>
<div class="line"><a id="l01460" name="l01460"></a><span class="lineno"> 1460</span> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l01461" name="l01461"></a><span class="lineno"> 1461</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l01462" name="l01462"></a><span class="lineno"> 1462</span> {</div>
<div class="line"><a id="l01463" name="l01463"></a><span class="lineno"> 1463</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l01464" name="l01464"></a><span class="lineno"> 1464</span> </div>
<div class="line"><a id="l01465" name="l01465"></a><span class="lineno"> 1465</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_drive_model() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l01466" name="l01466"></a><span class="lineno"> 1466</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l01467" name="l01467"></a><span class="lineno"> 1467</span> }</div>
<div class="line"><a id="l01468" name="l01468"></a><span class="lineno"> 1468</span> </div>
<div class="line"><a id="l01469" name="l01469"></a><span class="lineno"> 1469</span> <span class="comment">// Initialize</span></div>
<div class="line"><a id="l01470" name="l01470"></a><span class="lineno"> 1470</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</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#a16f0be711a2a0ddb48a0f092716e93dc">identifier</a> = <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>;</div>
<div class="line"><a id="l01471" name="l01471"></a><span class="lineno"> 1471</span> </div>
<div class="line"><a id="l01472" name="l01472"></a><span class="lineno"> 1472</span> <span class="comment">// Reserve memory</span></div>
<div class="line"><a id="l01473" name="l01473"></a><span class="lineno"> 1473</span> uint8_t *copy = malloc(length);</div>
<div class="line"><a id="l01474" name="l01474"></a><span class="lineno"> 1474</span> <span class="keywordflow">if</span>(copy == NULL)</div>
<div class="line"><a id="l01475" name="l01475"></a><span class="lineno"> 1475</span> {</div>
<div class="line"><a id="l01476" name="l01476"></a><span class="lineno"> 1476</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Could not allocate memory for media model&quot;</span>);</div>
<div class="line"><a id="l01477" name="l01477"></a><span class="lineno"> 1477</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a35a771e3648bf971a004d4b2be9b5ec4">AARUF_ERROR_NOT_ENOUGH_MEMORY</a>;</div>
<div class="line"><a id="l01478" name="l01478"></a><span class="lineno"> 1478</span> }</div>
<div class="line"><a id="l01479" name="l01479"></a><span class="lineno"> 1479</span> </div>
<div class="line"><a id="l01480" name="l01480"></a><span class="lineno"> 1480</span> <span class="comment">// Copy opaque UTF-16LE string</span></div>
<div class="line"><a id="l01481" name="l01481"></a><span class="lineno"> 1481</span> memcpy(copy, data, length);</div>
<div class="line"><a id="l01482" name="l01482"></a><span class="lineno"> 1482</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a77d9c8c852de1d955bceb4cfc50557ce">drive_model</a> != NULL) free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a77d9c8c852de1d955bceb4cfc50557ce">drive_model</a>);</div>
<div class="line"><a id="l01483" name="l01483"></a><span class="lineno"> 1483</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a77d9c8c852de1d955bceb4cfc50557ce">drive_model</a> = copy;</div>
<div class="line"><a id="l01484" name="l01484"></a><span class="lineno"> 1484</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> = length;</div>
<div class="line"><a id="l01485" name="l01485"></a><span class="lineno"> 1485</span> </div>
<div class="line"><a id="l01486" name="l01486"></a><span class="lineno"> 1486</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_drive_model(%p, %p, %d) = AARUF_STATUS_OK&quot;</span>, context, data, length);</div>
<div class="line"><a id="l01487" name="l01487"></a><span class="lineno"> 1487</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="l01488" name="l01488"></a><span class="lineno"> 1488</span>}</div>
</div>
<div class="line"><a id="l01489" name="l01489"></a><span class="lineno"> 1489</span></div>
<div class="foldopen" id="foldopen01560" data-start="{" data-end="}">
<div class="line"><a id="l01560" name="l01560"></a><span class="lineno"><a class="line" href="decls_8h.html#aef269305958754978beedf4c44618d98"> 1560</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="metadata__write_8c.html#ae6b0a57476896bb90ee7bb8472e1078f">aaruf_set_drive_serial_number</a>(<span class="keywordtype">void</span> *context, <span class="keyword">const</span> uint8_t *data, <span class="keyword">const</span> int32_t length)</div>
<div class="line"><a id="l01561" name="l01561"></a><span class="lineno"> 1561</span>{</div>
<div class="line"><a id="l01562" name="l01562"></a><span class="lineno"> 1562</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_set_drive_serial_number(%p, %p, %d)&quot;</span>, context, data, length);</div>
<div class="line"><a id="l01563" name="l01563"></a><span class="lineno"> 1563</span> </div>
<div class="line"><a id="l01564" name="l01564"></a><span class="lineno"> 1564</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l01565" name="l01565"></a><span class="lineno"> 1565</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l01566" name="l01566"></a><span class="lineno"> 1566</span> {</div>
<div class="line"><a id="l01567" name="l01567"></a><span class="lineno"> 1567</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="l01568" name="l01568"></a><span class="lineno"> 1568</span> </div>
<div class="line"><a id="l01569" name="l01569"></a><span class="lineno"> 1569</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_drive_serial_number() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l01570" name="l01570"></a><span class="lineno"> 1570</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="l01571" name="l01571"></a><span class="lineno"> 1571</span> }</div>
<div class="line"><a id="l01572" name="l01572"></a><span class="lineno"> 1572</span> </div>
<div class="line"><a id="l01573" name="l01573"></a><span class="lineno"> 1573</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l01574" name="l01574"></a><span class="lineno"> 1574</span> </div>
<div class="line"><a id="l01575" name="l01575"></a><span class="lineno"> 1575</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l01576" name="l01576"></a><span class="lineno"> 1576</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="l01577" name="l01577"></a><span class="lineno"> 1577</span> {</div>
<div class="line"><a id="l01578" name="l01578"></a><span class="lineno"> 1578</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="l01579" name="l01579"></a><span class="lineno"> 1579</span> </div>
<div class="line"><a id="l01580" name="l01580"></a><span class="lineno"> 1580</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_drive_serial_number() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l01581" name="l01581"></a><span class="lineno"> 1581</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="l01582" name="l01582"></a><span class="lineno"> 1582</span> }</div>
<div class="line"><a id="l01583" name="l01583"></a><span class="lineno"> 1583</span> </div>
<div class="line"><a id="l01584" name="l01584"></a><span class="lineno"> 1584</span> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l01585" name="l01585"></a><span class="lineno"> 1585</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l01586" name="l01586"></a><span class="lineno"> 1586</span> {</div>
<div class="line"><a id="l01587" name="l01587"></a><span class="lineno"> 1587</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l01588" name="l01588"></a><span class="lineno"> 1588</span> </div>
<div class="line"><a id="l01589" name="l01589"></a><span class="lineno"> 1589</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_drive_serial_number() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l01590" name="l01590"></a><span class="lineno"> 1590</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l01591" name="l01591"></a><span class="lineno"> 1591</span> }</div>
<div class="line"><a id="l01592" name="l01592"></a><span class="lineno"> 1592</span> </div>
<div class="line"><a id="l01593" name="l01593"></a><span class="lineno"> 1593</span> <span class="comment">// Initialize</span></div>
<div class="line"><a id="l01594" name="l01594"></a><span class="lineno"> 1594</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</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#a16f0be711a2a0ddb48a0f092716e93dc">identifier</a> = <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>;</div>
<div class="line"><a id="l01595" name="l01595"></a><span class="lineno"> 1595</span> </div>
<div class="line"><a id="l01596" name="l01596"></a><span class="lineno"> 1596</span> <span class="comment">// Reserve memory</span></div>
<div class="line"><a id="l01597" name="l01597"></a><span class="lineno"> 1597</span> uint8_t *copy = malloc(length);</div>
<div class="line"><a id="l01598" name="l01598"></a><span class="lineno"> 1598</span> <span class="keywordflow">if</span>(copy == NULL)</div>
<div class="line"><a id="l01599" name="l01599"></a><span class="lineno"> 1599</span> {</div>
<div class="line"><a id="l01600" name="l01600"></a><span class="lineno"> 1600</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Could not allocate memory for drive serial number&quot;</span>);</div>
<div class="line"><a id="l01601" name="l01601"></a><span class="lineno"> 1601</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a35a771e3648bf971a004d4b2be9b5ec4">AARUF_ERROR_NOT_ENOUGH_MEMORY</a>;</div>
<div class="line"><a id="l01602" name="l01602"></a><span class="lineno"> 1602</span> }</div>
<div class="line"><a id="l01603" name="l01603"></a><span class="lineno"> 1603</span> </div>
<div class="line"><a id="l01604" name="l01604"></a><span class="lineno"> 1604</span> <span class="comment">// Copy opaque UTF-16LE string</span></div>
<div class="line"><a id="l01605" name="l01605"></a><span class="lineno"> 1605</span> memcpy(copy, data, length);</div>
<div class="line"><a id="l01606" name="l01606"></a><span class="lineno"> 1606</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a505f32de424a033246348d9fa35f9b19">drive_serial_number</a> != NULL) free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a505f32de424a033246348d9fa35f9b19">drive_serial_number</a>);</div>
<div class="line"><a id="l01607" name="l01607"></a><span class="lineno"> 1607</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a505f32de424a033246348d9fa35f9b19">drive_serial_number</a> = copy;</div>
<div class="line"><a id="l01608" name="l01608"></a><span class="lineno"> 1608</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> = length;</div>
<div class="line"><a id="l01609" name="l01609"></a><span class="lineno"> 1609</span> </div>
<div class="line"><a id="l01610" name="l01610"></a><span class="lineno"> 1610</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_drive_serial_number(%p, %p, %d) = AARUF_STATUS_OK&quot;</span>, context, data, length);</div>
<div class="line"><a id="l01611" name="l01611"></a><span class="lineno"> 1611</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="l01612" name="l01612"></a><span class="lineno"> 1612</span>}</div>
</div>
<div class="line"><a id="l01613" name="l01613"></a><span class="lineno"> 1613</span></div>
<div class="foldopen" id="foldopen01695" data-start="{" data-end="}">
<div class="line"><a id="l01695" name="l01695"></a><span class="lineno"><a class="line" href="decls_8h.html#add7cede9e5544ae12ae2b22eaf48e54c"> 1695</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="metadata__write_8c.html#adaa13a82dfc90987efd6c9a366904dc4">aaruf_set_drive_firmware_revision</a>(<span class="keywordtype">void</span> *context, <span class="keyword">const</span> uint8_t *data,</div>
<div class="line"><a id="l01696" name="l01696"></a><span class="lineno"> 1696</span> <span class="keyword">const</span> int32_t length)</div>
<div class="line"><a id="l01697" name="l01697"></a><span class="lineno"> 1697</span>{</div>
<div class="line"><a id="l01698" name="l01698"></a><span class="lineno"> 1698</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_set_drive_firmware_revision(%p, %p, %d)&quot;</span>, context, data, length);</div>
<div class="line"><a id="l01699" name="l01699"></a><span class="lineno"> 1699</span> </div>
<div class="line"><a id="l01700" name="l01700"></a><span class="lineno"> 1700</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l01701" name="l01701"></a><span class="lineno"> 1701</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l01702" name="l01702"></a><span class="lineno"> 1702</span> {</div>
<div class="line"><a id="l01703" name="l01703"></a><span class="lineno"> 1703</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="l01704" name="l01704"></a><span class="lineno"> 1704</span> </div>
<div class="line"><a id="l01705" name="l01705"></a><span class="lineno"> 1705</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_drive_firmware_revision() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l01706" name="l01706"></a><span class="lineno"> 1706</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="l01707" name="l01707"></a><span class="lineno"> 1707</span> }</div>
<div class="line"><a id="l01708" name="l01708"></a><span class="lineno"> 1708</span> </div>
<div class="line"><a id="l01709" name="l01709"></a><span class="lineno"> 1709</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l01710" name="l01710"></a><span class="lineno"> 1710</span> </div>
<div class="line"><a id="l01711" name="l01711"></a><span class="lineno"> 1711</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l01712" name="l01712"></a><span class="lineno"> 1712</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="l01713" name="l01713"></a><span class="lineno"> 1713</span> {</div>
<div class="line"><a id="l01714" name="l01714"></a><span class="lineno"> 1714</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="l01715" name="l01715"></a><span class="lineno"> 1715</span> </div>
<div class="line"><a id="l01716" name="l01716"></a><span class="lineno"> 1716</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_drive_firmware_revision() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l01717" name="l01717"></a><span class="lineno"> 1717</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="l01718" name="l01718"></a><span class="lineno"> 1718</span> }</div>
<div class="line"><a id="l01719" name="l01719"></a><span class="lineno"> 1719</span> </div>
<div class="line"><a id="l01720" name="l01720"></a><span class="lineno"> 1720</span> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l01721" name="l01721"></a><span class="lineno"> 1721</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l01722" name="l01722"></a><span class="lineno"> 1722</span> {</div>
<div class="line"><a id="l01723" name="l01723"></a><span class="lineno"> 1723</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l01724" name="l01724"></a><span class="lineno"> 1724</span> </div>
<div class="line"><a id="l01725" name="l01725"></a><span class="lineno"> 1725</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_drive_firmware_revision() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l01726" name="l01726"></a><span class="lineno"> 1726</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l01727" name="l01727"></a><span class="lineno"> 1727</span> }</div>
<div class="line"><a id="l01728" name="l01728"></a><span class="lineno"> 1728</span> </div>
<div class="line"><a id="l01729" name="l01729"></a><span class="lineno"> 1729</span> <span class="comment">// Initialize</span></div>
<div class="line"><a id="l01730" name="l01730"></a><span class="lineno"> 1730</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</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#a16f0be711a2a0ddb48a0f092716e93dc">identifier</a> = <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>;</div>
<div class="line"><a id="l01731" name="l01731"></a><span class="lineno"> 1731</span> </div>
<div class="line"><a id="l01732" name="l01732"></a><span class="lineno"> 1732</span> <span class="comment">// Reserve memory</span></div>
<div class="line"><a id="l01733" name="l01733"></a><span class="lineno"> 1733</span> uint8_t *copy = malloc(length);</div>
<div class="line"><a id="l01734" name="l01734"></a><span class="lineno"> 1734</span> <span class="keywordflow">if</span>(copy == NULL)</div>
<div class="line"><a id="l01735" name="l01735"></a><span class="lineno"> 1735</span> {</div>
<div class="line"><a id="l01736" name="l01736"></a><span class="lineno"> 1736</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Could not allocate memory for creator&quot;</span>);</div>
<div class="line"><a id="l01737" name="l01737"></a><span class="lineno"> 1737</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a35a771e3648bf971a004d4b2be9b5ec4">AARUF_ERROR_NOT_ENOUGH_MEMORY</a>;</div>
<div class="line"><a id="l01738" name="l01738"></a><span class="lineno"> 1738</span> }</div>
<div class="line"><a id="l01739" name="l01739"></a><span class="lineno"> 1739</span> </div>
<div class="line"><a id="l01740" name="l01740"></a><span class="lineno"> 1740</span> <span class="comment">// Copy opaque UTF-16LE string</span></div>
<div class="line"><a id="l01741" name="l01741"></a><span class="lineno"> 1741</span> memcpy(copy, data, length);</div>
<div class="line"><a id="l01742" name="l01742"></a><span class="lineno"> 1742</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a329dda508cb897dc7871d2d1c0434792">drive_firmware_revision</a> != NULL) free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a329dda508cb897dc7871d2d1c0434792">drive_firmware_revision</a>);</div>
<div class="line"><a id="l01743" name="l01743"></a><span class="lineno"> 1743</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a329dda508cb897dc7871d2d1c0434792">drive_firmware_revision</a> = copy;</div>
<div class="line"><a id="l01744" name="l01744"></a><span class="lineno"> 1744</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> = length;</div>
<div class="line"><a id="l01745" name="l01745"></a><span class="lineno"> 1745</span> </div>
<div class="line"><a id="l01746" name="l01746"></a><span class="lineno"> 1746</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_drive_firmware_revision(%p, %p, %d) = AARUF_STATUS_OK&quot;</span>, context, data, length);</div>
<div class="line"><a id="l01747" name="l01747"></a><span class="lineno"> 1747</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="l01748" name="l01748"></a><span class="lineno"> 1748</span>}</div>
</div>
<div class="line"><a id="l01749" name="l01749"></a><span class="lineno"> 1749</span></div>
<div class="foldopen" id="foldopen01858" data-start="{" data-end="}">
<div class="line"><a id="l01858" name="l01858"></a><span class="lineno"><a class="line" href="decls_8h.html#a8090a039e00ee003569939332d21094e"> 1858</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="metadata__write_8c.html#a8090a039e00ee003569939332d21094e">aaruf_set_aaru_json_metadata</a>(<span class="keywordtype">void</span> *context, uint8_t *data, <span class="keywordtype">size_t</span> length)</div>
<div class="line"><a id="l01859" name="l01859"></a><span class="lineno"> 1859</span>{</div>
<div class="line"><a id="l01860" name="l01860"></a><span class="lineno"> 1860</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_set_aaru_json_metadata(%p, %p, %d)&quot;</span>, context, data, length);</div>
<div class="line"><a id="l01861" name="l01861"></a><span class="lineno"> 1861</span> </div>
<div class="line"><a id="l01862" name="l01862"></a><span class="lineno"> 1862</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l01863" name="l01863"></a><span class="lineno"> 1863</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l01864" name="l01864"></a><span class="lineno"> 1864</span> {</div>
<div class="line"><a id="l01865" name="l01865"></a><span class="lineno"> 1865</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="l01866" name="l01866"></a><span class="lineno"> 1866</span> </div>
<div class="line"><a id="l01867" name="l01867"></a><span class="lineno"> 1867</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_aaru_json_metadata() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l01868" name="l01868"></a><span class="lineno"> 1868</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="l01869" name="l01869"></a><span class="lineno"> 1869</span> }</div>
<div class="line"><a id="l01870" name="l01870"></a><span class="lineno"> 1870</span> </div>
<div class="line"><a id="l01871" name="l01871"></a><span class="lineno"> 1871</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l01872" name="l01872"></a><span class="lineno"> 1872</span> </div>
<div class="line"><a id="l01873" name="l01873"></a><span class="lineno"> 1873</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l01874" name="l01874"></a><span class="lineno"> 1874</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="l01875" name="l01875"></a><span class="lineno"> 1875</span> {</div>
<div class="line"><a id="l01876" name="l01876"></a><span class="lineno"> 1876</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="l01877" name="l01877"></a><span class="lineno"> 1877</span> </div>
<div class="line"><a id="l01878" name="l01878"></a><span class="lineno"> 1878</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_aaru_json_metadata() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l01879" name="l01879"></a><span class="lineno"> 1879</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="l01880" name="l01880"></a><span class="lineno"> 1880</span> }</div>
<div class="line"><a id="l01881" name="l01881"></a><span class="lineno"> 1881</span> </div>
<div class="line"><a id="l01882" name="l01882"></a><span class="lineno"> 1882</span> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l01883" name="l01883"></a><span class="lineno"> 1883</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l01884" name="l01884"></a><span class="lineno"> 1884</span> {</div>
<div class="line"><a id="l01885" name="l01885"></a><span class="lineno"> 1885</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l01886" name="l01886"></a><span class="lineno"> 1886</span> </div>
<div class="line"><a id="l01887" name="l01887"></a><span class="lineno"> 1887</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_aaru_json_metadata() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l01888" name="l01888"></a><span class="lineno"> 1888</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l01889" name="l01889"></a><span class="lineno"> 1889</span> }</div>
<div class="line"><a id="l01890" name="l01890"></a><span class="lineno"> 1890</span> </div>
<div class="line"><a id="l01891" name="l01891"></a><span class="lineno"> 1891</span> <span class="comment">// Reserve memory</span></div>
<div class="line"><a id="l01892" name="l01892"></a><span class="lineno"> 1892</span> uint8_t *copy = malloc(length);</div>
<div class="line"><a id="l01893" name="l01893"></a><span class="lineno"> 1893</span> <span class="keywordflow">if</span>(copy == NULL)</div>
<div class="line"><a id="l01894" name="l01894"></a><span class="lineno"> 1894</span> {</div>
<div class="line"><a id="l01895" name="l01895"></a><span class="lineno"> 1895</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Could not allocate memory for Aaru metadata JSON&quot;</span>);</div>
<div class="line"><a id="l01896" name="l01896"></a><span class="lineno"> 1896</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a35a771e3648bf971a004d4b2be9b5ec4">AARUF_ERROR_NOT_ENOUGH_MEMORY</a>;</div>
<div class="line"><a id="l01897" name="l01897"></a><span class="lineno"> 1897</span> }</div>
<div class="line"><a id="l01898" name="l01898"></a><span class="lineno"> 1898</span> </div>
<div class="line"><a id="l01899" name="l01899"></a><span class="lineno"> 1899</span> <span class="comment">// Copy opaque UTF-8 string</span></div>
<div class="line"><a id="l01900" name="l01900"></a><span class="lineno"> 1900</span> memcpy(copy, data, length);</div>
<div class="line"><a id="l01901" name="l01901"></a><span class="lineno"> 1901</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a9e7ebc6897142938452338bc5a882dd8">json_block</a> != NULL) free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a9e7ebc6897142938452338bc5a882dd8">json_block</a>);</div>
<div class="line"><a id="l01902" name="l01902"></a><span class="lineno"> 1902</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a9e7ebc6897142938452338bc5a882dd8">json_block</a> = copy;</div>
<div class="line"><a id="l01903" name="l01903"></a><span class="lineno"> 1903</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="l01904" name="l01904"></a><span class="lineno"> 1904</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#aa9e35df2ccc7294a24187fff4bb559a9">length</a> = (uint32_t)length;</div>
<div class="line"><a id="l01905" name="l01905"></a><span class="lineno"> 1905</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f3db4b3d6f4351edae1353b0815795e">dirty_json_block</a> = <span class="keyword">true</span>; <span class="comment">// Mark JSON block as dirty</span></div>
<div class="line"><a id="l01906" name="l01906"></a><span class="lineno"> 1906</span> </div>
<div class="line"><a id="l01907" name="l01907"></a><span class="lineno"> 1907</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_set_aaru_json_metadata(%p, %p, %d) = AARUF_STATUS_OK&quot;</span>, context, data, length);</div>
<div class="line"><a id="l01908" name="l01908"></a><span class="lineno"> 1908</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="l01909" name="l01909"></a><span class="lineno"> 1909</span>}</div>
</div>
<div class="line"><a id="l01910" name="l01910"></a><span class="lineno"> 1910</span></div>
<div class="foldopen" id="foldopen01978" data-start="{" data-end="}">
<div class="line"><a id="l01978" name="l01978"></a><span class="lineno"><a class="line" href="decls_8h.html#a02699c3490df86f9919ac8f22f303d9e"> 1978</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="metadata__write_8c.html#a02699c3490df86f9919ac8f22f303d9e">aaruf_clear_media_sequence</a>(<span class="keywordtype">void</span> *context)</div>
<div class="line"><a id="l01979" name="l01979"></a><span class="lineno"> 1979</span>{</div>
<div class="line"><a id="l01980" name="l01980"></a><span class="lineno"> 1980</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_clear_media_sequence(%p)&quot;</span>, context);</div>
<div class="line"><a id="l01981" name="l01981"></a><span class="lineno"> 1981</span> </div>
<div class="line"><a id="l01982" name="l01982"></a><span class="lineno"> 1982</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l01983" name="l01983"></a><span class="lineno"> 1983</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l01984" name="l01984"></a><span class="lineno"> 1984</span> {</div>
<div class="line"><a id="l01985" name="l01985"></a><span class="lineno"> 1985</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="l01986" name="l01986"></a><span class="lineno"> 1986</span> </div>
<div class="line"><a id="l01987" name="l01987"></a><span class="lineno"> 1987</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_sequence() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l01988" name="l01988"></a><span class="lineno"> 1988</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="l01989" name="l01989"></a><span class="lineno"> 1989</span> }</div>
<div class="line"><a id="l01990" name="l01990"></a><span class="lineno"> 1990</span> </div>
<div class="line"><a id="l01991" name="l01991"></a><span class="lineno"> 1991</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l01992" name="l01992"></a><span class="lineno"> 1992</span> </div>
<div class="line"><a id="l01993" name="l01993"></a><span class="lineno"> 1993</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l01994" name="l01994"></a><span class="lineno"> 1994</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="l01995" name="l01995"></a><span class="lineno"> 1995</span> {</div>
<div class="line"><a id="l01996" name="l01996"></a><span class="lineno"> 1996</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="l01997" name="l01997"></a><span class="lineno"> 1997</span> </div>
<div class="line"><a id="l01998" name="l01998"></a><span class="lineno"> 1998</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_sequence() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l01999" name="l01999"></a><span class="lineno"> 1999</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="l02000" name="l02000"></a><span class="lineno"> 2000</span> }</div>
<div class="line"><a id="l02001" name="l02001"></a><span class="lineno"> 2001</span> </div>
<div class="line"><a id="l02002" name="l02002"></a><span class="lineno"> 2002</span> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l02003" name="l02003"></a><span class="lineno"> 2003</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l02004" name="l02004"></a><span class="lineno"> 2004</span> {</div>
<div class="line"><a id="l02005" name="l02005"></a><span class="lineno"> 2005</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l02006" name="l02006"></a><span class="lineno"> 2006</span> </div>
<div class="line"><a id="l02007" name="l02007"></a><span class="lineno"> 2007</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_sequence() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l02008" name="l02008"></a><span class="lineno"> 2008</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l02009" name="l02009"></a><span class="lineno"> 2009</span> }</div>
<div class="line"><a id="l02010" name="l02010"></a><span class="lineno"> 2010</span> </div>
<div class="line"><a id="l02011" name="l02011"></a><span class="lineno"> 2011</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>)</div>
<div class="line"><a id="l02012" name="l02012"></a><span class="lineno"> 2012</span> {</div>
<div class="line"><a id="l02013" name="l02013"></a><span class="lineno"> 2013</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_sequence() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l02014" name="l02014"></a><span class="lineno"> 2014</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="l02015" name="l02015"></a><span class="lineno"> 2015</span> }</div>
<div class="line"><a id="l02016" name="l02016"></a><span class="lineno"> 2016</span> </div>
<div class="line"><a id="l02017" name="l02017"></a><span class="lineno"> 2017</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> = 0;</div>
<div class="line"><a id="l02018" name="l02018"></a><span class="lineno"> 2018</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#aacd243f7f5a78c6087b797328197f522">lastMediaSequence</a> = 0;</div>
<div class="line"><a id="l02019" name="l02019"></a><span class="lineno"> 2019</span> </div>
<div class="line"><a id="l02020" name="l02020"></a><span class="lineno"> 2020</span> <span class="comment">// Check if all metadata is clear</span></div>
<div class="line"><a id="l02021" name="l02021"></a><span class="lineno"> 2021</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> == 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#a0bbbf0b6d7b48ebdc07d4a5e1138044f">commentsLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02022" name="l02022"></a><span class="lineno"> 2022</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> == 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#a7f2956f787d72b6981a22c050c0889cf">mediaManufacturerLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02023" name="l02023"></a><span class="lineno"> 2023</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> == 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#aeae9bce28abec33ffa90005f2a247e34">mediaSerialNumberLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02024" name="l02024"></a><span class="lineno"> 2024</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> == 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#aef055916275048b6496f1f74eef2f1ac">mediaPartNumberLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02025" name="l02025"></a><span class="lineno"> 2025</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> == 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#a380656568f47a838a8a3833844789064">driveManufacturerLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02026" name="l02026"></a><span class="lineno"> 2026</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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02027" name="l02027"></a><span class="lineno"> 2027</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> == 0)</div>
<div class="line"><a id="l02028" name="l02028"></a><span class="lineno"> 2028</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> = 0;</div>
<div class="line"><a id="l02029" name="l02029"></a><span class="lineno"> 2029</span> </div>
<div class="line"><a id="l02030" name="l02030"></a><span class="lineno"> 2030</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_sequence() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l02031" name="l02031"></a><span class="lineno"> 2031</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="l02032" name="l02032"></a><span class="lineno"> 2032</span>}</div>
</div>
<div class="line"><a id="l02033" name="l02033"></a><span class="lineno"> 2033</span></div>
<div class="foldopen" id="foldopen02109" data-start="{" data-end="}">
<div class="line"><a id="l02109" name="l02109"></a><span class="lineno"><a class="line" href="decls_8h.html#ac20c45113b5e1917fc550d1fb8342ba2"> 2109</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="metadata__write_8c.html#ac20c45113b5e1917fc550d1fb8342ba2">aaruf_clear_creator</a>(<span class="keywordtype">void</span> *context)</div>
<div class="line"><a id="l02110" name="l02110"></a><span class="lineno"> 2110</span>{</div>
<div class="line"><a id="l02111" name="l02111"></a><span class="lineno"> 2111</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_clear_creator(%p)&quot;</span>, context);</div>
<div class="line"><a id="l02112" name="l02112"></a><span class="lineno"> 2112</span> </div>
<div class="line"><a id="l02113" name="l02113"></a><span class="lineno"> 2113</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l02114" name="l02114"></a><span class="lineno"> 2114</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l02115" name="l02115"></a><span class="lineno"> 2115</span> {</div>
<div class="line"><a id="l02116" name="l02116"></a><span class="lineno"> 2116</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="l02117" name="l02117"></a><span class="lineno"> 2117</span> </div>
<div class="line"><a id="l02118" name="l02118"></a><span class="lineno"> 2118</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_creator() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l02119" name="l02119"></a><span class="lineno"> 2119</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="l02120" name="l02120"></a><span class="lineno"> 2120</span> }</div>
<div class="line"><a id="l02121" name="l02121"></a><span class="lineno"> 2121</span> </div>
<div class="line"><a id="l02122" name="l02122"></a><span class="lineno"> 2122</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l02123" name="l02123"></a><span class="lineno"> 2123</span> </div>
<div class="line"><a id="l02124" name="l02124"></a><span class="lineno"> 2124</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l02125" name="l02125"></a><span class="lineno"> 2125</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="l02126" name="l02126"></a><span class="lineno"> 2126</span> {</div>
<div class="line"><a id="l02127" name="l02127"></a><span class="lineno"> 2127</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="l02128" name="l02128"></a><span class="lineno"> 2128</span> </div>
<div class="line"><a id="l02129" name="l02129"></a><span class="lineno"> 2129</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_creator() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l02130" name="l02130"></a><span class="lineno"> 2130</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="l02131" name="l02131"></a><span class="lineno"> 2131</span> }</div>
<div class="line"><a id="l02132" name="l02132"></a><span class="lineno"> 2132</span> </div>
<div class="line"><a id="l02133" name="l02133"></a><span class="lineno"> 2133</span> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l02134" name="l02134"></a><span class="lineno"> 2134</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l02135" name="l02135"></a><span class="lineno"> 2135</span> {</div>
<div class="line"><a id="l02136" name="l02136"></a><span class="lineno"> 2136</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l02137" name="l02137"></a><span class="lineno"> 2137</span> </div>
<div class="line"><a id="l02138" name="l02138"></a><span class="lineno"> 2138</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_creator() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l02139" name="l02139"></a><span class="lineno"> 2139</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l02140" name="l02140"></a><span class="lineno"> 2140</span> }</div>
<div class="line"><a id="l02141" name="l02141"></a><span class="lineno"> 2141</span> </div>
<div class="line"><a id="l02142" name="l02142"></a><span class="lineno"> 2142</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>)</div>
<div class="line"><a id="l02143" name="l02143"></a><span class="lineno"> 2143</span> {</div>
<div class="line"><a id="l02144" name="l02144"></a><span class="lineno"> 2144</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_creator() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l02145" name="l02145"></a><span class="lineno"> 2145</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="l02146" name="l02146"></a><span class="lineno"> 2146</span> }</div>
<div class="line"><a id="l02147" name="l02147"></a><span class="lineno"> 2147</span> </div>
<div class="line"><a id="l02148" name="l02148"></a><span class="lineno"> 2148</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a0c15ef634690890bf80719046faa0230">creator</a> != NULL) free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a0c15ef634690890bf80719046faa0230">creator</a>);</div>
<div class="line"><a id="l02149" name="l02149"></a><span class="lineno"> 2149</span> </div>
<div class="line"><a id="l02150" name="l02150"></a><span class="lineno"> 2150</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a0c15ef634690890bf80719046faa0230">creator</a> = NULL;</div>
<div class="line"><a id="l02151" name="l02151"></a><span class="lineno"> 2151</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> = 0;</div>
<div class="line"><a id="l02152" name="l02152"></a><span class="lineno"> 2152</span> </div>
<div class="line"><a id="l02153" name="l02153"></a><span class="lineno"> 2153</span> <span class="comment">// Check if all metadata is clear</span></div>
<div class="line"><a id="l02154" name="l02154"></a><span class="lineno"> 2154</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> == 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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02155" name="l02155"></a><span class="lineno"> 2155</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> == 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#a68deb35b7b070dcc18c790289192741c">mediaTitleLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02156" name="l02156"></a><span class="lineno"> 2156</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> == 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#a9438f57b0304b42912b8c66e5a0f1051">mediaModelLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02157" name="l02157"></a><span class="lineno"> 2157</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> == 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#aef456689422a0514489b1c900ee2c741">mediaBarcodeLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02158" name="l02158"></a><span class="lineno"> 2158</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> == 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#a3757158a1386964537beb387b5bc03d2">driveModelLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02159" name="l02159"></a><span class="lineno"> 2159</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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02160" name="l02160"></a><span class="lineno"> 2160</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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02161" name="l02161"></a><span class="lineno"> 2161</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> == 0)</div>
<div class="line"><a id="l02162" name="l02162"></a><span class="lineno"> 2162</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> = 0;</div>
<div class="line"><a id="l02163" name="l02163"></a><span class="lineno"> 2163</span> </div>
<div class="line"><a id="l02164" name="l02164"></a><span class="lineno"> 2164</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_creator() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l02165" name="l02165"></a><span class="lineno"> 2165</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="l02166" name="l02166"></a><span class="lineno"> 2166</span>}</div>
</div>
<div class="line"><a id="l02167" name="l02167"></a><span class="lineno"> 2167</span></div>
<div class="foldopen" id="foldopen02238" data-start="{" data-end="}">
<div class="line"><a id="l02238" name="l02238"></a><span class="lineno"><a class="line" href="decls_8h.html#a878605956a88a3371f4f6e490ee9e2b8"> 2238</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="metadata__write_8c.html#a878605956a88a3371f4f6e490ee9e2b8">aaruf_clear_comments</a>(<span class="keywordtype">void</span> *context)</div>
<div class="line"><a id="l02239" name="l02239"></a><span class="lineno"> 2239</span>{</div>
<div class="line"><a id="l02240" name="l02240"></a><span class="lineno"> 2240</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_clear_comments(%p)&quot;</span>, context);</div>
<div class="line"><a id="l02241" name="l02241"></a><span class="lineno"> 2241</span> </div>
<div class="line"><a id="l02242" name="l02242"></a><span class="lineno"> 2242</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l02243" name="l02243"></a><span class="lineno"> 2243</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l02244" name="l02244"></a><span class="lineno"> 2244</span> {</div>
<div class="line"><a id="l02245" name="l02245"></a><span class="lineno"> 2245</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="l02246" name="l02246"></a><span class="lineno"> 2246</span> </div>
<div class="line"><a id="l02247" name="l02247"></a><span class="lineno"> 2247</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_comments() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l02248" name="l02248"></a><span class="lineno"> 2248</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="l02249" name="l02249"></a><span class="lineno"> 2249</span> }</div>
<div class="line"><a id="l02250" name="l02250"></a><span class="lineno"> 2250</span> </div>
<div class="line"><a id="l02251" name="l02251"></a><span class="lineno"> 2251</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l02252" name="l02252"></a><span class="lineno"> 2252</span> </div>
<div class="line"><a id="l02253" name="l02253"></a><span class="lineno"> 2253</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l02254" name="l02254"></a><span class="lineno"> 2254</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="l02255" name="l02255"></a><span class="lineno"> 2255</span> {</div>
<div class="line"><a id="l02256" name="l02256"></a><span class="lineno"> 2256</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="l02257" name="l02257"></a><span class="lineno"> 2257</span> </div>
<div class="line"><a id="l02258" name="l02258"></a><span class="lineno"> 2258</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_comments() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l02259" name="l02259"></a><span class="lineno"> 2259</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="l02260" name="l02260"></a><span class="lineno"> 2260</span> }</div>
<div class="line"><a id="l02261" name="l02261"></a><span class="lineno"> 2261</span> </div>
<div class="line"><a id="l02262" name="l02262"></a><span class="lineno"> 2262</span> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l02263" name="l02263"></a><span class="lineno"> 2263</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l02264" name="l02264"></a><span class="lineno"> 2264</span> {</div>
<div class="line"><a id="l02265" name="l02265"></a><span class="lineno"> 2265</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l02266" name="l02266"></a><span class="lineno"> 2266</span> </div>
<div class="line"><a id="l02267" name="l02267"></a><span class="lineno"> 2267</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_comments() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l02268" name="l02268"></a><span class="lineno"> 2268</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l02269" name="l02269"></a><span class="lineno"> 2269</span> }</div>
<div class="line"><a id="l02270" name="l02270"></a><span class="lineno"> 2270</span> </div>
<div class="line"><a id="l02271" name="l02271"></a><span class="lineno"> 2271</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>)</div>
<div class="line"><a id="l02272" name="l02272"></a><span class="lineno"> 2272</span> {</div>
<div class="line"><a id="l02273" name="l02273"></a><span class="lineno"> 2273</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_comments() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l02274" name="l02274"></a><span class="lineno"> 2274</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="l02275" name="l02275"></a><span class="lineno"> 2275</span> }</div>
<div class="line"><a id="l02276" name="l02276"></a><span class="lineno"> 2276</span> </div>
<div class="line"><a id="l02277" name="l02277"></a><span class="lineno"> 2277</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab08395cd8ed98def2b5886c35fbad605">comments</a> != NULL) free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab08395cd8ed98def2b5886c35fbad605">comments</a>);</div>
<div class="line"><a id="l02278" name="l02278"></a><span class="lineno"> 2278</span> </div>
<div class="line"><a id="l02279" name="l02279"></a><span class="lineno"> 2279</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#ab08395cd8ed98def2b5886c35fbad605">comments</a> = NULL;</div>
<div class="line"><a id="l02280" name="l02280"></a><span class="lineno"> 2280</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> = 0;</div>
<div class="line"><a id="l02281" name="l02281"></a><span class="lineno"> 2281</span> </div>
<div class="line"><a id="l02282" name="l02282"></a><span class="lineno"> 2282</span> <span class="comment">// Check if all metadata is clear</span></div>
<div class="line"><a id="l02283" name="l02283"></a><span class="lineno"> 2283</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> == 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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02284" name="l02284"></a><span class="lineno"> 2284</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> == 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#a68deb35b7b070dcc18c790289192741c">mediaTitleLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02285" name="l02285"></a><span class="lineno"> 2285</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> == 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#a9438f57b0304b42912b8c66e5a0f1051">mediaModelLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02286" name="l02286"></a><span class="lineno"> 2286</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> == 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#aef456689422a0514489b1c900ee2c741">mediaBarcodeLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02287" name="l02287"></a><span class="lineno"> 2287</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> == 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#a3757158a1386964537beb387b5bc03d2">driveModelLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02288" name="l02288"></a><span class="lineno"> 2288</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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02289" name="l02289"></a><span class="lineno"> 2289</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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02290" name="l02290"></a><span class="lineno"> 2290</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> == 0)</div>
<div class="line"><a id="l02291" name="l02291"></a><span class="lineno"> 2291</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> = 0;</div>
<div class="line"><a id="l02292" name="l02292"></a><span class="lineno"> 2292</span> </div>
<div class="line"><a id="l02293" name="l02293"></a><span class="lineno"> 2293</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_comments() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l02294" name="l02294"></a><span class="lineno"> 2294</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="l02295" name="l02295"></a><span class="lineno"> 2295</span>}</div>
</div>
<div class="line"><a id="l02296" name="l02296"></a><span class="lineno"> 2296</span></div>
<div class="foldopen" id="foldopen02321" data-start="{" data-end="}">
<div class="line"><a id="l02321" name="l02321"></a><span class="lineno"><a class="line" href="decls_8h.html#a41bf934e213aad15df933590e6343c3e"> 2321</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="metadata__write_8c.html#a41bf934e213aad15df933590e6343c3e">aaruf_clear_media_title</a>(<span class="keywordtype">void</span> *context)</div>
<div class="line"><a id="l02322" name="l02322"></a><span class="lineno"> 2322</span>{</div>
<div class="line"><a id="l02323" name="l02323"></a><span class="lineno"> 2323</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_clear_media_title(%p)&quot;</span>, context);</div>
<div class="line"><a id="l02324" name="l02324"></a><span class="lineno"> 2324</span> </div>
<div class="line"><a id="l02325" name="l02325"></a><span class="lineno"> 2325</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l02326" name="l02326"></a><span class="lineno"> 2326</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l02327" name="l02327"></a><span class="lineno"> 2327</span> {</div>
<div class="line"><a id="l02328" name="l02328"></a><span class="lineno"> 2328</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="l02329" name="l02329"></a><span class="lineno"> 2329</span> </div>
<div class="line"><a id="l02330" name="l02330"></a><span class="lineno"> 2330</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_title() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l02331" name="l02331"></a><span class="lineno"> 2331</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="l02332" name="l02332"></a><span class="lineno"> 2332</span> }</div>
<div class="line"><a id="l02333" name="l02333"></a><span class="lineno"> 2333</span> </div>
<div class="line"><a id="l02334" name="l02334"></a><span class="lineno"> 2334</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l02335" name="l02335"></a><span class="lineno"> 2335</span> </div>
<div class="line"><a id="l02336" name="l02336"></a><span class="lineno"> 2336</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l02337" name="l02337"></a><span class="lineno"> 2337</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="l02338" name="l02338"></a><span class="lineno"> 2338</span> {</div>
<div class="line"><a id="l02339" name="l02339"></a><span class="lineno"> 2339</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="l02340" name="l02340"></a><span class="lineno"> 2340</span> </div>
<div class="line"><a id="l02341" name="l02341"></a><span class="lineno"> 2341</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_title() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l02342" name="l02342"></a><span class="lineno"> 2342</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="l02343" name="l02343"></a><span class="lineno"> 2343</span> }</div>
<div class="line"><a id="l02344" name="l02344"></a><span class="lineno"> 2344</span> </div>
<div class="line"><a id="l02345" name="l02345"></a><span class="lineno"> 2345</span> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l02346" name="l02346"></a><span class="lineno"> 2346</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l02347" name="l02347"></a><span class="lineno"> 2347</span> {</div>
<div class="line"><a id="l02348" name="l02348"></a><span class="lineno"> 2348</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l02349" name="l02349"></a><span class="lineno"> 2349</span> </div>
<div class="line"><a id="l02350" name="l02350"></a><span class="lineno"> 2350</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_title() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l02351" name="l02351"></a><span class="lineno"> 2351</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l02352" name="l02352"></a><span class="lineno"> 2352</span> }</div>
<div class="line"><a id="l02353" name="l02353"></a><span class="lineno"> 2353</span> </div>
<div class="line"><a id="l02354" name="l02354"></a><span class="lineno"> 2354</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>)</div>
<div class="line"><a id="l02355" name="l02355"></a><span class="lineno"> 2355</span> {</div>
<div class="line"><a id="l02356" name="l02356"></a><span class="lineno"> 2356</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_title() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l02357" name="l02357"></a><span class="lineno"> 2357</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="l02358" name="l02358"></a><span class="lineno"> 2358</span> }</div>
<div class="line"><a id="l02359" name="l02359"></a><span class="lineno"> 2359</span> </div>
<div class="line"><a id="l02360" name="l02360"></a><span class="lineno"> 2360</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aeb5bda76e0ea176598a04be97b7d5683">media_title</a> != NULL) free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aeb5bda76e0ea176598a04be97b7d5683">media_title</a>);</div>
<div class="line"><a id="l02361" name="l02361"></a><span class="lineno"> 2361</span> </div>
<div class="line"><a id="l02362" name="l02362"></a><span class="lineno"> 2362</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aeb5bda76e0ea176598a04be97b7d5683">media_title</a> = NULL;</div>
<div class="line"><a id="l02363" name="l02363"></a><span class="lineno"> 2363</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> = 0;</div>
<div class="line"><a id="l02364" name="l02364"></a><span class="lineno"> 2364</span> </div>
<div class="line"><a id="l02365" name="l02365"></a><span class="lineno"> 2365</span> <span class="comment">// Check if all metadata is clear</span></div>
<div class="line"><a id="l02366" name="l02366"></a><span class="lineno"> 2366</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> == 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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02367" name="l02367"></a><span class="lineno"> 2367</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> == 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#a0bbbf0b6d7b48ebdc07d4a5e1138044f">commentsLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02368" name="l02368"></a><span class="lineno"> 2368</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> == 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#a9438f57b0304b42912b8c66e5a0f1051">mediaModelLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02369" name="l02369"></a><span class="lineno"> 2369</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> == 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#aef456689422a0514489b1c900ee2c741">mediaBarcodeLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02370" name="l02370"></a><span class="lineno"> 2370</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> == 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#a3757158a1386964537beb387b5bc03d2">driveModelLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02371" name="l02371"></a><span class="lineno"> 2371</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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02372" name="l02372"></a><span class="lineno"> 2372</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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02373" name="l02373"></a><span class="lineno"> 2373</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> == 0)</div>
<div class="line"><a id="l02374" name="l02374"></a><span class="lineno"> 2374</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> = 0;</div>
<div class="line"><a id="l02375" name="l02375"></a><span class="lineno"> 2375</span> </div>
<div class="line"><a id="l02376" name="l02376"></a><span class="lineno"> 2376</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_title() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l02377" name="l02377"></a><span class="lineno"> 2377</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="l02378" name="l02378"></a><span class="lineno"> 2378</span>}</div>
</div>
<div class="line"><a id="l02379" name="l02379"></a><span class="lineno"> 2379</span></div>
<div class="foldopen" id="foldopen02405" data-start="{" data-end="}">
<div class="line"><a id="l02405" name="l02405"></a><span class="lineno"><a class="line" href="decls_8h.html#a42e1c4b1876e6b28c774aae4de3c1f4e"> 2405</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="metadata__write_8c.html#a42e1c4b1876e6b28c774aae4de3c1f4e">aaruf_clear_media_manufacturer</a>(<span class="keywordtype">void</span> *context)</div>
<div class="line"><a id="l02406" name="l02406"></a><span class="lineno"> 2406</span>{</div>
<div class="line"><a id="l02407" name="l02407"></a><span class="lineno"> 2407</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_clear_media_manufacturer(%p)&quot;</span>, context);</div>
<div class="line"><a id="l02408" name="l02408"></a><span class="lineno"> 2408</span> </div>
<div class="line"><a id="l02409" name="l02409"></a><span class="lineno"> 2409</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l02410" name="l02410"></a><span class="lineno"> 2410</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l02411" name="l02411"></a><span class="lineno"> 2411</span> {</div>
<div class="line"><a id="l02412" name="l02412"></a><span class="lineno"> 2412</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="l02413" name="l02413"></a><span class="lineno"> 2413</span> </div>
<div class="line"><a id="l02414" name="l02414"></a><span class="lineno"> 2414</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l02415" name="l02415"></a><span class="lineno"> 2415</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="l02416" name="l02416"></a><span class="lineno"> 2416</span> }</div>
<div class="line"><a id="l02417" name="l02417"></a><span class="lineno"> 2417</span> </div>
<div class="line"><a id="l02418" name="l02418"></a><span class="lineno"> 2418</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l02419" name="l02419"></a><span class="lineno"> 2419</span> </div>
<div class="line"><a id="l02420" name="l02420"></a><span class="lineno"> 2420</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l02421" name="l02421"></a><span class="lineno"> 2421</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="l02422" name="l02422"></a><span class="lineno"> 2422</span> {</div>
<div class="line"><a id="l02423" name="l02423"></a><span class="lineno"> 2423</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="l02424" name="l02424"></a><span class="lineno"> 2424</span> </div>
<div class="line"><a id="l02425" name="l02425"></a><span class="lineno"> 2425</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l02426" name="l02426"></a><span class="lineno"> 2426</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="l02427" name="l02427"></a><span class="lineno"> 2427</span> }</div>
<div class="line"><a id="l02428" name="l02428"></a><span class="lineno"> 2428</span> </div>
<div class="line"><a id="l02429" name="l02429"></a><span class="lineno"> 2429</span> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l02430" name="l02430"></a><span class="lineno"> 2430</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l02431" name="l02431"></a><span class="lineno"> 2431</span> {</div>
<div class="line"><a id="l02432" name="l02432"></a><span class="lineno"> 2432</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l02433" name="l02433"></a><span class="lineno"> 2433</span> </div>
<div class="line"><a id="l02434" name="l02434"></a><span class="lineno"> 2434</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_manufacturer() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l02435" name="l02435"></a><span class="lineno"> 2435</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l02436" name="l02436"></a><span class="lineno"> 2436</span> }</div>
<div class="line"><a id="l02437" name="l02437"></a><span class="lineno"> 2437</span> </div>
<div class="line"><a id="l02438" name="l02438"></a><span class="lineno"> 2438</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>)</div>
<div class="line"><a id="l02439" name="l02439"></a><span class="lineno"> 2439</span> {</div>
<div class="line"><a id="l02440" name="l02440"></a><span class="lineno"> 2440</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_manufacturer() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l02441" name="l02441"></a><span class="lineno"> 2441</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="l02442" name="l02442"></a><span class="lineno"> 2442</span> }</div>
<div class="line"><a id="l02443" name="l02443"></a><span class="lineno"> 2443</span> </div>
<div class="line"><a id="l02444" name="l02444"></a><span class="lineno"> 2444</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#afd13345e6ab5072d97d9b3bbe238ecea">media_manufacturer</a> != NULL) free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#afd13345e6ab5072d97d9b3bbe238ecea">media_manufacturer</a>);</div>
<div class="line"><a id="l02445" name="l02445"></a><span class="lineno"> 2445</span> </div>
<div class="line"><a id="l02446" name="l02446"></a><span class="lineno"> 2446</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#afd13345e6ab5072d97d9b3bbe238ecea">media_manufacturer</a> = NULL;</div>
<div class="line"><a id="l02447" name="l02447"></a><span class="lineno"> 2447</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> = 0;</div>
<div class="line"><a id="l02448" name="l02448"></a><span class="lineno"> 2448</span> </div>
<div class="line"><a id="l02449" name="l02449"></a><span class="lineno"> 2449</span> <span class="comment">// Check if all metadata is clear</span></div>
<div class="line"><a id="l02450" name="l02450"></a><span class="lineno"> 2450</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> == 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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02451" name="l02451"></a><span class="lineno"> 2451</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> == 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#a0bbbf0b6d7b48ebdc07d4a5e1138044f">commentsLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02452" name="l02452"></a><span class="lineno"> 2452</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> == 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#a9438f57b0304b42912b8c66e5a0f1051">mediaModelLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02453" name="l02453"></a><span class="lineno"> 2453</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> == 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#aef456689422a0514489b1c900ee2c741">mediaBarcodeLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02454" name="l02454"></a><span class="lineno"> 2454</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> == 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#a3757158a1386964537beb387b5bc03d2">driveModelLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02455" name="l02455"></a><span class="lineno"> 2455</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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02456" name="l02456"></a><span class="lineno"> 2456</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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02457" name="l02457"></a><span class="lineno"> 2457</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> == 0)</div>
<div class="line"><a id="l02458" name="l02458"></a><span class="lineno"> 2458</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> = 0;</div>
<div class="line"><a id="l02459" name="l02459"></a><span class="lineno"> 2459</span> </div>
<div class="line"><a id="l02460" name="l02460"></a><span class="lineno"> 2460</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_manufacturer() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l02461" name="l02461"></a><span class="lineno"> 2461</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="l02462" name="l02462"></a><span class="lineno"> 2462</span>}</div>
</div>
<div class="line"><a id="l02463" name="l02463"></a><span class="lineno"> 2463</span></div>
<div class="foldopen" id="foldopen02489" data-start="{" data-end="}">
<div class="line"><a id="l02489" name="l02489"></a><span class="lineno"><a class="line" href="decls_8h.html#a938d3346f5347dc152b679e6cf619d94"> 2489</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="metadata__write_8c.html#a938d3346f5347dc152b679e6cf619d94">aaruf_clear_media_model</a>(<span class="keywordtype">void</span> *context)</div>
<div class="line"><a id="l02490" name="l02490"></a><span class="lineno"> 2490</span>{</div>
<div class="line"><a id="l02491" name="l02491"></a><span class="lineno"> 2491</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_clear_media_model(%p)&quot;</span>, context);</div>
<div class="line"><a id="l02492" name="l02492"></a><span class="lineno"> 2492</span> </div>
<div class="line"><a id="l02493" name="l02493"></a><span class="lineno"> 2493</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l02494" name="l02494"></a><span class="lineno"> 2494</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l02495" name="l02495"></a><span class="lineno"> 2495</span> {</div>
<div class="line"><a id="l02496" name="l02496"></a><span class="lineno"> 2496</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="l02497" name="l02497"></a><span class="lineno"> 2497</span> </div>
<div class="line"><a id="l02498" name="l02498"></a><span class="lineno"> 2498</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_model() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l02499" name="l02499"></a><span class="lineno"> 2499</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="l02500" name="l02500"></a><span class="lineno"> 2500</span> }</div>
<div class="line"><a id="l02501" name="l02501"></a><span class="lineno"> 2501</span> </div>
<div class="line"><a id="l02502" name="l02502"></a><span class="lineno"> 2502</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l02503" name="l02503"></a><span class="lineno"> 2503</span> </div>
<div class="line"><a id="l02504" name="l02504"></a><span class="lineno"> 2504</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l02505" name="l02505"></a><span class="lineno"> 2505</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="l02506" name="l02506"></a><span class="lineno"> 2506</span> {</div>
<div class="line"><a id="l02507" name="l02507"></a><span class="lineno"> 2507</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="l02508" name="l02508"></a><span class="lineno"> 2508</span> </div>
<div class="line"><a id="l02509" name="l02509"></a><span class="lineno"> 2509</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_model() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l02510" name="l02510"></a><span class="lineno"> 2510</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="l02511" name="l02511"></a><span class="lineno"> 2511</span> }</div>
<div class="line"><a id="l02512" name="l02512"></a><span class="lineno"> 2512</span> </div>
<div class="line"><a id="l02513" name="l02513"></a><span class="lineno"> 2513</span> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l02514" name="l02514"></a><span class="lineno"> 2514</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l02515" name="l02515"></a><span class="lineno"> 2515</span> {</div>
<div class="line"><a id="l02516" name="l02516"></a><span class="lineno"> 2516</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l02517" name="l02517"></a><span class="lineno"> 2517</span> </div>
<div class="line"><a id="l02518" name="l02518"></a><span class="lineno"> 2518</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_model() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l02519" name="l02519"></a><span class="lineno"> 2519</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l02520" name="l02520"></a><span class="lineno"> 2520</span> }</div>
<div class="line"><a id="l02521" name="l02521"></a><span class="lineno"> 2521</span> </div>
<div class="line"><a id="l02522" name="l02522"></a><span class="lineno"> 2522</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>)</div>
<div class="line"><a id="l02523" name="l02523"></a><span class="lineno"> 2523</span> {</div>
<div class="line"><a id="l02524" name="l02524"></a><span class="lineno"> 2524</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_model() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l02525" name="l02525"></a><span class="lineno"> 2525</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="l02526" name="l02526"></a><span class="lineno"> 2526</span> }</div>
<div class="line"><a id="l02527" name="l02527"></a><span class="lineno"> 2527</span> </div>
<div class="line"><a id="l02528" name="l02528"></a><span class="lineno"> 2528</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a4ecbf4064d4ab0440e922e1c096b38dc">media_model</a> != NULL) free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a4ecbf4064d4ab0440e922e1c096b38dc">media_model</a>);</div>
<div class="line"><a id="l02529" name="l02529"></a><span class="lineno"> 2529</span> </div>
<div class="line"><a id="l02530" name="l02530"></a><span class="lineno"> 2530</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a4ecbf4064d4ab0440e922e1c096b38dc">media_model</a> = NULL;</div>
<div class="line"><a id="l02531" name="l02531"></a><span class="lineno"> 2531</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> = 0;</div>
<div class="line"><a id="l02532" name="l02532"></a><span class="lineno"> 2532</span> </div>
<div class="line"><a id="l02533" name="l02533"></a><span class="lineno"> 2533</span> <span class="comment">// Check if all metadata is clear</span></div>
<div class="line"><a id="l02534" name="l02534"></a><span class="lineno"> 2534</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> == 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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02535" name="l02535"></a><span class="lineno"> 2535</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> == 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#a0bbbf0b6d7b48ebdc07d4a5e1138044f">commentsLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02536" name="l02536"></a><span class="lineno"> 2536</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> == 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#a7f2956f787d72b6981a22c050c0889cf">mediaManufacturerLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02537" name="l02537"></a><span class="lineno"> 2537</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> == 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#aef456689422a0514489b1c900ee2c741">mediaBarcodeLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02538" name="l02538"></a><span class="lineno"> 2538</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> == 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#a3757158a1386964537beb387b5bc03d2">driveModelLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02539" name="l02539"></a><span class="lineno"> 2539</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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02540" name="l02540"></a><span class="lineno"> 2540</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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02541" name="l02541"></a><span class="lineno"> 2541</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> == 0)</div>
<div class="line"><a id="l02542" name="l02542"></a><span class="lineno"> 2542</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> = 0;</div>
<div class="line"><a id="l02543" name="l02543"></a><span class="lineno"> 2543</span> </div>
<div class="line"><a id="l02544" name="l02544"></a><span class="lineno"> 2544</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_model() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l02545" name="l02545"></a><span class="lineno"> 2545</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="l02546" name="l02546"></a><span class="lineno"> 2546</span>}</div>
</div>
<div class="line"><a id="l02547" name="l02547"></a><span class="lineno"> 2547</span></div>
<div class="foldopen" id="foldopen02575" data-start="{" data-end="}">
<div class="line"><a id="l02575" name="l02575"></a><span class="lineno"><a class="line" href="decls_8h.html#a21d65b63e9806deb6dd0eb9c0e69eaf0"> 2575</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="metadata__write_8c.html#a21d65b63e9806deb6dd0eb9c0e69eaf0">aaruf_clear_media_serial_number</a>(<span class="keywordtype">void</span> *context)</div>
<div class="line"><a id="l02576" name="l02576"></a><span class="lineno"> 2576</span>{</div>
<div class="line"><a id="l02577" name="l02577"></a><span class="lineno"> 2577</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_clear_media_serial_number(%p)&quot;</span>, context);</div>
<div class="line"><a id="l02578" name="l02578"></a><span class="lineno"> 2578</span> </div>
<div class="line"><a id="l02579" name="l02579"></a><span class="lineno"> 2579</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l02580" name="l02580"></a><span class="lineno"> 2580</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l02581" name="l02581"></a><span class="lineno"> 2581</span> {</div>
<div class="line"><a id="l02582" name="l02582"></a><span class="lineno"> 2582</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="l02583" name="l02583"></a><span class="lineno"> 2583</span> </div>
<div class="line"><a id="l02584" name="l02584"></a><span class="lineno"> 2584</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_serial_number() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l02585" name="l02585"></a><span class="lineno"> 2585</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="l02586" name="l02586"></a><span class="lineno"> 2586</span> }</div>
<div class="line"><a id="l02587" name="l02587"></a><span class="lineno"> 2587</span> </div>
<div class="line"><a id="l02588" name="l02588"></a><span class="lineno"> 2588</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l02589" name="l02589"></a><span class="lineno"> 2589</span> </div>
<div class="line"><a id="l02590" name="l02590"></a><span class="lineno"> 2590</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l02591" name="l02591"></a><span class="lineno"> 2591</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="l02592" name="l02592"></a><span class="lineno"> 2592</span> {</div>
<div class="line"><a id="l02593" name="l02593"></a><span class="lineno"> 2593</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="l02594" name="l02594"></a><span class="lineno"> 2594</span> </div>
<div class="line"><a id="l02595" name="l02595"></a><span class="lineno"> 2595</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_serial_number() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l02596" name="l02596"></a><span class="lineno"> 2596</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="l02597" name="l02597"></a><span class="lineno"> 2597</span> }</div>
<div class="line"><a id="l02598" name="l02598"></a><span class="lineno"> 2598</span> </div>
<div class="line"><a id="l02599" name="l02599"></a><span class="lineno"> 2599</span> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l02600" name="l02600"></a><span class="lineno"> 2600</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l02601" name="l02601"></a><span class="lineno"> 2601</span> {</div>
<div class="line"><a id="l02602" name="l02602"></a><span class="lineno"> 2602</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l02603" name="l02603"></a><span class="lineno"> 2603</span> </div>
<div class="line"><a id="l02604" name="l02604"></a><span class="lineno"> 2604</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_serial_number() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l02605" name="l02605"></a><span class="lineno"> 2605</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l02606" name="l02606"></a><span class="lineno"> 2606</span> }</div>
<div class="line"><a id="l02607" name="l02607"></a><span class="lineno"> 2607</span> </div>
<div class="line"><a id="l02608" name="l02608"></a><span class="lineno"> 2608</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>)</div>
<div class="line"><a id="l02609" name="l02609"></a><span class="lineno"> 2609</span> {</div>
<div class="line"><a id="l02610" name="l02610"></a><span class="lineno"> 2610</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_serial_number() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l02611" name="l02611"></a><span class="lineno"> 2611</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="l02612" name="l02612"></a><span class="lineno"> 2612</span> }</div>
<div class="line"><a id="l02613" name="l02613"></a><span class="lineno"> 2613</span> </div>
<div class="line"><a id="l02614" name="l02614"></a><span class="lineno"> 2614</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a33b54e4325c94ad69d97f9cf5bdae68f">media_serial_number</a> != NULL) free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a33b54e4325c94ad69d97f9cf5bdae68f">media_serial_number</a>);</div>
<div class="line"><a id="l02615" name="l02615"></a><span class="lineno"> 2615</span> </div>
<div class="line"><a id="l02616" name="l02616"></a><span class="lineno"> 2616</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a33b54e4325c94ad69d97f9cf5bdae68f">media_serial_number</a> = NULL;</div>
<div class="line"><a id="l02617" name="l02617"></a><span class="lineno"> 2617</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> = 0;</div>
<div class="line"><a id="l02618" name="l02618"></a><span class="lineno"> 2618</span> </div>
<div class="line"><a id="l02619" name="l02619"></a><span class="lineno"> 2619</span> <span class="comment">// Check if all metadata is clear</span></div>
<div class="line"><a id="l02620" name="l02620"></a><span class="lineno"> 2620</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> == 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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02621" name="l02621"></a><span class="lineno"> 2621</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> == 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#a0bbbf0b6d7b48ebdc07d4a5e1138044f">commentsLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02622" name="l02622"></a><span class="lineno"> 2622</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> == 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#a7f2956f787d72b6981a22c050c0889cf">mediaManufacturerLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02623" name="l02623"></a><span class="lineno"> 2623</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> == 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#aef456689422a0514489b1c900ee2c741">mediaBarcodeLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02624" name="l02624"></a><span class="lineno"> 2624</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> == 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#a3757158a1386964537beb387b5bc03d2">driveModelLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02625" name="l02625"></a><span class="lineno"> 2625</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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02626" name="l02626"></a><span class="lineno"> 2626</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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02627" name="l02627"></a><span class="lineno"> 2627</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> == 0)</div>
<div class="line"><a id="l02628" name="l02628"></a><span class="lineno"> 2628</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> = 0;</div>
<div class="line"><a id="l02629" name="l02629"></a><span class="lineno"> 2629</span> </div>
<div class="line"><a id="l02630" name="l02630"></a><span class="lineno"> 2630</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_serial_number() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l02631" name="l02631"></a><span class="lineno"> 2631</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="l02632" name="l02632"></a><span class="lineno"> 2632</span>}</div>
</div>
<div class="line"><a id="l02633" name="l02633"></a><span class="lineno"> 2633</span></div>
<div class="foldopen" id="foldopen02661" data-start="{" data-end="}">
<div class="line"><a id="l02661" name="l02661"></a><span class="lineno"><a class="line" href="decls_8h.html#a2b5ef51f1913c62139b90cae0f97a9a2"> 2661</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="metadata__write_8c.html#a2b5ef51f1913c62139b90cae0f97a9a2">aaruf_clear_media_barcode</a>(<span class="keywordtype">void</span> *context)</div>
<div class="line"><a id="l02662" name="l02662"></a><span class="lineno"> 2662</span>{</div>
<div class="line"><a id="l02663" name="l02663"></a><span class="lineno"> 2663</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_clear_media_barcode(%p)&quot;</span>, context);</div>
<div class="line"><a id="l02664" name="l02664"></a><span class="lineno"> 2664</span> </div>
<div class="line"><a id="l02665" name="l02665"></a><span class="lineno"> 2665</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l02666" name="l02666"></a><span class="lineno"> 2666</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l02667" name="l02667"></a><span class="lineno"> 2667</span> {</div>
<div class="line"><a id="l02668" name="l02668"></a><span class="lineno"> 2668</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="l02669" name="l02669"></a><span class="lineno"> 2669</span> </div>
<div class="line"><a id="l02670" name="l02670"></a><span class="lineno"> 2670</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_barcode() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l02671" name="l02671"></a><span class="lineno"> 2671</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="l02672" name="l02672"></a><span class="lineno"> 2672</span> }</div>
<div class="line"><a id="l02673" name="l02673"></a><span class="lineno"> 2673</span> </div>
<div class="line"><a id="l02674" name="l02674"></a><span class="lineno"> 2674</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l02675" name="l02675"></a><span class="lineno"> 2675</span> </div>
<div class="line"><a id="l02676" name="l02676"></a><span class="lineno"> 2676</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l02677" name="l02677"></a><span class="lineno"> 2677</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="l02678" name="l02678"></a><span class="lineno"> 2678</span> {</div>
<div class="line"><a id="l02679" name="l02679"></a><span class="lineno"> 2679</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="l02680" name="l02680"></a><span class="lineno"> 2680</span> </div>
<div class="line"><a id="l02681" name="l02681"></a><span class="lineno"> 2681</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_barcode() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l02682" name="l02682"></a><span class="lineno"> 2682</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="l02683" name="l02683"></a><span class="lineno"> 2683</span> }</div>
<div class="line"><a id="l02684" name="l02684"></a><span class="lineno"> 2684</span> </div>
<div class="line"><a id="l02685" name="l02685"></a><span class="lineno"> 2685</span> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l02686" name="l02686"></a><span class="lineno"> 2686</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l02687" name="l02687"></a><span class="lineno"> 2687</span> {</div>
<div class="line"><a id="l02688" name="l02688"></a><span class="lineno"> 2688</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l02689" name="l02689"></a><span class="lineno"> 2689</span> </div>
<div class="line"><a id="l02690" name="l02690"></a><span class="lineno"> 2690</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_barcode() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l02691" name="l02691"></a><span class="lineno"> 2691</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l02692" name="l02692"></a><span class="lineno"> 2692</span> }</div>
<div class="line"><a id="l02693" name="l02693"></a><span class="lineno"> 2693</span> </div>
<div class="line"><a id="l02694" name="l02694"></a><span class="lineno"> 2694</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>)</div>
<div class="line"><a id="l02695" name="l02695"></a><span class="lineno"> 2695</span> {</div>
<div class="line"><a id="l02696" name="l02696"></a><span class="lineno"> 2696</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_barcode() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l02697" name="l02697"></a><span class="lineno"> 2697</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="l02698" name="l02698"></a><span class="lineno"> 2698</span> }</div>
<div class="line"><a id="l02699" name="l02699"></a><span class="lineno"> 2699</span> </div>
<div class="line"><a id="l02700" name="l02700"></a><span class="lineno"> 2700</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a04aa232b37b939d9e815c4addc68a7a3">media_barcode</a> != NULL) free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a04aa232b37b939d9e815c4addc68a7a3">media_barcode</a>);</div>
<div class="line"><a id="l02701" name="l02701"></a><span class="lineno"> 2701</span> </div>
<div class="line"><a id="l02702" name="l02702"></a><span class="lineno"> 2702</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a04aa232b37b939d9e815c4addc68a7a3">media_barcode</a> = NULL;</div>
<div class="line"><a id="l02703" name="l02703"></a><span class="lineno"> 2703</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> = 0;</div>
<div class="line"><a id="l02704" name="l02704"></a><span class="lineno"> 2704</span> </div>
<div class="line"><a id="l02705" name="l02705"></a><span class="lineno"> 2705</span> <span class="comment">// Check if all metadata is clear</span></div>
<div class="line"><a id="l02706" name="l02706"></a><span class="lineno"> 2706</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> == 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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02707" name="l02707"></a><span class="lineno"> 2707</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> == 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#a0bbbf0b6d7b48ebdc07d4a5e1138044f">commentsLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02708" name="l02708"></a><span class="lineno"> 2708</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> == 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#a7f2956f787d72b6981a22c050c0889cf">mediaManufacturerLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02709" name="l02709"></a><span class="lineno"> 2709</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> == 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#aeae9bce28abec33ffa90005f2a247e34">mediaSerialNumberLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02710" name="l02710"></a><span class="lineno"> 2710</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> == 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#a3757158a1386964537beb387b5bc03d2">driveModelLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02711" name="l02711"></a><span class="lineno"> 2711</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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02712" name="l02712"></a><span class="lineno"> 2712</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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02713" name="l02713"></a><span class="lineno"> 2713</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> == 0)</div>
<div class="line"><a id="l02714" name="l02714"></a><span class="lineno"> 2714</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> = 0;</div>
<div class="line"><a id="l02715" name="l02715"></a><span class="lineno"> 2715</span> </div>
<div class="line"><a id="l02716" name="l02716"></a><span class="lineno"> 2716</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_barcode() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l02717" name="l02717"></a><span class="lineno"> 2717</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="l02718" name="l02718"></a><span class="lineno"> 2718</span>}</div>
</div>
<div class="line"><a id="l02719" name="l02719"></a><span class="lineno"> 2719</span></div>
<div class="foldopen" id="foldopen02747" data-start="{" data-end="}">
<div class="line"><a id="l02747" name="l02747"></a><span class="lineno"><a class="line" href="decls_8h.html#a8652ae4a4cdf400846621d7f497c8b60"> 2747</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="metadata__write_8c.html#a8652ae4a4cdf400846621d7f497c8b60">aaruf_clear_media_part_number</a>(<span class="keywordtype">void</span> *context)</div>
<div class="line"><a id="l02748" name="l02748"></a><span class="lineno"> 2748</span>{</div>
<div class="line"><a id="l02749" name="l02749"></a><span class="lineno"> 2749</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_clear_media_part_number(%p)&quot;</span>, context);</div>
<div class="line"><a id="l02750" name="l02750"></a><span class="lineno"> 2750</span> </div>
<div class="line"><a id="l02751" name="l02751"></a><span class="lineno"> 2751</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l02752" name="l02752"></a><span class="lineno"> 2752</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l02753" name="l02753"></a><span class="lineno"> 2753</span> {</div>
<div class="line"><a id="l02754" name="l02754"></a><span class="lineno"> 2754</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="l02755" name="l02755"></a><span class="lineno"> 2755</span> </div>
<div class="line"><a id="l02756" name="l02756"></a><span class="lineno"> 2756</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_part_number() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l02757" name="l02757"></a><span class="lineno"> 2757</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="l02758" name="l02758"></a><span class="lineno"> 2758</span> }</div>
<div class="line"><a id="l02759" name="l02759"></a><span class="lineno"> 2759</span> </div>
<div class="line"><a id="l02760" name="l02760"></a><span class="lineno"> 2760</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l02761" name="l02761"></a><span class="lineno"> 2761</span> </div>
<div class="line"><a id="l02762" name="l02762"></a><span class="lineno"> 2762</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l02763" name="l02763"></a><span class="lineno"> 2763</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="l02764" name="l02764"></a><span class="lineno"> 2764</span> {</div>
<div class="line"><a id="l02765" name="l02765"></a><span class="lineno"> 2765</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="l02766" name="l02766"></a><span class="lineno"> 2766</span> </div>
<div class="line"><a id="l02767" name="l02767"></a><span class="lineno"> 2767</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_part_number() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l02768" name="l02768"></a><span class="lineno"> 2768</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="l02769" name="l02769"></a><span class="lineno"> 2769</span> }</div>
<div class="line"><a id="l02770" name="l02770"></a><span class="lineno"> 2770</span> </div>
<div class="line"><a id="l02771" name="l02771"></a><span class="lineno"> 2771</span> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l02772" name="l02772"></a><span class="lineno"> 2772</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l02773" name="l02773"></a><span class="lineno"> 2773</span> {</div>
<div class="line"><a id="l02774" name="l02774"></a><span class="lineno"> 2774</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l02775" name="l02775"></a><span class="lineno"> 2775</span> </div>
<div class="line"><a id="l02776" name="l02776"></a><span class="lineno"> 2776</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_part_number() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l02777" name="l02777"></a><span class="lineno"> 2777</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l02778" name="l02778"></a><span class="lineno"> 2778</span> }</div>
<div class="line"><a id="l02779" name="l02779"></a><span class="lineno"> 2779</span> </div>
<div class="line"><a id="l02780" name="l02780"></a><span class="lineno"> 2780</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>)</div>
<div class="line"><a id="l02781" name="l02781"></a><span class="lineno"> 2781</span> {</div>
<div class="line"><a id="l02782" name="l02782"></a><span class="lineno"> 2782</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_part_number() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l02783" name="l02783"></a><span class="lineno"> 2783</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="l02784" name="l02784"></a><span class="lineno"> 2784</span> }</div>
<div class="line"><a id="l02785" name="l02785"></a><span class="lineno"> 2785</span> </div>
<div class="line"><a id="l02786" name="l02786"></a><span class="lineno"> 2786</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aa3d0670124a4fbe88c485c2b67d1ddbc">media_part_number</a> != NULL) free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aa3d0670124a4fbe88c485c2b67d1ddbc">media_part_number</a>);</div>
<div class="line"><a id="l02787" name="l02787"></a><span class="lineno"> 2787</span> </div>
<div class="line"><a id="l02788" name="l02788"></a><span class="lineno"> 2788</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#aa3d0670124a4fbe88c485c2b67d1ddbc">media_part_number</a> = NULL;</div>
<div class="line"><a id="l02789" name="l02789"></a><span class="lineno"> 2789</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> = 0;</div>
<div class="line"><a id="l02790" name="l02790"></a><span class="lineno"> 2790</span> </div>
<div class="line"><a id="l02791" name="l02791"></a><span class="lineno"> 2791</span> <span class="comment">// Check if all metadata is clear</span></div>
<div class="line"><a id="l02792" name="l02792"></a><span class="lineno"> 2792</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> == 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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02793" name="l02793"></a><span class="lineno"> 2793</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> == 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#a0bbbf0b6d7b48ebdc07d4a5e1138044f">commentsLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02794" name="l02794"></a><span class="lineno"> 2794</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> == 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#a7f2956f787d72b6981a22c050c0889cf">mediaManufacturerLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02795" name="l02795"></a><span class="lineno"> 2795</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> == 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#aeae9bce28abec33ffa90005f2a247e34">mediaSerialNumberLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02796" name="l02796"></a><span class="lineno"> 2796</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> == 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#a3757158a1386964537beb387b5bc03d2">driveModelLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02797" name="l02797"></a><span class="lineno"> 2797</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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02798" name="l02798"></a><span class="lineno"> 2798</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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02799" name="l02799"></a><span class="lineno"> 2799</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> == 0)</div>
<div class="line"><a id="l02800" name="l02800"></a><span class="lineno"> 2800</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> = 0;</div>
<div class="line"><a id="l02801" name="l02801"></a><span class="lineno"> 2801</span> </div>
<div class="line"><a id="l02802" name="l02802"></a><span class="lineno"> 2802</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_media_part_number() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l02803" name="l02803"></a><span class="lineno"> 2803</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="l02804" name="l02804"></a><span class="lineno"> 2804</span>}</div>
</div>
<div class="line"><a id="l02805" name="l02805"></a><span class="lineno"> 2805</span></div>
<div class="foldopen" id="foldopen02833" data-start="{" data-end="}">
<div class="line"><a id="l02833" name="l02833"></a><span class="lineno"><a class="line" href="decls_8h.html#a62dc66d1bbbfacd41706bf4d87d11264"> 2833</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="metadata__write_8c.html#a62dc66d1bbbfacd41706bf4d87d11264">aaruf_clear_drive_manufacturer</a>(<span class="keywordtype">void</span> *context)</div>
<div class="line"><a id="l02834" name="l02834"></a><span class="lineno"> 2834</span>{</div>
<div class="line"><a id="l02835" name="l02835"></a><span class="lineno"> 2835</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_clear_drive_manufacturer(%p)&quot;</span>, context);</div>
<div class="line"><a id="l02836" name="l02836"></a><span class="lineno"> 2836</span> </div>
<div class="line"><a id="l02837" name="l02837"></a><span class="lineno"> 2837</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l02838" name="l02838"></a><span class="lineno"> 2838</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l02839" name="l02839"></a><span class="lineno"> 2839</span> {</div>
<div class="line"><a id="l02840" name="l02840"></a><span class="lineno"> 2840</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="l02841" name="l02841"></a><span class="lineno"> 2841</span> </div>
<div class="line"><a id="l02842" name="l02842"></a><span class="lineno"> 2842</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_drive_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l02843" name="l02843"></a><span class="lineno"> 2843</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="l02844" name="l02844"></a><span class="lineno"> 2844</span> }</div>
<div class="line"><a id="l02845" name="l02845"></a><span class="lineno"> 2845</span> </div>
<div class="line"><a id="l02846" name="l02846"></a><span class="lineno"> 2846</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l02847" name="l02847"></a><span class="lineno"> 2847</span> </div>
<div class="line"><a id="l02848" name="l02848"></a><span class="lineno"> 2848</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l02849" name="l02849"></a><span class="lineno"> 2849</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="l02850" name="l02850"></a><span class="lineno"> 2850</span> {</div>
<div class="line"><a id="l02851" name="l02851"></a><span class="lineno"> 2851</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="l02852" name="l02852"></a><span class="lineno"> 2852</span> </div>
<div class="line"><a id="l02853" name="l02853"></a><span class="lineno"> 2853</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_drive_manufacturer() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l02854" name="l02854"></a><span class="lineno"> 2854</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="l02855" name="l02855"></a><span class="lineno"> 2855</span> }</div>
<div class="line"><a id="l02856" name="l02856"></a><span class="lineno"> 2856</span> </div>
<div class="line"><a id="l02857" name="l02857"></a><span class="lineno"> 2857</span> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l02858" name="l02858"></a><span class="lineno"> 2858</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l02859" name="l02859"></a><span class="lineno"> 2859</span> {</div>
<div class="line"><a id="l02860" name="l02860"></a><span class="lineno"> 2860</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l02861" name="l02861"></a><span class="lineno"> 2861</span> </div>
<div class="line"><a id="l02862" name="l02862"></a><span class="lineno"> 2862</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_drive_manufacturer() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l02863" name="l02863"></a><span class="lineno"> 2863</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l02864" name="l02864"></a><span class="lineno"> 2864</span> }</div>
<div class="line"><a id="l02865" name="l02865"></a><span class="lineno"> 2865</span> </div>
<div class="line"><a id="l02866" name="l02866"></a><span class="lineno"> 2866</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>)</div>
<div class="line"><a id="l02867" name="l02867"></a><span class="lineno"> 2867</span> {</div>
<div class="line"><a id="l02868" name="l02868"></a><span class="lineno"> 2868</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_drive_manufacturer() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l02869" name="l02869"></a><span class="lineno"> 2869</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="l02870" name="l02870"></a><span class="lineno"> 2870</span> }</div>
<div class="line"><a id="l02871" name="l02871"></a><span class="lineno"> 2871</span> </div>
<div class="line"><a id="l02872" name="l02872"></a><span class="lineno"> 2872</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a614d6f01d563ea57650ce0bbfecfa08d">drive_manufacturer</a> != NULL) free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a614d6f01d563ea57650ce0bbfecfa08d">drive_manufacturer</a>);</div>
<div class="line"><a id="l02873" name="l02873"></a><span class="lineno"> 2873</span> </div>
<div class="line"><a id="l02874" name="l02874"></a><span class="lineno"> 2874</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a614d6f01d563ea57650ce0bbfecfa08d">drive_manufacturer</a> = NULL;</div>
<div class="line"><a id="l02875" name="l02875"></a><span class="lineno"> 2875</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> = 0;</div>
<div class="line"><a id="l02876" name="l02876"></a><span class="lineno"> 2876</span> </div>
<div class="line"><a id="l02877" name="l02877"></a><span class="lineno"> 2877</span> <span class="comment">// Check if all metadata is clear</span></div>
<div class="line"><a id="l02878" name="l02878"></a><span class="lineno"> 2878</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> == 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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02879" name="l02879"></a><span class="lineno"> 2879</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> == 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#a0bbbf0b6d7b48ebdc07d4a5e1138044f">commentsLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02880" name="l02880"></a><span class="lineno"> 2880</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> == 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#a7f2956f787d72b6981a22c050c0889cf">mediaManufacturerLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02881" name="l02881"></a><span class="lineno"> 2881</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> == 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#aeae9bce28abec33ffa90005f2a247e34">mediaSerialNumberLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02882" name="l02882"></a><span class="lineno"> 2882</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> == 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#aef055916275048b6496f1f74eef2f1ac">mediaPartNumberLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02883" name="l02883"></a><span class="lineno"> 2883</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> == 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#a78213f42c28f31038e6a9f130c660ad8">driveSerialNumberLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02884" name="l02884"></a><span class="lineno"> 2884</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> == 0)</div>
<div class="line"><a id="l02885" name="l02885"></a><span class="lineno"> 2885</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> = 0;</div>
<div class="line"><a id="l02886" name="l02886"></a><span class="lineno"> 2886</span> </div>
<div class="line"><a id="l02887" name="l02887"></a><span class="lineno"> 2887</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_drive_manufacturer() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l02888" name="l02888"></a><span class="lineno"> 2888</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="l02889" name="l02889"></a><span class="lineno"> 2889</span>}</div>
</div>
<div class="line"><a id="l02890" name="l02890"></a><span class="lineno"> 2890</span></div>
<div class="foldopen" id="foldopen02919" data-start="{" data-end="}">
<div class="line"><a id="l02919" name="l02919"></a><span class="lineno"><a class="line" href="decls_8h.html#a43615f5e79107a192d383d230fa308e0"> 2919</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="metadata__write_8c.html#a43615f5e79107a192d383d230fa308e0">aaruf_clear_drive_model</a>(<span class="keywordtype">void</span> *context)</div>
<div class="line"><a id="l02920" name="l02920"></a><span class="lineno"> 2920</span>{</div>
<div class="line"><a id="l02921" name="l02921"></a><span class="lineno"> 2921</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_clear_drive_model(%p)&quot;</span>, context);</div>
<div class="line"><a id="l02922" name="l02922"></a><span class="lineno"> 2922</span> </div>
<div class="line"><a id="l02923" name="l02923"></a><span class="lineno"> 2923</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l02924" name="l02924"></a><span class="lineno"> 2924</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l02925" name="l02925"></a><span class="lineno"> 2925</span> {</div>
<div class="line"><a id="l02926" name="l02926"></a><span class="lineno"> 2926</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="l02927" name="l02927"></a><span class="lineno"> 2927</span> </div>
<div class="line"><a id="l02928" name="l02928"></a><span class="lineno"> 2928</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_drive_model() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l02929" name="l02929"></a><span class="lineno"> 2929</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="l02930" name="l02930"></a><span class="lineno"> 2930</span> }</div>
<div class="line"><a id="l02931" name="l02931"></a><span class="lineno"> 2931</span> </div>
<div class="line"><a id="l02932" name="l02932"></a><span class="lineno"> 2932</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l02933" name="l02933"></a><span class="lineno"> 2933</span> </div>
<div class="line"><a id="l02934" name="l02934"></a><span class="lineno"> 2934</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l02935" name="l02935"></a><span class="lineno"> 2935</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="l02936" name="l02936"></a><span class="lineno"> 2936</span> {</div>
<div class="line"><a id="l02937" name="l02937"></a><span class="lineno"> 2937</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="l02938" name="l02938"></a><span class="lineno"> 2938</span> </div>
<div class="line"><a id="l02939" name="l02939"></a><span class="lineno"> 2939</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_drive_model() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l02940" name="l02940"></a><span class="lineno"> 2940</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="l02941" name="l02941"></a><span class="lineno"> 2941</span> }</div>
<div class="line"><a id="l02942" name="l02942"></a><span class="lineno"> 2942</span> </div>
<div class="line"><a id="l02943" name="l02943"></a><span class="lineno"> 2943</span> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l02944" name="l02944"></a><span class="lineno"> 2944</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l02945" name="l02945"></a><span class="lineno"> 2945</span> {</div>
<div class="line"><a id="l02946" name="l02946"></a><span class="lineno"> 2946</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l02947" name="l02947"></a><span class="lineno"> 2947</span> </div>
<div class="line"><a id="l02948" name="l02948"></a><span class="lineno"> 2948</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_drive_model() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l02949" name="l02949"></a><span class="lineno"> 2949</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l02950" name="l02950"></a><span class="lineno"> 2950</span> }</div>
<div class="line"><a id="l02951" name="l02951"></a><span class="lineno"> 2951</span> </div>
<div class="line"><a id="l02952" name="l02952"></a><span class="lineno"> 2952</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>)</div>
<div class="line"><a id="l02953" name="l02953"></a><span class="lineno"> 2953</span> {</div>
<div class="line"><a id="l02954" name="l02954"></a><span class="lineno"> 2954</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_drive_model() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l02955" name="l02955"></a><span class="lineno"> 2955</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="l02956" name="l02956"></a><span class="lineno"> 2956</span> }</div>
<div class="line"><a id="l02957" name="l02957"></a><span class="lineno"> 2957</span> </div>
<div class="line"><a id="l02958" name="l02958"></a><span class="lineno"> 2958</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a77d9c8c852de1d955bceb4cfc50557ce">drive_model</a> != NULL) free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a77d9c8c852de1d955bceb4cfc50557ce">drive_model</a>);</div>
<div class="line"><a id="l02959" name="l02959"></a><span class="lineno"> 2959</span> </div>
<div class="line"><a id="l02960" name="l02960"></a><span class="lineno"> 2960</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a77d9c8c852de1d955bceb4cfc50557ce">drive_model</a> = NULL;</div>
<div class="line"><a id="l02961" name="l02961"></a><span class="lineno"> 2961</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> = 0;</div>
<div class="line"><a id="l02962" name="l02962"></a><span class="lineno"> 2962</span> </div>
<div class="line"><a id="l02963" name="l02963"></a><span class="lineno"> 2963</span> <span class="comment">// Check if all metadata is clear</span></div>
<div class="line"><a id="l02964" name="l02964"></a><span class="lineno"> 2964</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> == 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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02965" name="l02965"></a><span class="lineno"> 2965</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> == 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#a0bbbf0b6d7b48ebdc07d4a5e1138044f">commentsLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02966" name="l02966"></a><span class="lineno"> 2966</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> == 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#a7f2956f787d72b6981a22c050c0889cf">mediaManufacturerLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02967" name="l02967"></a><span class="lineno"> 2967</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> == 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#aeae9bce28abec33ffa90005f2a247e34">mediaSerialNumberLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02968" name="l02968"></a><span class="lineno"> 2968</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> == 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#aef055916275048b6496f1f74eef2f1ac">mediaPartNumberLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l02969" name="l02969"></a><span class="lineno"> 2969</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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02970" name="l02970"></a><span class="lineno"> 2970</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> == 0 &amp;&amp;</div>
<div class="line"><a id="l02971" name="l02971"></a><span class="lineno"> 2971</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> == 0)</div>
<div class="line"><a id="l02972" name="l02972"></a><span class="lineno"> 2972</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> = 0;</div>
<div class="line"><a id="l02973" name="l02973"></a><span class="lineno"> 2973</span> </div>
<div class="line"><a id="l02974" name="l02974"></a><span class="lineno"> 2974</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_drive_model() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l02975" name="l02975"></a><span class="lineno"> 2975</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="l02976" name="l02976"></a><span class="lineno"> 2976</span>}</div>
</div>
<div class="line"><a id="l02977" name="l02977"></a><span class="lineno"> 2977</span></div>
<div class="foldopen" id="foldopen03008" data-start="{" data-end="}">
<div class="line"><a id="l03008" name="l03008"></a><span class="lineno"><a class="line" href="decls_8h.html#aa6d7ceaf960a4e8d4494424f11815fcb"> 3008</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="metadata__write_8c.html#aa6d7ceaf960a4e8d4494424f11815fcb">aaruf_clear_drive_serial_number</a>(<span class="keywordtype">void</span> *context)</div>
<div class="line"><a id="l03009" name="l03009"></a><span class="lineno"> 3009</span>{</div>
<div class="line"><a id="l03010" name="l03010"></a><span class="lineno"> 3010</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_clear_drive_serial_number(%p)&quot;</span>, context);</div>
<div class="line"><a id="l03011" name="l03011"></a><span class="lineno"> 3011</span> </div>
<div class="line"><a id="l03012" name="l03012"></a><span class="lineno"> 3012</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l03013" name="l03013"></a><span class="lineno"> 3013</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l03014" name="l03014"></a><span class="lineno"> 3014</span> {</div>
<div class="line"><a id="l03015" name="l03015"></a><span class="lineno"> 3015</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="l03016" name="l03016"></a><span class="lineno"> 3016</span> </div>
<div class="line"><a id="l03017" name="l03017"></a><span class="lineno"> 3017</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_drive_serial_number() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l03018" name="l03018"></a><span class="lineno"> 3018</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="l03019" name="l03019"></a><span class="lineno"> 3019</span> }</div>
<div class="line"><a id="l03020" name="l03020"></a><span class="lineno"> 3020</span> </div>
<div class="line"><a id="l03021" name="l03021"></a><span class="lineno"> 3021</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l03022" name="l03022"></a><span class="lineno"> 3022</span> </div>
<div class="line"><a id="l03023" name="l03023"></a><span class="lineno"> 3023</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l03024" name="l03024"></a><span class="lineno"> 3024</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="l03025" name="l03025"></a><span class="lineno"> 3025</span> {</div>
<div class="line"><a id="l03026" name="l03026"></a><span class="lineno"> 3026</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="l03027" name="l03027"></a><span class="lineno"> 3027</span> </div>
<div class="line"><a id="l03028" name="l03028"></a><span class="lineno"> 3028</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_drive_serial_number() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l03029" name="l03029"></a><span class="lineno"> 3029</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="l03030" name="l03030"></a><span class="lineno"> 3030</span> }</div>
<div class="line"><a id="l03031" name="l03031"></a><span class="lineno"> 3031</span> </div>
<div class="line"><a id="l03032" name="l03032"></a><span class="lineno"> 3032</span> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l03033" name="l03033"></a><span class="lineno"> 3033</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l03034" name="l03034"></a><span class="lineno"> 3034</span> {</div>
<div class="line"><a id="l03035" name="l03035"></a><span class="lineno"> 3035</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l03036" name="l03036"></a><span class="lineno"> 3036</span> </div>
<div class="line"><a id="l03037" name="l03037"></a><span class="lineno"> 3037</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_drive_serial_number() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l03038" name="l03038"></a><span class="lineno"> 3038</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l03039" name="l03039"></a><span class="lineno"> 3039</span> }</div>
<div class="line"><a id="l03040" name="l03040"></a><span class="lineno"> 3040</span> </div>
<div class="line"><a id="l03041" name="l03041"></a><span class="lineno"> 3041</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>)</div>
<div class="line"><a id="l03042" name="l03042"></a><span class="lineno"> 3042</span> {</div>
<div class="line"><a id="l03043" name="l03043"></a><span class="lineno"> 3043</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_drive_serial_number() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l03044" name="l03044"></a><span class="lineno"> 3044</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="l03045" name="l03045"></a><span class="lineno"> 3045</span> }</div>
<div class="line"><a id="l03046" name="l03046"></a><span class="lineno"> 3046</span> </div>
<div class="line"><a id="l03047" name="l03047"></a><span class="lineno"> 3047</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a505f32de424a033246348d9fa35f9b19">drive_serial_number</a> != NULL) free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a505f32de424a033246348d9fa35f9b19">drive_serial_number</a>);</div>
<div class="line"><a id="l03048" name="l03048"></a><span class="lineno"> 3048</span> </div>
<div class="line"><a id="l03049" name="l03049"></a><span class="lineno"> 3049</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a505f32de424a033246348d9fa35f9b19">drive_serial_number</a> = NULL;</div>
<div class="line"><a id="l03050" name="l03050"></a><span class="lineno"> 3050</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> = 0;</div>
<div class="line"><a id="l03051" name="l03051"></a><span class="lineno"> 3051</span> </div>
<div class="line"><a id="l03052" name="l03052"></a><span class="lineno"> 3052</span> <span class="comment">// Check if all metadata is clear</span></div>
<div class="line"><a id="l03053" name="l03053"></a><span class="lineno"> 3053</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> == 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> == 0 &amp;&amp;</div>
<div class="line"><a id="l03054" name="l03054"></a><span class="lineno"> 3054</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> == 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#a0bbbf0b6d7b48ebdc07d4a5e1138044f">commentsLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l03055" name="l03055"></a><span class="lineno"> 3055</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> == 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#a7f2956f787d72b6981a22c050c0889cf">mediaManufacturerLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l03056" name="l03056"></a><span class="lineno"> 3056</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> == 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#aeae9bce28abec33ffa90005f2a247e34">mediaSerialNumberLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l03057" name="l03057"></a><span class="lineno"> 3057</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> == 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#aef055916275048b6496f1f74eef2f1ac">mediaPartNumberLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l03058" name="l03058"></a><span class="lineno"> 3058</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> == 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#a380656568f47a838a8a3833844789064">driveManufacturerLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l03059" name="l03059"></a><span class="lineno"> 3059</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> == 0)</div>
<div class="line"><a id="l03060" name="l03060"></a><span class="lineno"> 3060</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> = 0;</div>
<div class="line"><a id="l03061" name="l03061"></a><span class="lineno"> 3061</span> </div>
<div class="line"><a id="l03062" name="l03062"></a><span class="lineno"> 3062</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_drive_serial_number() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l03063" name="l03063"></a><span class="lineno"> 3063</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="l03064" name="l03064"></a><span class="lineno"> 3064</span>}</div>
</div>
<div class="line"><a id="l03065" name="l03065"></a><span class="lineno"> 3065</span></div>
<div class="foldopen" id="foldopen03096" data-start="{" data-end="}">
<div class="line"><a id="l03096" name="l03096"></a><span class="lineno"><a class="line" href="decls_8h.html#a0d7349a92ffce2fa5515fae960c17b03"> 3096</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="metadata__write_8c.html#a0d7349a92ffce2fa5515fae960c17b03">aaruf_clear_drive_firmware_revision</a>(<span class="keywordtype">void</span> *context)</div>
<div class="line"><a id="l03097" name="l03097"></a><span class="lineno"> 3097</span>{</div>
<div class="line"><a id="l03098" name="l03098"></a><span class="lineno"> 3098</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Entering aaruf_clear_drive_firmware_revision(%p)&quot;</span>, context);</div>
<div class="line"><a id="l03099" name="l03099"></a><span class="lineno"> 3099</span> </div>
<div class="line"><a id="l03100" name="l03100"></a><span class="lineno"> 3100</span> <span class="comment">// Check context is correct AaruFormat context</span></div>
<div class="line"><a id="l03101" name="l03101"></a><span class="lineno"> 3101</span> <span class="keywordflow">if</span>(context == NULL)</div>
<div class="line"><a id="l03102" name="l03102"></a><span class="lineno"> 3102</span> {</div>
<div class="line"><a id="l03103" name="l03103"></a><span class="lineno"> 3103</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="l03104" name="l03104"></a><span class="lineno"> 3104</span> </div>
<div class="line"><a id="l03105" name="l03105"></a><span class="lineno"> 3105</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_drive_firmware_revision() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l03106" name="l03106"></a><span class="lineno"> 3106</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="l03107" name="l03107"></a><span class="lineno"> 3107</span> }</div>
<div class="line"><a id="l03108" name="l03108"></a><span class="lineno"> 3108</span> </div>
<div class="line"><a id="l03109" name="l03109"></a><span class="lineno"> 3109</span> <a class="code hl_struct" href="structaaruformat__context.html">aaruformat_context</a> *ctx = context;</div>
<div class="line"><a id="l03110" name="l03110"></a><span class="lineno"> 3110</span> </div>
<div class="line"><a id="l03111" name="l03111"></a><span class="lineno"> 3111</span> <span class="comment">// Not a libaaruformat context</span></div>
<div class="line"><a id="l03112" name="l03112"></a><span class="lineno"> 3112</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="l03113" name="l03113"></a><span class="lineno"> 3113</span> {</div>
<div class="line"><a id="l03114" name="l03114"></a><span class="lineno"> 3114</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="l03115" name="l03115"></a><span class="lineno"> 3115</span> </div>
<div class="line"><a id="l03116" name="l03116"></a><span class="lineno"> 3116</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_drive_firmware_revision() = AARUF_ERROR_NOT_AARUFORMAT&quot;</span>);</div>
<div class="line"><a id="l03117" name="l03117"></a><span class="lineno"> 3117</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="l03118" name="l03118"></a><span class="lineno"> 3118</span> }</div>
<div class="line"><a id="l03119" name="l03119"></a><span class="lineno"> 3119</span> </div>
<div class="line"><a id="l03120" name="l03120"></a><span class="lineno"> 3120</span> <span class="comment">// Check we are writing</span></div>
<div class="line"><a id="l03121" name="l03121"></a><span class="lineno"> 3121</span> <span class="keywordflow">if</span>(!ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">is_writing</a>)</div>
<div class="line"><a id="l03122" name="l03122"></a><span class="lineno"> 3122</span> {</div>
<div class="line"><a id="l03123" name="l03123"></a><span class="lineno"> 3123</span> <a class="code hl_define" href="log_8h.html#a053d6037d543b84ce59308ce71d15cd1">FATAL</a>(<span class="stringliteral">&quot;Trying to write a read-only image&quot;</span>);</div>
<div class="line"><a id="l03124" name="l03124"></a><span class="lineno"> 3124</span> </div>
<div class="line"><a id="l03125" name="l03125"></a><span class="lineno"> 3125</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_drive_firmware_revision() = AARUF_READ_ONLY&quot;</span>);</div>
<div class="line"><a id="l03126" name="l03126"></a><span class="lineno"> 3126</span> <span class="keywordflow">return</span> <a class="code hl_define" href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a>;</div>
<div class="line"><a id="l03127" name="l03127"></a><span class="lineno"> 3127</span> }</div>
<div class="line"><a id="l03128" name="l03128"></a><span class="lineno"> 3128</span> </div>
<div class="line"><a id="l03129" name="l03129"></a><span class="lineno"> 3129</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> != <a class="code hl_enumvalue" href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a>)</div>
<div class="line"><a id="l03130" name="l03130"></a><span class="lineno"> 3130</span> {</div>
<div class="line"><a id="l03131" name="l03131"></a><span class="lineno"> 3131</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_drive_firmware_revision() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l03132" name="l03132"></a><span class="lineno"> 3132</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="l03133" name="l03133"></a><span class="lineno"> 3133</span> }</div>
<div class="line"><a id="l03134" name="l03134"></a><span class="lineno"> 3134</span> </div>
<div class="line"><a id="l03135" name="l03135"></a><span class="lineno"> 3135</span> <span class="keywordflow">if</span>(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a329dda508cb897dc7871d2d1c0434792">drive_firmware_revision</a> != NULL) free(ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a329dda508cb897dc7871d2d1c0434792">drive_firmware_revision</a>);</div>
<div class="line"><a id="l03136" name="l03136"></a><span class="lineno"> 3136</span> </div>
<div class="line"><a id="l03137" name="l03137"></a><span class="lineno"> 3137</span> ctx-&gt;<a class="code hl_variable" href="structaaruformat__context.html#a329dda508cb897dc7871d2d1c0434792">drive_firmware_revision</a> = NULL;</div>
<div class="line"><a id="l03138" name="l03138"></a><span class="lineno"> 3138</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> = 0;</div>
<div class="line"><a id="l03139" name="l03139"></a><span class="lineno"> 3139</span> </div>
<div class="line"><a id="l03140" name="l03140"></a><span class="lineno"> 3140</span> <span class="comment">// Check if all metadata is clear</span></div>
<div class="line"><a id="l03141" name="l03141"></a><span class="lineno"> 3141</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> == 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> == 0 &amp;&amp;</div>
<div class="line"><a id="l03142" name="l03142"></a><span class="lineno"> 3142</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> == 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#a0bbbf0b6d7b48ebdc07d4a5e1138044f">commentsLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l03143" name="l03143"></a><span class="lineno"> 3143</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> == 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#a7f2956f787d72b6981a22c050c0889cf">mediaManufacturerLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l03144" name="l03144"></a><span class="lineno"> 3144</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> == 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#aeae9bce28abec33ffa90005f2a247e34">mediaSerialNumberLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l03145" name="l03145"></a><span class="lineno"> 3145</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> == 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#aef055916275048b6496f1f74eef2f1ac">mediaPartNumberLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l03146" name="l03146"></a><span class="lineno"> 3146</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> == 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#a380656568f47a838a8a3833844789064">driveManufacturerLength</a> == 0 &amp;&amp;</div>
<div class="line"><a id="l03147" name="l03147"></a><span class="lineno"> 3147</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> == 0)</div>
<div class="line"><a id="l03148" name="l03148"></a><span class="lineno"> 3148</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> = 0;</div>
<div class="line"><a id="l03149" name="l03149"></a><span class="lineno"> 3149</span> </div>
<div class="line"><a id="l03150" name="l03150"></a><span class="lineno"> 3150</span> <a class="code hl_define" href="log_8h.html#a21cc0459b78d5f2d7bd737e5aae1278a">TRACE</a>(<span class="stringliteral">&quot;Exiting aaruf_clear_drive_firmware_revision() = AARUF_STATUS_OK&quot;</span>);</div>
<div class="line"><a id="l03151" name="l03151"></a><span class="lineno"> 3151</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="l03152" name="l03152"></a><span class="lineno"> 3152</span>}</div>
</div>
<div class="line"><a id="l03153" name="l03153"></a><span class="lineno"> 3153</span> </div>
<div class="ttc" id="aaaruformat_8h_html"><div class="ttname"><a href="aaruformat_8h.html">aaruformat.h</a></div></div>
<div class="ttc" id="aconsts_8h_html_a3c3ba66fe2b547655c9e4b16a1ba519a"><div class="ttname"><a href="consts_8h.html#a3c3ba66fe2b547655c9e4b16a1ba519a">AARU_MAGIC</a></div><div class="ttdeci">#define AARU_MAGIC</div><div class="ttdoc">Magic identifier for AaruFormat container (ASCII &quot;AARUFRMT&quot;).</div><div class="ttdef"><b>Definition</b> <a href="consts_8h_source.html#l00064">consts.h:64</a></div></div>
<div class="ttc" id="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="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#l00172">enums.h:172</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#l00183">enums.h:183</a></div></div>
<div class="ttc" id="aenums_8h_html_a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8"><div class="ttname"><a href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3ad5a8c9e1ce6a2acd795dc1e7561addf8">MetadataBlock</a></div><div class="ttdeci">@ MetadataBlock</div><div class="ttdoc">Block containing metadata.</div><div class="ttdef"><b>Definition</b> <a href="enums_8h_source.html#l00173">enums.h:173</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="aerrors_8h_html_a1df49eaa19eaa14891b6aaab966a9bc6"><div class="ttname"><a href="errors_8h.html#a1df49eaa19eaa14891b6aaab966a9bc6">AARUF_READ_ONLY</a></div><div class="ttdeci">#define AARUF_READ_ONLY</div><div class="ttdoc">Operation requires write mode but context is read-only.</div><div class="ttdef"><b>Definition</b> <a href="errors_8h_source.html#l00061">errors.h:61</a></div></div>
<div class="ttc" id="aerrors_8h_html_a35a771e3648bf971a004d4b2be9b5ec4"><div class="ttname"><a href="errors_8h.html#a35a771e3648bf971a004d4b2be9b5ec4">AARUF_ERROR_NOT_ENOUGH_MEMORY</a></div><div class="ttdeci">#define AARUF_ERROR_NOT_ENOUGH_MEMORY</div><div class="ttdoc">Memory allocation failure (critical).</div><div class="ttdef"><b>Definition</b> <a href="errors_8h_source.html#l00048">errors.h:48</a></div></div>
<div class="ttc" id="aerrors_8h_html_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="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="ametadata__write_8c_html_a02699c3490df86f9919ac8f22f303d9e"><div class="ttname"><a href="metadata__write_8c.html#a02699c3490df86f9919ac8f22f303d9e">aaruf_clear_media_sequence</a></div><div class="ttdeci">int32_t aaruf_clear_media_sequence(void *context)</div><div class="ttdoc">Clears the media sequence information from the image metadata.</div><div class="ttdef"><b>Definition</b> <a href="#l01978">metadata_write.c:1978</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_a0d7349a92ffce2fa5515fae960c17b03"><div class="ttname"><a href="metadata__write_8c.html#a0d7349a92ffce2fa5515fae960c17b03">aaruf_clear_drive_firmware_revision</a></div><div class="ttdeci">int32_t aaruf_clear_drive_firmware_revision(void *context)</div><div class="ttdoc">Clears the drive firmware revision from the image metadata.</div><div class="ttdef"><b>Definition</b> <a href="#l03096">metadata_write.c:3096</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_a0e5be9ff6d87218a8f5b451a27e1b39b"><div class="ttname"><a href="metadata__write_8c.html#a0e5be9ff6d87218a8f5b451a27e1b39b">aaruf_set_media_barcode</a></div><div class="ttdeci">int32_t aaruf_set_media_barcode(void *context, const uint8_t *data, const int32_t length)</div><div class="ttdoc">Sets the media barcode information for the image.</div><div class="ttdef"><b>Definition</b> <a href="#l01078">metadata_write.c:1078</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_a0ed36b14e49f1e924906d9c4b26d6214"><div class="ttname"><a href="metadata__write_8c.html#a0ed36b14e49f1e924906d9c4b26d6214">aaruf_set_media_model</a></div><div class="ttdeci">int32_t aaruf_set_media_model(void *context, const uint8_t *data, const int32_t length)</div><div class="ttdoc">Sets the media model or product designation for the image.</div><div class="ttdef"><b>Definition</b> <a href="#l00841">metadata_write.c:841</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_a10d528163caf65134a7cec4a0c0a33b8"><div class="ttname"><a href="metadata__write_8c.html#a10d528163caf65134a7cec4a0c0a33b8">aaruf_set_media_sequence</a></div><div class="ttdeci">int32_t aaruf_set_media_sequence(void *context, const int32_t sequence, const int32_t last_sequence)</div><div class="ttdoc">Sets the media sequence information for multi-volume media sets.</div><div class="ttdef"><b>Definition</b> <a href="#l00263">metadata_write.c:263</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_a21d65b63e9806deb6dd0eb9c0e69eaf0"><div class="ttname"><a href="metadata__write_8c.html#a21d65b63e9806deb6dd0eb9c0e69eaf0">aaruf_clear_media_serial_number</a></div><div class="ttdeci">int32_t aaruf_clear_media_serial_number(void *context)</div><div class="ttdoc">Clears the media serial number from the image metadata.</div><div class="ttdef"><b>Definition</b> <a href="#l02575">metadata_write.c:2575</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_a223856fa226b26c466997800183c97c4"><div class="ttname"><a href="metadata__write_8c.html#a223856fa226b26c466997800183c97c4">aaruf_set_drive_manufacturer</a></div><div class="ttdeci">int32_t aaruf_set_drive_manufacturer(void *context, const uint8_t *data, const int32_t length)</div><div class="ttdoc">Sets the drive manufacturer information for the image.</div><div class="ttdef"><b>Definition</b> <a href="#l01314">metadata_write.c:1314</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_a29b6c38ce4b3420368ecb84007d8738d"><div class="ttname"><a href="metadata__write_8c.html#a29b6c38ce4b3420368ecb84007d8738d">aaruf_set_drive_model</a></div><div class="ttdeci">int32_t aaruf_set_drive_model(void *context, const uint8_t *data, const int32_t length)</div><div class="ttdoc">Sets the drive model information for the image.</div><div class="ttdef"><b>Definition</b> <a href="#l01436">metadata_write.c:1436</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_a2b5ef51f1913c62139b90cae0f97a9a2"><div class="ttname"><a href="metadata__write_8c.html#a2b5ef51f1913c62139b90cae0f97a9a2">aaruf_clear_media_barcode</a></div><div class="ttdeci">int32_t aaruf_clear_media_barcode(void *context)</div><div class="ttdoc">Clears the media barcode information from the image metadata.</div><div class="ttdef"><b>Definition</b> <a href="#l02661">metadata_write.c:2661</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_a2f344544e412db0bfb46d3dfb509dd91"><div class="ttname"><a href="metadata__write_8c.html#a2f344544e412db0bfb46d3dfb509dd91">aaruf_set_media_title</a></div><div class="ttdeci">int32_t aaruf_set_media_title(void *context, const uint8_t *data, const int32_t length)</div><div class="ttdoc">Sets the media title or label for the image.</div><div class="ttdef"><b>Definition</b> <a href="#l00621">metadata_write.c:621</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_a41bf934e213aad15df933590e6343c3e"><div class="ttname"><a href="metadata__write_8c.html#a41bf934e213aad15df933590e6343c3e">aaruf_clear_media_title</a></div><div class="ttdeci">int32_t aaruf_clear_media_title(void *context)</div><div class="ttdoc">Clears the media title or label from the image metadata.</div><div class="ttdef"><b>Definition</b> <a href="#l02321">metadata_write.c:2321</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_a42e1c4b1876e6b28c774aae4de3c1f4e"><div class="ttname"><a href="metadata__write_8c.html#a42e1c4b1876e6b28c774aae4de3c1f4e">aaruf_clear_media_manufacturer</a></div><div class="ttdeci">int32_t aaruf_clear_media_manufacturer(void *context)</div><div class="ttdoc">Clears the media manufacturer information from the image metadata.</div><div class="ttdef"><b>Definition</b> <a href="#l02405">metadata_write.c:2405</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_a43615f5e79107a192d383d230fa308e0"><div class="ttname"><a href="metadata__write_8c.html#a43615f5e79107a192d383d230fa308e0">aaruf_clear_drive_model</a></div><div class="ttdeci">int32_t aaruf_clear_drive_model(void *context)</div><div class="ttdoc">Clears the drive model information from the image metadata.</div><div class="ttdef"><b>Definition</b> <a href="#l02919">metadata_write.c:2919</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_a62dc66d1bbbfacd41706bf4d87d11264"><div class="ttname"><a href="metadata__write_8c.html#a62dc66d1bbbfacd41706bf4d87d11264">aaruf_clear_drive_manufacturer</a></div><div class="ttdeci">int32_t aaruf_clear_drive_manufacturer(void *context)</div><div class="ttdoc">Clears the drive manufacturer information from the image metadata.</div><div class="ttdef"><b>Definition</b> <a href="#l02833">metadata_write.c:2833</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_a8090a039e00ee003569939332d21094e"><div class="ttname"><a href="metadata__write_8c.html#a8090a039e00ee003569939332d21094e">aaruf_set_aaru_json_metadata</a></div><div class="ttdeci">int32_t aaruf_set_aaru_json_metadata(void *context, uint8_t *data, size_t length)</div><div class="ttdoc">Sets the Aaru metadata JSON for the image during creation.</div><div class="ttdef"><b>Definition</b> <a href="#l01858">metadata_write.c:1858</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_a8652ae4a4cdf400846621d7f497c8b60"><div class="ttname"><a href="metadata__write_8c.html#a8652ae4a4cdf400846621d7f497c8b60">aaruf_clear_media_part_number</a></div><div class="ttdeci">int32_t aaruf_clear_media_part_number(void *context)</div><div class="ttdoc">Clears the media part number or model designation from the image metadata.</div><div class="ttdef"><b>Definition</b> <a href="#l02747">metadata_write.c:2747</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_a878605956a88a3371f4f6e490ee9e2b8"><div class="ttname"><a href="metadata__write_8c.html#a878605956a88a3371f4f6e490ee9e2b8">aaruf_clear_comments</a></div><div class="ttdeci">int32_t aaruf_clear_comments(void *context)</div><div class="ttdoc">Clears user comments or notes from the image metadata.</div><div class="ttdef"><b>Definition</b> <a href="#l02238">metadata_write.c:2238</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_a938d3346f5347dc152b679e6cf619d94"><div class="ttname"><a href="metadata__write_8c.html#a938d3346f5347dc152b679e6cf619d94">aaruf_clear_media_model</a></div><div class="ttdeci">int32_t aaruf_clear_media_model(void *context)</div><div class="ttdoc">Clears the media model or product designation from the image metadata.</div><div class="ttdef"><b>Definition</b> <a href="#l02489">metadata_write.c:2489</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_aa6d7ceaf960a4e8d4494424f11815fcb"><div class="ttname"><a href="metadata__write_8c.html#aa6d7ceaf960a4e8d4494424f11815fcb">aaruf_clear_drive_serial_number</a></div><div class="ttdeci">int32_t aaruf_clear_drive_serial_number(void *context)</div><div class="ttdoc">Clears the drive serial number from the image metadata.</div><div class="ttdef"><b>Definition</b> <a href="#l03008">metadata_write.c:3008</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_ac20c45113b5e1917fc550d1fb8342ba2"><div class="ttname"><a href="metadata__write_8c.html#ac20c45113b5e1917fc550d1fb8342ba2">aaruf_clear_creator</a></div><div class="ttdeci">int32_t aaruf_clear_creator(void *context)</div><div class="ttdoc">Clears the creator (person/operator) information from the image metadata.</div><div class="ttdef"><b>Definition</b> <a href="#l02109">metadata_write.c:2109</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_ac7c87ae51a242428ceb6d2b0a75e0b70"><div class="ttname"><a href="metadata__write_8c.html#ac7c87ae51a242428ceb6d2b0a75e0b70">aaruf_set_media_part_number</a></div><div class="ttdeci">int32_t aaruf_set_media_part_number(void *context, const uint8_t *data, const int32_t length)</div><div class="ttdoc">Sets the media part number or model designation for the image.</div><div class="ttdef"><b>Definition</b> <a href="#l01199">metadata_write.c:1199</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_ad06ae4d49d6de002ef565108c73451e1"><div class="ttname"><a href="metadata__write_8c.html#ad06ae4d49d6de002ef565108c73451e1">aaruf_set_media_serial_number</a></div><div class="ttdeci">int32_t aaruf_set_media_serial_number(void *context, const uint8_t *data, const int32_t length)</div><div class="ttdoc">Sets the media serial number for the image.</div><div class="ttdef"><b>Definition</b> <a href="#l00956">metadata_write.c:956</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_ad0b5b12288f159780d065b12ba12bdcc"><div class="ttname"><a href="metadata__write_8c.html#ad0b5b12288f159780d065b12ba12bdcc">aaruf_set_geometry</a></div><div class="ttdeci">int32_t aaruf_set_geometry(void *context, const uint32_t cylinders, const uint32_t heads, const uint32_t sectors_per_track)</div><div class="ttdoc">Sets the logical CHS geometry for the AaruFormat image.</div><div class="ttdef"><b>Definition</b> <a href="#l00128">metadata_write.c:128</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_ad24b15e067720825c47610e9477bfc2a"><div class="ttname"><a href="metadata__write_8c.html#ad24b15e067720825c47610e9477bfc2a">aaruf_set_comments</a></div><div class="ttdeci">int32_t aaruf_set_comments(void *context, const uint8_t *data, const int32_t length)</div><div class="ttdoc">Sets user comments or notes for the image.</div><div class="ttdef"><b>Definition</b> <a href="#l00508">metadata_write.c:508</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_adaa13a82dfc90987efd6c9a366904dc4"><div class="ttname"><a href="metadata__write_8c.html#adaa13a82dfc90987efd6c9a366904dc4">aaruf_set_drive_firmware_revision</a></div><div class="ttdeci">int32_t aaruf_set_drive_firmware_revision(void *context, const uint8_t *data, const int32_t length)</div><div class="ttdoc">Sets the drive firmware revision for the image.</div><div class="ttdef"><b>Definition</b> <a href="#l01695">metadata_write.c:1695</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_add92b8c91ede6a62dfda5f8980c3ce6d"><div class="ttname"><a href="metadata__write_8c.html#add92b8c91ede6a62dfda5f8980c3ce6d">aaruf_set_media_manufacturer</a></div><div class="ttdeci">int32_t aaruf_set_media_manufacturer(void *context, const uint8_t *data, const int32_t length)</div><div class="ttdoc">Sets the media manufacturer information for the image.</div><div class="ttdef"><b>Definition</b> <a href="#l00734">metadata_write.c:734</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_ae6b0a57476896bb90ee7bb8472e1078f"><div class="ttname"><a href="metadata__write_8c.html#ae6b0a57476896bb90ee7bb8472e1078f">aaruf_set_drive_serial_number</a></div><div class="ttdeci">int32_t aaruf_set_drive_serial_number(void *context, const uint8_t *data, const int32_t length)</div><div class="ttdoc">Sets the drive serial number for the image.</div><div class="ttdef"><b>Definition</b> <a href="#l01560">metadata_write.c:1560</a></div></div>
<div class="ttc" id="ametadata__write_8c_html_af28837461d12252d8258032e370585ae"><div class="ttname"><a href="metadata__write_8c.html#af28837461d12252d8258032e370585ae">aaruf_set_creator</a></div><div class="ttdeci">int32_t aaruf_set_creator(void *context, const uint8_t *data, const int32_t length)</div><div class="ttdoc">Sets the creator (person/operator) information for the image.</div><div class="ttdef"><b>Definition</b> <a href="#l00394">metadata_write.c:394</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="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="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_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_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_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_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_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_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_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="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_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#l00225">context.h:225</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#l00219">context.h:219</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#l00237">context.h:237</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#l00231">context.h:231</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#l00224">context.h:224</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#l00233">context.h:233</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#l00223">context.h:223</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#l00229">context.h:229</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#l00227">context.h:227</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a6f3db4b3d6f4351edae1353b0815795e"><div class="ttname"><a href="structaaruformat__context.html#a6f3db4b3d6f4351edae1353b0815795e">aaruformat_context::dirty_json_block</a></div><div class="ttdeci">bool dirty_json_block</div><div class="ttdoc">True if JSON metadata block should be written during close.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00343">context.h:343</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_a6f61f9ea20f4e3b791a0d6388dd43651"><div class="ttname"><a href="structaaruformat__context.html#a6f61f9ea20f4e3b791a0d6388dd43651">aaruformat_context::is_writing</a></div><div class="ttdeci">bool is_writing</div><div class="ttdoc">True if context opened/created for writing.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00295">context.h:295</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#l00228">context.h:228</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_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#l00232">context.h:232</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#l00218">context.h:218</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#l00226">context.h:226</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#l00236">context.h:236</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_aab573afda1087dcc99dc9a6a34fcc844"><div class="ttname"><a href="structaaruformat__context.html#aab573afda1087dcc99dc9a6a34fcc844">aaruformat_context::dirty_metadata_block</a></div><div class="ttdeci">bool dirty_metadata_block</div><div class="ttdoc">True if metadata block should be written during close.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00340">context.h:340</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#l00239">context.h:239</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#l00221">context.h:221</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#l00238">context.h:238</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#l00220">context.h:220</a></div></div>
<div class="ttc" id="astructaaruformat__context_html_aeb85241fdc8a4ac27aee8acab5ceec17"><div class="ttname"><a href="structaaruformat__context.html#aeb85241fdc8a4ac27aee8acab5ceec17">aaruformat_context::dirty_geometry_block</a></div><div class="ttdeci">bool dirty_geometry_block</div><div class="ttdoc">True if geometry block should be written during close.</div><div class="ttdef"><b>Definition</b> <a href="context_8h_source.html#l00339">context.h:339</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#l00222">context.h:222</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="metadata__write_8c.html">metadata_write.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>