Files
libaaruformat/docs/html/ddt_8h_source.html

205 lines
29 KiB
HTML
Raw Normal View History

2025-10-11 01:35:43 +01:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libaaruformat: include/aaruformat/structs/ddt.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">libaaruformat<span id="projectnumber">&#160;1.0</span>
</div>
<div id="projectbrief">Aaru Data Preservation Suite - Format Library</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(function(){initNavTree('ddt_8h_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">ddt.h</div></div>
</div><!--header-->
<div class="contents">
<a href="ddt_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * This file is part of the Aaru Data Preservation Suite.</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * Copyright (c) 2019-2025 Natalia Portillo.</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> *</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * This library is free software; you can redistribute it and/or modify</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * it under the terms of the GNU Lesser General Public License as</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * published by the Free Software Foundation; either version 2.1 of the</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * License, or (at your option) any later version.</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> *</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> * This library is distributed in the hope that it will be useful, but</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * Lesser General Public License for more details.</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> *</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> * License along with this library; if not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"> */</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#ifndef LIBAARUFORMAT_DDT_H</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#define LIBAARUFORMAT_DDT_H</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#include &lt;stdint.h&gt;</span> <span class="comment">// fixed-width types for on-disk layout</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#pragma pack(push, 1)</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span></div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span></div>
<div class="foldopen" id="foldopen00065" data-start="{" data-end="};">
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="structDdtHeader.html"> 65</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="structDdtHeader.html">DdtHeader</a></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span>{</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"><a class="line" href="structDdtHeader.html#a640bdd80a0bab66d82d36e9d25ed86a4"> 67</a></span> uint32_t <a class="code hl_variable" href="structDdtHeader.html#a640bdd80a0bab66d82d36e9d25ed86a4">identifier</a>; </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"><a class="line" href="structDdtHeader.html#a7d0eb9ac1d810626e9f86b7f8c8655f5"> 68</a></span> uint16_t <a class="code hl_variable" href="structDdtHeader.html#a7d0eb9ac1d810626e9f86b7f8c8655f5">type</a>; </div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="structDdtHeader.html#a582d814208475da3a610e7773a3b2ded"> 69</a></span> uint16_t <a class="code hl_variable" href="structDdtHeader.html#a582d814208475da3a610e7773a3b2ded">compression</a>; </div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="structDdtHeader.html#a3d12905ae4eefa62cff390bf694f96ea"> 70</a></span> uint8_t <a class="code hl_variable" href="structDdtHeader.html#a3d12905ae4eefa62cff390bf694f96ea">shift</a>; </div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="structDdtHeader.html#a74eb3f36e0c52cc59849fcc7b283d84d"> 71</a></span> uint64_t <a class="code hl_variable" href="structDdtHeader.html#a74eb3f36e0c52cc59849fcc7b283d84d">entries</a>; </div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="structDdtHeader.html#a683a82d49a20adf6348fbcde58e2ecd9"> 72</a></span> uint64_t <a class="code hl_variable" href="structDdtHeader.html#a683a82d49a20adf6348fbcde58e2ecd9">cmpLength</a>; </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="structDdtHeader.html#a6c427b746b3fa0fd161094ba0adf3f56"> 73</a></span> uint64_t <a class="code hl_variable" href="structDdtHeader.html#a6c427b746b3fa0fd161094ba0adf3f56">length</a>; </div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="structDdtHeader.html#ab3c100c0dc3e5f6ef97366a6a27e642f"> 74</a></span> uint64_t <a class="code hl_variable" href="structDdtHeader.html#ab3c100c0dc3e5f6ef97366a6a27e642f">cmpCrc64</a>; </div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="structDdtHeader.html#a1b533f6a2db8316e66d2615f0bdcbb47"> 75</a></span> uint64_t <a class="code hl_variable" href="structDdtHeader.html#a1b533f6a2db8316e66d2615f0bdcbb47">crc64</a>; </div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="ddt_8h.html#afff1df7553a3d0b0d2dc67e9dc4e9804"> 76</a></span>} <a class="code hl_struct" href="structDdtHeader.html">DdtHeader</a>;</div>
</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span></div>
<div class="foldopen" id="foldopen00141" data-start="{" data-end="};">
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"><a class="line" href="structDdtHeader2.html"> 141</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="structDdtHeader2.html">DdtHeader2</a></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"><a class="line" href="structDdtHeader2.html#a80a88ec68cd0332a57886ac363bfa4d1"> 143</a></span> uint32_t <a class="code hl_variable" href="structDdtHeader2.html#a80a88ec68cd0332a57886ac363bfa4d1">identifier</a>; </div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"><a class="line" href="structDdtHeader2.html#a14f9ccf36df63e036d69291182cf7bbb"> 144</a></span> uint16_t <a class="code hl_variable" href="structDdtHeader2.html#a14f9ccf36df63e036d69291182cf7bbb">type</a>; </div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"><a class="line" href="structDdtHeader2.html#ad1a27a46df09748a91a9010a630c422e"> 145</a></span> uint16_t <a class="code hl_variable" href="structDdtHeader2.html#ad1a27a46df09748a91a9010a630c422e">compression</a>; </div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"><a class="line" href="structDdtHeader2.html#a68f4825db4e22906af0e55a359360656"> 146</a></span> uint8_t <a class="code hl_variable" href="structDdtHeader2.html#a68f4825db4e22906af0e55a359360656">levels</a>; </div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"><a class="line" href="structDdtHeader2.html#ac8ec7921a5651b5107eda4e99b488798"> 147</a></span> uint8_t <a class="code hl_variable" href="structDdtHeader2.html#ac8ec7921a5651b5107eda4e99b488798">tableLevel</a>; </div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"><a class="line" href="structDdtHeader2.html#af71423c2a8c7fa89dfd2313b456c57a2"> 148</a></span> uint64_t <a class="code hl_variable" href="structDdtHeader2.html#af71423c2a8c7fa89dfd2313b456c57a2">previousLevelOffset</a>; </div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"><a class="line" href="structDdtHeader2.html#aa4b1416ac0e0585f436513cacf9ebd74"> 149</a></span> uint16_t <a class="code hl_variable" href="structDdtHeader2.html#aa4b1416ac0e0585f436513cacf9ebd74">negative</a>; </div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"><a class="line" href="structDdtHeader2.html#a9571c1d556e33537935bab1edba31135"> 150</a></span> uint64_t <a class="code hl_variable" href="structDdtHeader2.html#a9571c1d556e33537935bab1edba31135">blocks</a>; </div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"><a class="line" href="structDdtHeader2.html#a2bfa558d9d778ae6b86d52520e278b66"> 151</a></span> uint16_t <a class="code hl_variable" href="structDdtHeader2.html#a2bfa558d9d778ae6b86d52520e278b66">overflow</a>; </div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> uint64_t</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"><a class="line" href="structDdtHeader2.html#a238a2ca31ce0f60af3e59a1cb3e2e73c"> 153</a></span> <a class="code hl_variable" href="structDdtHeader2.html#a238a2ca31ce0f60af3e59a1cb3e2e73c">start</a>; </div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"><a class="line" href="structDdtHeader2.html#aa67b097c3a20f926ede495d27152f1c0"> 154</a></span> uint8_t <a class="code hl_variable" href="structDdtHeader2.html#aa67b097c3a20f926ede495d27152f1c0">blockAlignmentShift</a>; </div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"><a class="line" href="structDdtHeader2.html#ad9a2beb3a79bc6c239ba04fe341e0cde"> 155</a></span> uint8_t <a class="code hl_variable" href="structDdtHeader2.html#ad9a2beb3a79bc6c239ba04fe341e0cde">dataShift</a>; </div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"><a class="line" href="structDdtHeader2.html#a8c2110cbb42bde3c0e302d3429024b04"> 156</a></span> uint8_t <a class="code hl_variable" href="structDdtHeader2.html#a8c2110cbb42bde3c0e302d3429024b04">tableShift</a>; </div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"><a class="line" href="structDdtHeader2.html#a4e90c22109c3fff37b526a113b094a50"> 158</a></span> uint64_t <a class="code hl_variable" href="structDdtHeader2.html#a4e90c22109c3fff37b526a113b094a50">entries</a>; </div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"><a class="line" href="structDdtHeader2.html#aee50fc92a9151bd352808b28bccd5045"> 159</a></span> uint64_t <a class="code hl_variable" href="structDdtHeader2.html#aee50fc92a9151bd352808b28bccd5045">cmpLength</a>; </div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"><a class="line" href="structDdtHeader2.html#a7266134edef8efc7c449649f3035d189"> 160</a></span> uint64_t <a class="code hl_variable" href="structDdtHeader2.html#a7266134edef8efc7c449649f3035d189">length</a>; </div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"><a class="line" href="structDdtHeader2.html#a0799563cf99f679ee26840e32d52ca0f"> 161</a></span> uint64_t <a class="code hl_variable" href="structDdtHeader2.html#a0799563cf99f679ee26840e32d52ca0f">cmpCrc64</a>; </div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"><a class="line" href="structDdtHeader2.html#a4d69e092386cdf3499b17bd6f63a0d8d"> 162</a></span> uint64_t <a class="code hl_variable" href="structDdtHeader2.html#a4d69e092386cdf3499b17bd6f63a0d8d">crc64</a>; </div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"><a class="line" href="ddt_8h.html#ada1601ea9270f242a8af1d9808819a0a"> 163</a></span>} <a class="code hl_struct" href="structDdtHeader2.html">DdtHeader2</a>;</div>
</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> </div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span><span class="preprocessor">#pragma pack(pop)</span></div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> </div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span><span class="preprocessor">#endif </span><span class="comment">// LIBAARUFORMAT_DDT_H</span></div>
<div class="ttc" id="astructDdtHeader2_html"><div class="ttname"><a href="structDdtHeader2.html">DdtHeader2</a></div><div class="ttdoc">Header preceding a version 2 hierarchical deduplication table.</div><div class="ttdef"><b>Definition</b> <a href="#l00141">ddt.h:142</a></div></div>
<div class="ttc" id="astructDdtHeader2_html_a0799563cf99f679ee26840e32d52ca0f"><div class="ttname"><a href="structDdtHeader2.html#a0799563cf99f679ee26840e32d52ca0f">DdtHeader2::cmpCrc64</a></div><div class="ttdeci">uint64_t cmpCrc64</div><div class="ttdoc">CRC64-ECMA of compressed table payload.</div><div class="ttdef"><b>Definition</b> <a href="#l00161">ddt.h:161</a></div></div>
<div class="ttc" id="astructDdtHeader2_html_a14f9ccf36df63e036d69291182cf7bbb"><div class="ttname"><a href="structDdtHeader2.html#a14f9ccf36df63e036d69291182cf7bbb">DdtHeader2::type</a></div><div class="ttdeci">uint16_t type</div><div class="ttdoc">Data classification (DataType) for sectors referenced by this table.</div><div class="ttdef"><b>Definition</b> <a href="#l00144">ddt.h:144</a></div></div>
<div class="ttc" id="astructDdtHeader2_html_a238a2ca31ce0f60af3e59a1cb3e2e73c"><div class="ttname"><a href="structDdtHeader2.html#a238a2ca31ce0f60af3e59a1cb3e2e73c">DdtHeader2::start</a></div><div class="ttdeci">uint64_t start</div><div class="ttdoc">Base internal index covered by this table (used for secondary tables; currently informational).</div><div class="ttdef"><b>Definition</b> <a href="#l00153">ddt.h:153</a></div></div>
<div class="ttc" id="astructDdtHeader2_html_a2bfa558d9d778ae6b86d52520e278b66"><div class="ttname"><a href="structDdtHeader2.html#a2bfa558d9d778ae6b86d52520e278b66">DdtHeader2::overflow</a></div><div class="ttdeci">uint16_t overflow</div><div class="ttdoc">Trailing dumped sectors beyond user area (overflow range), still mapped with entries.</div><div class="ttdef"><b>Definition</b> <a href="#l00151">ddt.h:151</a></div></div>
<div class="ttc" id="astructDdtHeader2_html_a4d69e092386cdf3499b17bd6f63a0d8d"><div class="ttname"><a href="structDdtHeader2.html#a4d69e092386cdf3499b17bd6f63a0d8d">DdtHeader2::crc64</a></div><div class="ttdeci">uint64_t crc64</div><div class="ttdoc">CRC64-ECMA of uncompressed table payload.</div><div class="ttdef"><b>Definition</b> <a href="#l00162">ddt.h:162</a></div></div>
<div class="ttc" id="astructDdtHeader2_html_a4e90c22109c3fff37b526a113b094a50"><div class="ttname"><a href="structDdtHeader2.html#a4e90c22109c3fff37b526a113b094a50">DdtHeader2::entries</a></div><div class="ttdeci">uint64_t entries</div><div class="ttdoc">Number of entries contained in (uncompressed) table payload.</div><div class="ttdef"><b>Definition</b> <a href="#l00158">ddt.h:158</a></div></div>
<div class="ttc" id="astructDdtHeader2_html_a68f4825db4e22906af0e55a359360656"><div class="ttname"><a href="structDdtHeader2.html#a68f4825db4e22906af0e55a359360656">DdtHeader2::levels</a></div><div class="ttdeci">uint8_t levels</div><div class="ttdoc">Total number of hierarchy levels (root depth); &gt; 0.</div><div class="ttdef"><b>Definition</b> <a href="#l00146">ddt.h:146</a></div></div>
<div class="ttc" id="astructDdtHeader2_html_a7266134edef8efc7c449649f3035d189"><div class="ttname"><a href="structDdtHeader2.html#a7266134edef8efc7c449649f3035d189">DdtHeader2::length</a></div><div class="ttdeci">uint64_t length</div><div class="ttdoc">Uncompressed payload size in bytes.</div><div class="ttdef"><b>Definition</b> <a href="#l00160">ddt.h:160</a></div></div>
<div class="ttc" id="astructDdtHeader2_html_a80a88ec68cd0332a57886ac363bfa4d1"><div class="ttname"><a href="structDdtHeader2.html#a80a88ec68cd0332a57886ac363bfa4d1">DdtHeader2::identifier</a></div><div class="ttdeci">uint32_t identifier</div><div class="ttdoc">Block identifier, must be BlockType::DeDuplicationTable2.</div><div class="ttdef"><b>Definition</b> <a href="#l00143">ddt.h:143</a></div></div>
<div class="ttc" id="astructDdtHeader2_html_a8c2110cbb42bde3c0e302d3429024b04"><div class="ttname"><a href="structDdtHeader2.html#a8c2110cbb42bde3c0e302d3429024b04">DdtHeader2::tableShift</a></div><div class="ttdeci">uint8_t tableShift</div><div class="ttdoc">2^tableShift = number of logical sectors per primary entry (multi-level only; 0 for single-level or s...</div><div class="ttdef"><b>Definition</b> <a href="#l00156">ddt.h:156</a></div></div>
<div class="ttc" id="astructDdtHeader2_html_a9571c1d556e33537935bab1edba31135"><div class="ttname"><a href="structDdtHeader2.html#a9571c1d556e33537935bab1edba31135">DdtHeader2::blocks</a></div><div class="ttdeci">uint64_t blocks</div><div class="ttdoc">Total internal span (negative + usable + overflow) in logical sectors.</div><div class="ttdef"><b>Definition</b> <a href="#l00150">ddt.h:150</a></div></div>
<div class="ttc" id="astructDdtHeader2_html_aa4b1416ac0e0585f436513cacf9ebd74"><div class="ttname"><a href="structDdtHeader2.html#aa4b1416ac0e0585f436513cacf9ebd74">DdtHeader2::negative</a></div><div class="ttdeci">uint16_t negative</div><div class="ttdoc">Leading negative LBA count; added to external L to build internal index.</div><div class="ttdef"><b>Definition</b> <a href="#l00149">ddt.h:149</a></div></div>
<div class="ttc" id="astructDdtHeader2_html_aa67b097c3a20f926ede495d27152f1c0"><div class="ttname"><a href="structDdtHeader2.html#aa67b097c3a20f926ede495d27152f1c0">DdtHeader2::blockAlignmentShift</a></div><div class="ttdeci">uint8_t blockAlignmentShift</div><div class="ttdoc">2^blockAlignmentShift = block alignment boundary in bytes.</div><div class="ttdef"><b>Definition</b> <a href="#l00154">ddt.h:154</a></div></div>
<div class="ttc" id="astructDdtHeader2_html_ac8ec7921a5651b5107eda4e99b488798"><div class="ttname"><a href="structDdtHeader2.html#ac8ec7921a5651b5107eda4e99b488798">DdtHeader2::tableLevel</a></div><div class="ttdeci">uint8_t tableLevel</div><div class="ttdoc">Zero-based level index of this table (0 = root, increases downward).</div><div class="ttdef"><b>Definition</b> <a href="#l00147">ddt.h:147</a></div></div>
<div class="ttc" id="astructDdtHeader2_html_ad1a27a46df09748a91a9010a630c422e"><div class="ttname"><a href="structDdtHeader2.html#ad1a27a46df09748a91a9010a630c422e">DdtHeader2::compression</a></div><div class="ttdeci">uint16_t compression</div><div class="ttdoc">Compression algorithm for this table body (CompressionType).</div><div class="ttdef"><b>Definition</b> <a href="#l00145">ddt.h:145</a></div></div>
<div class="ttc" id="astructDdtHeader2_html_ad9a2beb3a79bc6c239ba04fe341e0cde"><div class="ttname"><a href="structDdtHeader2.html#ad9a2beb3a79bc6c239ba04fe341e0cde">DdtHeader2::dataShift</a></div><div class="ttdeci">uint8_t dataShift</div><div class="ttdoc">2^dataShift = sectors represented per increment in blockIndex field.</div><div class="ttdef"><b>Definition</b> <a href="#l00155">ddt.h:155</a></div></div>
<div class="ttc" id="astructDdtHeader2_html_aee50fc92a9151bd352808b28bccd5045"><div class="ttname"><a href="structDdtHeader2.html#aee50fc92a9151bd352808b28bccd5045">DdtHeader2::cmpLength</a></div><div class="ttdeci">uint64_t cmpLength</div><div class="ttdoc">Compressed payload size in bytes.</div><div class="ttdef"><b>Definition</b> <a href="#l00159">ddt.h:159</a></div></div>
<div class="ttc" id="astructDdtHeader2_html_af71423c2a8c7fa89dfd2313b456c57a2"><div class="ttname"><a href="structDdtHeader2.html#af71423c2a8c7fa89dfd2313b456c57a2">DdtHeader2::previousLevelOffset</a></div><div class="ttdeci">uint64_t previousLevelOffset</div><div class="ttdoc">Absolute byte offset of the parent (previous) level table; 0 if root.</div><div class="ttdef"><b>Definition</b> <a href="#l00148">ddt.h:148</a></div></div>
<div class="ttc" id="astructDdtHeader_html"><div class="ttname"><a href="structDdtHeader.html">DdtHeader</a></div><div class="ttdoc">Header preceding a version 1 (flat) deduplication table body.</div><div class="ttdef"><b>Definition</b> <a href="#l00065">ddt.h:66</a></div></div>
<div class="ttc" id="astructDdtHeader_html_a1b533f6a2db8316e66d2615f0bdcbb47"><div class="ttname"><a href="structDdtHeader.html#a1b533f6a2db8316e66d2615f0bdcbb47">DdtHeader::crc64</a></div><div class="ttdeci">uint64_t crc64</div><div class="ttdoc">CRC64-ECMA of the uncompressed payload.</div><div class="ttdef"><b>Definition</b> <a href="#l00075">ddt.h:75</a></div></div>
<div class="ttc" id="astructDdtHeader_html_a3d12905ae4eefa62cff390bf694f96ea"><div class="ttname"><a href="structDdtHeader.html#a3d12905ae4eefa62cff390bf694f96ea">DdtHeader::shift</a></div><div class="ttdeci">uint8_t shift</div><div class="ttdoc">Left shift applied to per-entry file offset component forming logicalEntryValue.</div><div class="ttdef"><b>Definition</b> <a href="#l00070">ddt.h:70</a></div></div>
<div class="ttc" id="astructDdtHeader_html_a582d814208475da3a610e7773a3b2ded"><div class="ttname"><a href="structDdtHeader.html#a582d814208475da3a610e7773a3b2ded">DdtHeader::compression</a></div><div class="ttdeci">uint16_t compression</div><div class="ttdoc">Compression algorithm for the table body (CompressionType).</div><div class="ttdef"><b>Definition</b> <a href="#l00069">ddt.h:69</a></div></div>
<div class="ttc" id="astructDdtHeader_html_a640bdd80a0bab66d82d36e9d25ed86a4"><div class="ttname"><a href="structDdtHeader.html#a640bdd80a0bab66d82d36e9d25ed86a4">DdtHeader::identifier</a></div><div class="ttdeci">uint32_t identifier</div><div class="ttdoc">Block identifier, must be BlockType::DeDuplicationTable.</div><div class="ttdef"><b>Definition</b> <a href="#l00067">ddt.h:67</a></div></div>
<div class="ttc" id="astructDdtHeader_html_a683a82d49a20adf6348fbcde58e2ecd9"><div class="ttname"><a href="structDdtHeader.html#a683a82d49a20adf6348fbcde58e2ecd9">DdtHeader::cmpLength</a></div><div class="ttdeci">uint64_t cmpLength</div><div class="ttdoc">Size in bytes of compressed entries payload.</div><div class="ttdef"><b>Definition</b> <a href="#l00072">ddt.h:72</a></div></div>
<div class="ttc" id="astructDdtHeader_html_a6c427b746b3fa0fd161094ba0adf3f56"><div class="ttname"><a href="structDdtHeader.html#a6c427b746b3fa0fd161094ba0adf3f56">DdtHeader::length</a></div><div class="ttdeci">uint64_t length</div><div class="ttdoc">Size in bytes of uncompressed entries payload.</div><div class="ttdef"><b>Definition</b> <a href="#l00073">ddt.h:73</a></div></div>
<div class="ttc" id="astructDdtHeader_html_a74eb3f36e0c52cc59849fcc7b283d84d"><div class="ttname"><a href="structDdtHeader.html#a74eb3f36e0c52cc59849fcc7b283d84d">DdtHeader::entries</a></div><div class="ttdeci">uint64_t entries</div><div class="ttdoc">Number of deduplication entries contained in (uncompressed) table.</div><div class="ttdef"><b>Definition</b> <a href="#l00071">ddt.h:71</a></div></div>
<div class="ttc" id="astructDdtHeader_html_a7d0eb9ac1d810626e9f86b7f8c8655f5"><div class="ttname"><a href="structDdtHeader.html#a7d0eb9ac1d810626e9f86b7f8c8655f5">DdtHeader::type</a></div><div class="ttdeci">uint16_t type</div><div class="ttdoc">Data classification (DataType) for sectors referenced by this table.</div><div class="ttdef"><b>Definition</b> <a href="#l00068">ddt.h:68</a></div></div>
<div class="ttc" id="astructDdtHeader_html_ab3c100c0dc3e5f6ef97366a6a27e642f"><div class="ttname"><a href="structDdtHeader.html#ab3c100c0dc3e5f6ef97366a6a27e642f">DdtHeader::cmpCrc64</a></div><div class="ttdeci">uint64_t cmpCrc64</div><div class="ttdoc">CRC64-ECMA of the compressed payload.</div><div class="ttdef"><b>Definition</b> <a href="#l00074">ddt.h:74</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_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a href="dir_aeff2545c9dfcfc842fe9d84b123cb31.html">aaruformat</a></li><li class="navelem"><a href="dir_6387aeb6e475a334d8dc12d69f21999e.html">structs</a></li><li class="navelem"><a href="ddt_8h.html">ddt.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
</ul>
</div>
</body>
</html>