2.5.1 Fib

The Fib structure contains information about the document and specifies the file pointers to various portions that make up the document.

The Fib is a variable length structure. With the exception of the base portion which is fixed in size, every section is preceded with a count field that specifies the size of the next section.


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

base (32 bytes)

...

...

csw

fibRgW (28 bytes)

...

...

...

cslw

fibRgLw (88 bytes)

...

...

cbRgFcLcb

fibRgFcLcbBlob (variable)

...

cswNew

fibRgCswNew (variable)

...

base (32 bytes): The FibBase.

csw (2 bytes): An unsigned integer that specifies the count of 16-bit values corresponding to fibRgW that follow. MUST be 0x000E.

fibRgW (28 bytes): The FibRgW97.

cslw (2 bytes): An unsigned integer that specifies the count of 32-bit values corresponding to fibRgLw that follow. MUST be 0x0016.

fibRgLw (88 bytes): The FibRgLw97.

cbRgFcLcb (2 bytes): An unsigned integer that specifies the count of 64-bit values corresponding to fibRgFcLcbBlob that follow. This MUST be one of the following values, depending on the value of nFib.

Value of nFib

cbRgFcLcb

0x00C1

0x005D

0x00D9

0x006C

0x0101

0x0088

0x010C

0x00A4

0x0112

0x00B7

fibRgFcLcbBlob (variable): The FibRgFcLcb.

cswNew (2 bytes): An unsigned integer that specifies the count of 16-bit values corresponding to fibRgCswNew that follow. This MUST be one of the following values, depending on the value of nFib.

Value of nFib

cswNew

0x00C1

0

0x00D9

0x0002

0x0101

0x0002

0x010C

0x0002

0x0112

0x0005

fibRgCswNew (variable): If cswNew is nonzero, this is fibRgCswNew. Otherwise, it is not present in the file.