Definition of type: "FIBFCLCB"
Decimal | Hex | Field | Type | Bitfield | Comments |
0 | 0x0000 | fc | long | ||
4 | 0x0004 | lcb | ulong |
Definition of type: "FIB"
In Word version 8, the FIB is reorganized to make future extention easier, and to make it easier to make backward compatible file format changes. The FIB now consists of four substructures: the header and three arrays. The FIB header, is unchanged from past versions. The second part is an array of 16-bit "shorts", most of which were present in earlier versions in different locations. The third part is an array of 32-bit longs, many of which were scattered through the previous version FIB. Finally, there is an array of FC/LCB pairs, which were divided into several disjoint arrays in the previous FIB. Future versions of Word will add entries to the three arrays, so readers of the FIB must be careful to skip over any entries in each array that were not present in the version for which the reader was designed. Writers of the FIB must write exactly as many entries as was defined for the nFib value they put in the FIB.
The FIBFCLCB structure, used in the last array in the FIB:
Decimal |
Hex |
Name |
Type | Bitfield Size | Bitfield Mask |
Comments |
0 | 0x0000 | fc | long | File position where data begins. | ||
4 | 0x0004 | lcb | ulong | Size of data. Ignore fc if lcb is zero. |
The FIB structure itself:
Decimal |
Hex |
Name |
Type | Bitfield Size | Bitfield Mask |
Comments |
0 | 0x0000 | fibh | FIBH | Beginning of the FIB header | ||
0 | 0x0000 | wIdent | ushort | magic number | ||
2 | 0x0002 | nFib | ushort | FIB version written. This will be >= 101 for all Word 6.0 for Windows and after documents. | ||
4 | 0x0004 | nProduct | ushort | product version written by | ||
6 | 0x0006 | lid | ushort | language stamp---localized version In pre-WinWord 2.0 files this value was the nLocale. If value is < 999, then it is the nLocale, otherwise it is the lid. | ||
8 | 0x0008 | pnNext | short | |||
10 | 0x000A | fDot | ushort | :1 | 0x0001 | Set if this document is a template |
fGlsy | ushort | :1 | 0x0002 | Set if this document is a glossary | ||
fComplex | ushort | :1 | 0x0004 | when 1, file is in complex, fast-saved format. | ||
fHasPic | ushort | :1 | 0x0008 | set if file contains 1 or more pictures | ||
cQuickSaves | ushort | :4 | 0x00F0 | count of times file was quicksaved | ||
fEncrypted | ushort | :1 | 0x0100 | Set if file is encrypted | ||
fWhichTblStm | ushort | :1 | 0x0200 | When 0, this fib refers to the table stream named "0Table", when 1, this fib refers to the table stream named "1Table". Normally, a file will have only one table stream, but under unusual circumstances a file may have table streams with both names. In that case, this flag must be used to decide which table stream is valid. | ||
fReadOnlyRecommended | ushort | :1 | 0x0400 | Set when user has recommended that file be read read-only | ||
fWriteReservation | ushort | :1 | 0x0800 | Set when file owner has made the file write reserved | ||
fExtChar | ushort | :1 | 0x1000 | Set when using extended character set in file | ||
fLoadOverride | ushort | :1 | 0x2000 | REVIEW | ||
fFarEast | ushort | :1 | 0x4000 | REVIEW | ||
fCrypto | ushort | :1 | 0x8000 | REVIEW | ||
12 | 0x000C | nFibBack | ushort | This file format it compatible with readers that understand nFib at or above this value. | ||
14 | 0x000E | lKey | File encrypted key, only valid if fEncrypted. | |||
18 | 0x0012 | envr | uchar | environment in which file was created 0 created by Win Word |
||
19 | 0x0013 | fMac | uchar | :1 | 0x01 | when 1, this file was last saved in the Mac environment |
fEmptySpecial | uchar | :1 | 0x02 | |||
fLoadOverridePage | uchar | :1 | 0x04 | |||
fFutureSavedUndo | uchar | :1 | 0x08 | |||
fWord97Saved | uchar | :1 | 0x10 | |||
fSpare0 | uchar | :3 | 0xFE | |||
20 | 0x0014 | chs | ushort | Default extended character set id for text in document stream. (overridden by chp.chse) 0 by default characters in doc stream should be interpreted using the ANSI character set used by Windows 256 characters in doc stream should be interpreted using the Macintosh character set. | ||
22 | 0x0016 | chsTables | ushort | Default extended character set id for text in internal data structures | ||
24 | 0x0018 | fcMin | long | file offset of first character of text. In non-complex files a CP can be transformed into an FC by the following transformation: | ||
28 | 0x001C | fcMac | long | file offset of last character of text in document text stream + 1 | ||
32 | 0x0020 | csw | ushort | Count of fields in the array of "shorts" | ||
34 | 0x0022 | rgsw | Beginning of the array of shorts | |||
34 | 0x0022 | wMagicCreated | unique number Identifying the File's creator 0x6A62 is the creator ID for Word and is reserved. Other creators should choose a different value. | |||
36 | 0x0024 | wMagicRevised | identifies the File's last modifier | |||
38 | 0x0026 | wMagicCreatedPrivate | private data | |||
40 | 0x0028 | wMagicRevisedPrivate |