Software Update:MAR: Difference between revisions

Jump to navigation Jump to search
Line 68: Line 68:
* No signature is more than 2048 bytes long.
* No signature is more than 2048 bytes long.


== Additional sections ==
<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>


Additional MAR file sections may defined in the future.  These sections must follow directly after the SIGNATURES section. 
<h3>Product Information Block</h3>
 
<pre class="_fck_mw_lspace"> 4 bytes: Block separator {0, 0, 0, 0} (To disambiguate from the INDEX block)
Each additional block must be in the following format:
4 bytes: Block identifier
 
4 bytes: Block size (Z)
  4 bytes: Block separator {0, 0, 0, 0} (To disambiguate from the INDEX block)
Z bytes: The rest of the block.
  4 bytes: Block identifier
</pre>
  4 bytes: Block size (Z)
  Z bytes: The rest of the block.
 
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.


== Source Code ==
== Source Code ==
Confirmed users
394

edits

Navigation menu