Confirmed users
394
edits
Line 68: | Line 68: | ||
* No signature is more than 2048 bytes long. | * 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>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 == | == Source Code == |