<trclass="memdesc:"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Header preceding the compressed data payload of a data block (BlockType::DataBlock). <ahref="structBlockHeader.html#details">More...</a><br/></td></tr>
<p>These packed structures describe the headers that precede variable-length payloads inside blocks whose identifiers are enumerated in <aclass="el"href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3"title="BlockType">BlockType</a>. All integer fields are stored little-endian on disk. The library currently assumes a little-endian host; if ported to a big-endian architecture explicit byte swapping will be required.</p>
<p>Layout of a data block (BlockType::DataBlock): <aclass="el"href="structBlockHeader.html"title="Header preceding the compressed data payload of a data block (BlockType::DataBlock).">BlockHeader</a> (sizeof(BlockHeader) bytes) Compressed payload (cmpLength bytes)</p>
<li>Apply the algorithm indicated by <aclass="el"href="structBlockHeader.html#ad68963422fd2a5f6d0e0be751cbef559"title="BlockHeader::compression">BlockHeader::compression</a> (<aclass="el"href="enums_8h.html#affec749ed88365143745313ae9168263"title="CompressionType">CompressionType</a>) to the cmpLength bytes following the header to obtain exactly <aclass="el"href="structBlockHeader.html#a1f9f3204a10090709b28d0df4bb547e5"title="BlockHeader::length">BlockHeader::length</a> bytes.</li>
<li>The uncompressed data MUST be an integer multiple of <aclass="el"href="structBlockHeader.html#a5bd50f95c8c1f91e5013a1a154690beb"title="BlockHeader::sectorSize">BlockHeader::sectorSize</a>.</li>
<p>Geometry block (BlockType::GeometryBlock) has a <aclass="el"href="structGeometryBlockHeader.html"title="GeometryBlockHeader">GeometryBlockHeader</a> followed by no additional fixed payload in the current format version; it conveys legacy CHS-style logical geometry metadata.</p>
<dlclass="section warning"><dt>Warning</dt><dd>These structs are packed; do not take their address and assume natural alignment. </dd></dl>
<dlclass="section see"><dt>See also</dt><dd><aclass="el"href="enums_8h.html#a54420623f26ab6bb61042b41cccf37a3"title="List of known block types contained in an Aaru image.">BlockType</a></dd>
<dd>
<aclass="el"href="enums_8h.html#ad8ed01ff3ff33333d8e19db4d2818bb6"title="List of known data types stored within an Aaru image.">DataType</a></dd>
<dd>
<aclass="el"href="enums_8h.html#affec749ed88365143745313ae9168263"title="List of known compression types.">CompressionType</a></dd></dl>
<pclass="definition">Definition in file <aclass="el"href="data_8h_source.html">data.h</a>.</p>
<liclass="footer">Generated by <ahref="https://www.doxygen.org/index.html"><imgclass="footer"src="doxygen.svg"width="104"height="31"alt="doxygen"/></a> 1.16.1 </li>