2.4 Content Information Data Structure Version 2.0

Version 2.0 of the Content Information data structure MUST be formatted as follows.<3> All fields are in big-endian byte order.

The Content Information version 2.0 data structure is composed of two single-byte version fields, a Content Information header, and a variable number of Content Information chunks.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

bMinorVersion

bMajorVersion

bHashAlgo

ullStartInContent

...

...

ullIndexOfFirstSegment

...

...

dwOffsetInFirstSegment

...

ullLengthOfRange

...

...

chunks (variable)

...

bMinorVersion (1 byte): Content Information minor version. MUST be 0x00.

bMajorVersion (1 byte): Content Information major version. MUST be 0x02.

bHashAlgo (1 byte): Hash algorithm to use. bHashAlgo MUST be the following value:

Value

Meaning

0x04

Use a truncated SHA-512 hash algorithm, in which the SHA-512 hash is computed, and the first 256 bits are used as the hash.

ullStartInContent (8 bytes): The byte offset in the content at which the start of the first segments in the Content Information begins.

ullIndexOfFirstSegment (8 bytes): The zero-based index in the content of the first segments in the Content Information.

dwOffsetInFirstSegment (4 bytes): The byte offset within the first segments in the Content Information structure at which the content range begins.

ullLengthOfRange (8 bytes): The length of the content range or zero if the Content Information structure reflects the entire resource.

chunks (variable): Chunk type, chunk data length, and chunk data for each chunk of Content Information. Each Content Information chunk is as specified in 2.4.1.1.