<ahref="header_8h.html">Go to the documentation of this file.</a><divclass="fragment"><divclass="line"><aid="l00001"name="l00001"></a><spanclass="lineno"> 1</span><spanclass="comment">/*</span></div>
<divclass="line"><aid="l00002"name="l00002"></a><spanclass="lineno"> 2</span><spanclass="comment"> * This file is part of the Aaru Data Preservation Suite.</span></div>
<divclass="line"><aid="l00005"name="l00005"></a><spanclass="lineno"> 5</span><spanclass="comment"> * This library is free software; you can redistribute it and/or modify</span></div>
<divclass="line"><aid="l00006"name="l00006"></a><spanclass="lineno"> 6</span><spanclass="comment"> * it under the terms of the GNU Lesser General Public License as</span></div>
<divclass="line"><aid="l00007"name="l00007"></a><spanclass="lineno"> 7</span><spanclass="comment"> * published by the Free Software Foundation; either version 2.1 of the</span></div>
<divclass="line"><aid="l00008"name="l00008"></a><spanclass="lineno"> 8</span><spanclass="comment"> * License, or (at your option) any later version.</span></div>
<divclass="line"><aid="l00010"name="l00010"></a><spanclass="lineno"> 10</span><spanclass="comment"> * This library is distributed in the hope that it will be useful, but</span></div>
<divclass="line"><aid="l00011"name="l00011"></a><spanclass="lineno"> 11</span><spanclass="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<divclass="line"><aid="l00012"name="l00012"></a><spanclass="lineno"> 12</span><spanclass="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
<divclass="line"><aid="l00013"name="l00013"></a><spanclass="lineno"> 13</span><spanclass="comment"> * Lesser General Public License for more details.</span></div>
<divclass="line"><aid="l00015"name="l00015"></a><spanclass="lineno"> 15</span><spanclass="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
<divclass="line"><aid="l00016"name="l00016"></a><spanclass="lineno"> 16</span><spanclass="comment"> * License along with this library; if not, see <http://www.gnu.org/licenses/>.</span></div>
<divclass="ttc"id="aheader_8h_html_a57c99b24137b82f12950e79ffbd2fb7a"><divclass="ttname"><ahref="header_8h.html#a57c99b24137b82f12950e79ffbd2fb7a">GUID_SIZE</a></div><divclass="ttdeci">#define GUID_SIZE</div><divclass="ttdoc">Size in bytes of GUID / UUID-like binary identifier.</div><divclass="ttdef"><b>Definition</b><ahref="#l00060">header.h:60</a></div></div>
<divclass="ttc"id="aheader_8h_html_ab17964dacc36dca03ec5e75aa40a4502"><divclass="ttname"><ahref="header_8h.html#ab17964dacc36dca03ec5e75aa40a4502">AARU_HEADER_APP_NAME_LEN</a></div><divclass="ttdeci">#define AARU_HEADER_APP_NAME_LEN</div><divclass="ttdoc">Size in bytes (UTF-16LE) of application name field (32 UTF-16 code units).</div><divclass="ttdef"><b>Definition</b><ahref="#l00059">header.h:59</a></div></div>
<divclass="ttc"id="astructAaruHeaderV2_html"><divclass="ttname"><ahref="structAaruHeaderV2.html">AaruHeaderV2</a></div><divclass="ttdoc">Version 2 container header with GUID, alignment shifts, and feature negotiation bitmaps.</div><divclass="ttdef"><b>Definition</b><ahref="#l00106">header.h:107</a></div></div>
<divclass="ttc"id="astructAaruHeaderV2_html_a1c26feafd945328f8f1854b523a0f03c"><divclass="ttname"><ahref="structAaruHeaderV2.html#a1c26feafd945328f8f1854b523a0f03c">AaruHeaderV2::applicationMajorVersion</a></div><divclass="ttdeci">uint8_t applicationMajorVersion</div><divclass="ttdoc">Creator application major version.</div><divclass="ttdef"><b>Definition</b><ahref="#l00112">header.h:112</a></div></div>
<divclass="ttc"id="astructAaruHeaderV2_html_a35c4fa9c7e21cdea332efdb34383abad"><divclass="ttname"><ahref="structAaruHeaderV2.html#a35c4fa9c7e21cdea332efdb34383abad">AaruHeaderV2::tableShift</a></div><divclass="ttdeci">uint8_t tableShift</div><divclass="ttdoc">log2 sectors spanned by each primary DDT entry (0 = single-level).</div><divclass="ttdef"><b>Definition</b><ahref="#l00121">header.h:121</a></div></div>
<divclass="ttc"id="astructAaruHeaderV2_html_a3a3a71ed3c7d48791a450b822c05ea2a"><divclass="ttname"><ahref="structAaruHeaderV2.html#a3a3a71ed3c7d48791a450b822c05ea2a">AaruHeaderV2::featureIncompatible</a></div><divclass="ttdeci">uint64_t featureIncompatible</div><divclass="ttdoc">Feature bits: any unimplemented -> abort (cannot open safely).</div><divclass="ttdef"><b>Definition</b><ahref="#l00124">header.h:124</a></div></div>
<divclass="ttc"id="astructAaruHeaderV2_html_a45bc7e2afc9008ce6f4ae1dba93bdac3"><divclass="ttname"><ahref="structAaruHeaderV2.html#a45bc7e2afc9008ce6f4ae1dba93bdac3">AaruHeaderV2::lastWrittenTime</a></div><divclass="ttdeci">int64_t lastWrittenTime</div><divclass="ttdoc">Last modification FILETIME (100 ns since 1601-01-01 UTC).</div><divclass="ttdef"><b>Definition</b><ahref="#l00117">header.h:117</a></div></div>
<divclass="ttc"id="astructAaruHeaderV2_html_a4c3f5ccfe34123e402d1b7641d0d6c03"><divclass="ttname"><ahref="structAaruHeaderV2.html#a4c3f5ccfe34123e402d1b7641d0d6c03">AaruHeaderV2::featureCompatible</a></div><divclass="ttdeci">uint64_t featureCompatible</div><divclass="ttdoc">Feature bits: unimplemented bits are ignorable (still R/W safe).</div><divclass="ttdef"><b>Definition</b><ahref="#l00122">header.h:122</a></div></div>
<divclass="ttc"id="astructAaruHeaderV2_html_a4ec4b1d593f5a0af19f6d7b8eaeada40"><divclass="ttname"><ahref="structAaruHeaderV2.html#a4ec4b1d593f5a0af19f6d7b8eaeada40">AaruHeaderV2::indexOffset</a></div><divclass="ttdeci">uint64_t indexOffset</div><divclass="ttdoc">Absolute byte offset to primary index block (MUST be > 0; 0 => corrupt/unreadable).</div><divclass="ttdef"><b>Definition</b><ahref="#l00115">header.h:115</a></div></div>
<divclass="ttc"id="astructAaruHeaderV2_html_a520d6f22b18a42fee0c6d72fbe3e064d"><divclass="ttname"><ahref="structAaruHeaderV2.html#a520d6f22b18a42fee0c6d72fbe3e064d">AaruHeaderV2::dataShift</a></div><divclass="ttdeci">uint8_t dataShift</div><divclass="ttdoc">log2 sectors/items per block-index increment in DDT entries (2^dataShift).</div><divclass="ttdef"><b>Definition</b><ahref="#l00120">header.h:120</a></div></div>
<divclass="ttc"id="astructAaruHeaderV2_html_a5ae79accbb8ba2762d01a63ad334ee60"><divclass="ttname"><ahref="structAaruHeaderV2.html#a5ae79accbb8ba2762d01a63ad334ee60">AaruHeaderV2::applicationMinorVersion</a></div><divclass="ttdeci">uint8_t applicationMinorVersion</div><divclass="ttdoc">Creator application minor / patch version.</div><divclass="ttdef"><b>Definition</b><ahref="#l00113">header.h:113</a></div></div>
<divclass="ttc"id="astructAaruHeaderV2_html_a69ff1a1dbdaf0501e6488451b7270b51"><divclass="ttname"><ahref="structAaruHeaderV2.html#a69ff1a1dbdaf0501e6488451b7270b51">AaruHeaderV2::guid</a></div><divclass="ttdeci">uint8_t guid[16]</div><divclass="ttdoc">128-bit image GUID (binary, not text); stable across children.</div><divclass="ttdef"><b>Definition</b><ahref="#l00118">header.h:118</a></div></div>
<divclass="ttc"id="astructAaruHeaderV2_html_a81b114ab2b1fa786f64e9e914af3ba27"><divclass="ttname"><ahref="structAaruHeaderV2.html#a81b114ab2b1fa786f64e9e914af3ba27">AaruHeaderV2::mediaType</a></div><divclass="ttdeci">uint32_t mediaType</div><divclass="ttdoc">Media type enumeration (value from MediaType).</div><divclass="ttdef"><b>Definition</b><ahref="#l00114">header.h:114</a></div></div>
<divclass="ttc"id="astructAaruHeaderV2_html_a9dae72bee3d161760dbbe389e4a70444"><divclass="ttname"><ahref="structAaruHeaderV2.html#a9dae72bee3d161760dbbe389e4a70444">AaruHeaderV2::featureCompatibleRo</a></div><divclass="ttdeci">uint64_t featureCompatibleRo</div><divclass="ttdoc">Feature bits: unimplemented -> degrade to read-only access.</div><divclass="ttdef"><b>Definition</b><ahref="#l00123">header.h:123</a></div></div>
<divclass="ttc"id="astructAaruHeaderV2_html_ae2d6d3c7bc0a1956fb246cf7acbddeeb"><divclass="ttname"><ahref="structAaruHeaderV2.html#ae2d6d3c7bc0a1956fb246cf7acbddeeb">AaruHeaderV2::imageMinorVersion</a></div><divclass="ttdeci">uint8_t imageMinorVersion</div><divclass="ttdoc">Container format minor version.</div><divclass="ttdef"><b>Definition</b><ahref="#l00111">header.h:111</a></div></div>
<divclass="ttc"id="astructAaruHeaderV2_html_ae849dae5af5cf31b1b815ef67b3c621f"><divclass="ttname"><ahref="structAaruHeaderV2.html#ae849dae5af5cf31b1b815ef67b3c621f">AaruHeaderV2::creationTime</a></div><divclass="ttdeci">int64_t creationTime</div><divclass="ttdoc">Creation FILETIME (100 ns since 1601-01-01 UTC).</div><divclass="ttdef"><b>Definition</b><ahref="#l00116">header.h:116</a></div></div>
<divclass="ttc"id="astructAaruHeaderV2_html_af79ca31bcd428d1a54ac25c30d09b7a7"><divclass="ttname"><ahref="structAaruHeaderV2.html#af79ca31bcd428d1a54ac25c30d09b7a7">AaruHeaderV2::imageMajorVersion</a></div><divclass="ttdeci">uint8_t imageMajorVersion</div><divclass="ttdoc">Container format major version.</div><divclass="ttdef"><b>Definition</b><ahref="#l00110">header.h:110</a></div></div>
<divclass="ttc"id="astructAaruHeader_html"><divclass="ttname"><ahref="structAaruHeader.html">AaruHeader</a></div><divclass="ttdoc">Version 1 container header placed at offset 0 for legacy / initial format.</div><divclass="ttdef"><b>Definition</b><ahref="#l00076">header.h:77</a></div></div>
<divclass="ttc"id="astructAaruHeader_html_a0447bb5fd2938067455fc6b2f52b7dd4"><divclass="ttname"><ahref="structAaruHeader.html#a0447bb5fd2938067455fc6b2f52b7dd4">AaruHeader::lastWrittenTime</a></div><divclass="ttdeci">int64_t lastWrittenTime</div><divclass="ttdoc">Last modification FILETIME (100 ns since 1601-01-01 UTC).</div><divclass="ttdef"><b>Definition</b><ahref="#l00087">header.h:87</a></div></div>
<divclass="ttc"id="astructAaruHeader_html_a267034c125b34596ce7f580b56790c20"><divclass="ttname"><ahref="structAaruHeader.html#a267034c125b34596ce7f580b56790c20">AaruHeader::applicationMinorVersion</a></div><divclass="ttdeci">uint8_t applicationMinorVersion</div><divclass="ttdoc">Creator application minor / patch version.</div><divclass="ttdef"><b>Definition</b><ahref="#l00083">header.h:83</a></div></div>
<divclass="ttc"id="astructAaruHeader_html_a50191fbb48b58fd10bbb4b4e6458fa0d"><divclass="ttname"><ahref="structAaruHeader.html#a50191fbb48b58fd10bbb4b4e6458fa0d">AaruHeader::applicationMajorVersion</a></div><divclass="ttdeci">uint8_t applicationMajorVersion</div><divclass="ttdoc">Creator application major version.</div><divclass="ttdef"><b>Definition</b><ahref="#l00082">header.h:82</a></div></div>
<divclass="ttc"id="astructAaruHeader_html_a6e3491e610ddb25885cba59ac9793193"><divclass="ttname"><ahref="structAaruHeader.html#a6e3491e610ddb25885cba59ac9793193">AaruHeader::application</a></div><divclass="ttdeci">uint8_t application[64]</div><divclass="ttdoc">UTF-16LE creator application name (fixed-size buffer).</div><divclass="ttdef"><b>Definition</b><ahref="#l00079">header.h:79</a></div></div>
<divclass="ttc"id="astructAaruHeader_html_a95bd4c3c038bf354c04216e0a025aff3"><divclass="ttname"><ahref="structAaruHeader.html#a95bd4c3c038bf354c04216e0a025aff3">AaruHeader::imageMajorVersion</a></div><divclass="ttdeci">uint8_t imageMajorVersion</div><divclass="ttdoc">Container format major version (incompatible changes when incremented).</div><divclass="ttdef"><b>Definition</b><ahref="#l00080">header.h:80</a></div></div>
<divclass="ttc"id="astructAaruHeader_html_a9eb2bde1126e58254c82d4205a9f0ad5"><divclass="ttname"><ahref="structAaruHeader.html#a9eb2bde1126e58254c82d4205a9f0ad5">AaruHeader::imageMinorVersion</a></div><divclass="ttdeci">uint8_t imageMinorVersion</div><divclass="ttdoc">Container format minor version (backward compatible evolutions).</div><divclass="ttdef"><b>Definition</b><ahref="#l00081">header.h:81</a></div></div>
<divclass="ttc"id="astructAaruHeader_html_aacb36b5521218ce37b786a3db520b96e"><divclass="ttname"><ahref="structAaruHeader.html#aacb36b5521218ce37b786a3db520b96e">AaruHeader::indexOffset</a></div><divclass="ttdeci">uint64_t indexOffset</div><divclass="ttdoc">Absolute byte offset to primary index block (MUST be > 0; 0 => corrupt/unreadable).</div><divclass="ttdef"><b>Definition</b><ahref="#l00085">header.h:85</a></div></div>
<divclass="ttc"id="astructAaruHeader_html_ac00dee40414001cdfc4b9fdcc4ebd6ef"><divclass="ttname"><ahref="structAaruHeader.html#ac00dee40414001cdfc4b9fdcc4ebd6ef">AaruHeader::mediaType</a></div><divclass="ttdeci">uint32_t mediaType</div><divclass="ttdoc">Media type enumeration (value from MediaType).</div><divclass="ttdef"><b>Definition</b><ahref="#l00084">header.h:84</a></div></div>
<liclass="footer">Generated by <ahref="https://www.doxygen.org/index.html"><imgclass="footer"src="doxygen.svg"width="104"height="31"alt="doxygen"/></a> 1.14.0 </li>