* No signature is more than 2048 bytes long.
<h2> == Additional sections </h2>==<p>Additional MAR file sections may defined in the future. These sections must follow directly after the SIGNATURES section. </p><p>Each additional block must be in the following format:</p><pre class="_fck_mw_lspace"> 4 bytes: Block separator {0, 0, 0, 0} (To disambiguate from the INDEX block)
4 bytes: Block identifier
4 bytes: Block size (Z)
Z bytes: The rest of the block.
</pre>
<p>The block separator is so the MAR reader code knows whether it is reading an additional block or if it is reading the INDEX.IndexSize.
</p><p>The Block identifier is a value used to uniquely identify additional blocks so that they may be optionally added in any order.
</p>
<h3>The block separator is so the MAR reader code knows whether it is reading an additional block or if it is reading the INDEX.IndexSize. The Block identifier is a value used to uniquely identify additional blocks so that they may be optionally added in any order. === Product Information Block</h3>===<pre class="_fck_mw_lspace"> 4 bytes: Block separator {0, 0, 0, 0} (To disambiguate from the INDEX block)
4 bytes: Block identifier
4 bytes: Block size (Z)
Z bytes: The rest of the block.
</pre>
== Source Code ==