Mercurial > libpst
diff xml/libpst.in @ 44:d4606d460daf
more fixes for 64 bit format
author | carl |
---|---|
date | Tue, 08 Jan 2008 16:19:26 -0800 |
parents | f6db1f060a95 |
children | b2a7f2e0926a |
line wrap: on
line diff
--- a/xml/libpst.in Sun Jan 06 14:47:06 2008 -0800 +++ b/xml/libpst.in Tue Jan 08 16:19:26 2008 -0800 @@ -19,7 +19,7 @@ <refentry id="readpst.1"> <refentryinfo> - <date>2008-01-06</date> + <date>2008-01-08</date> </refentryinfo> <refmeta> @@ -212,7 +212,7 @@ <refentry id="lspst.1"> <refentryinfo> - <date>2008-01-06</date> + <date>2008-01-08</date> </refentryinfo> <refmeta> @@ -286,7 +286,7 @@ <refentry id="readpstlog.1"> <refentryinfo> - <date>2008-01-06</date> + <date>2008-01-08</date> </refentryinfo> <refmeta> @@ -461,7 +461,7 @@ <refentry id="pst2ldif.1"> <refentryinfo> - <date>2008-01-06</date> + <date>2008-01-08</date> </refentryinfo> <refmeta> @@ -585,7 +585,7 @@ <refentry id="pst.5"> <refentryinfo> - <date>2008-01-06</date> + <date>2008-01-08</date> </refentryinfo> <refmeta> @@ -610,13 +610,16 @@ <para> Each item in a .pst file is identified by two id values ID1 and ID2. There are two separate b-trees indexed by these ID1 and ID2 values. + Starting with Outlook 2003, the file format changed from one with 32 + bit pointers, to one with 64 bit pointers. We describe both formats + here. </para> </refsect1> - <refsect1 id='pst.file.header.5'> - <title>File Header</title> + <refsect1 id='pst.file.header.32.5'> + <title>32 bit File Header</title> <para> - The file header is located at offset 0 in the .pst file. + The 32 bit file header is located at offset 0 in the .pst file. </para> <literallayout class="monospaced"><![CDATA[ 0000 21 42 44 4e 49 f8 64 d9 53 4d 0e 00 13 00 01 01 @@ -654,7 +657,7 @@ 0000 signature [4 bytes] 0x4e444221 constant 000a indexType [1 byte] 0x0e constant -01cd encryptionType [1 byte] 0x01 constant +01cd encryptionType [1 byte] 0x01 in this case 00a8 total file size [4 bytes] 0x270400 in this case 00c0 backPointer1 [4 bytes] 0x021eb4 in this case 00c4 offsetIndex1 [4 bytes] 0x005400 in this case @@ -662,7 +665,11 @@ 00bc offsetIndex2 [4 bytes] 0x0c7e00 in this case ]]></literallayout> <para> - We only support index type 0x0E and encryption type 0x01. + We only support index types 0x0e and 0x17, and encryption types + 0x00 and 0x01. Index type 0x0e is the older 32 bit Outlook format. + Index type 0x17 is the newer 64 bit Outlook format. Encryption + type 0x00 is no encryption, and type 0x01 is the only other supported + encryption type. </para> <para> offsetIndex1 is the file offset of the root of the @@ -678,10 +685,62 @@ </para> </refsect1> - <refsect1 id='pst.file.node1.5'> - <title>Index 1 Node</title> + <refsect1 id='pst.file.header.64.5'> + <title>64 bit File Header</title> <para> - The index1 b-tree nodes are 516 byte blocks with the following format. + The 64 bit file header is located at offset 0 in the .pst file. + </para> + <literallayout class="monospaced"><![CDATA[ +0000 21 42 44 4e 03 02 23 b2 53 4d 17 00 13 00 01 01 +0010 00 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 +0020 8b 00 00 00 00 00 00 00 1d 00 00 00 00 04 00 00 +0030 00 04 00 00 04 04 00 00 00 40 00 00 02 00 01 00 +0040 00 04 00 00 00 04 00 00 00 04 00 00 00 80 00 00 +0050 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 +0060 04 04 00 00 04 04 00 00 04 04 00 00 00 04 00 00 +0070 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 +0080 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 +0090 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 +00a0 00 04 00 00 00 04 00 00 02 04 00 00 00 00 00 00 +00b0 00 00 00 00 00 00 00 00 00 24 04 00 00 00 00 00 +00c0 00 44 00 00 00 00 00 00 00 71 03 00 00 00 00 00 +00d0 00 22 00 00 00 00 00 00 83 00 00 00 00 00 00 00 +00e0 00 6a 00 00 00 00 00 00 8a 00 00 00 00 00 00 00 +00f0 00 60 00 00 00 00 00 00 01 00 00 00 00 00 00 00 +0100 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0180 7f ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff +0190 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff +01a0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff +01b0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff +01c0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff +01d0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff +01e0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff +01f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff +0200 80 00 00 00 e8 00 00 00 00 00 00 00 c4 68 cb 89 + +0000 signature [4 bytes] 0x4e444221 constant +000a indexType [1 byte] 0x17 constant +0201 encryptionType [1 byte] 0x00 in this case +00b8 total file size [8 bytes] 0x042400 in this case +00e8 backPointer1 [8 bytes] 0x00008a in this case +00f0 offsetIndex1 [8 bytes] 0x006000 in this case +00d8 backPointer2 [8 bytes] 0x000083 in this case +00e0 offsetIndex2 [8 bytes] 0x006a00 in this case +]]></literallayout> + </refsect1> + + <refsect1 id='pst.file.node1.32.5'> + <title>32 bit Index 1 Node</title> + <para> + The 32 bit index1 b-tree nodes are 516 byte blocks with the + following format. </para> <literallayout class="monospaced"><![CDATA[ 0000 04 00 00 00 8a 1e 02 00 00 1c 0b 00 @@ -747,10 +806,81 @@ </para> </refsect1> - <refsect1 id='pst.file.leaf1.5'> - <title>Index 1 Leaf Node</title> + <refsect1 id='pst.file.node1.64.5'> + <title>64 bit Index 1 Node</title> <para> - The index1 b-tree leaf nodes are 516 byte blocks with the following format. + The 64 bit index1 b-tree nodes are 512 byte blocks with the + following format. + </para> + <literallayout class="monospaced"><![CDATA[ +0000 04 00 00 00 00 00 00 00 88 00 00 00 +000C 00 00 00 00 00 48 00 00 00 00 00 00 +0018 74 00 00 00 00 00 00 00 86 00 00 00 +0024 00 00 00 00 00 54 00 00 00 00 00 00 +0030 00 00 00 00 00 00 00 00 00 00 00 00 +003C 00 00 00 00 00 00 00 00 00 00 00 00 +0048 00 00 00 00 00 00 00 00 00 00 00 00 +0054 00 00 00 00 00 00 00 00 00 00 00 00 +0060 00 00 00 00 00 00 00 00 00 00 00 00 +006C 00 00 00 00 00 00 00 00 00 00 00 00 +0078 00 00 00 00 00 00 00 00 00 00 00 00 +0084 00 00 00 00 00 00 00 00 00 00 00 00 +0090 00 00 00 00 00 00 00 00 00 00 00 00 +009C 00 00 00 00 00 00 00 00 00 00 00 00 +00A8 00 00 00 00 00 00 00 00 00 00 00 00 +00B4 00 00 00 00 00 00 00 00 00 00 00 00 +00C0 00 00 00 00 00 00 00 00 00 00 00 00 +00CC 00 00 00 00 00 00 00 00 00 00 00 00 +00D8 00 00 00 00 00 00 00 00 00 00 00 00 +00E4 00 00 00 00 00 00 00 00 00 00 00 00 +00F0 00 00 00 00 00 00 00 00 00 00 00 00 +00FC 00 00 00 00 00 00 00 00 00 00 00 00 +0108 00 00 00 00 00 00 00 00 00 00 00 00 +0114 00 00 00 00 00 00 00 00 00 00 00 00 +0120 00 00 00 00 00 00 00 00 00 00 00 00 +012C 00 00 00 00 00 00 00 00 00 00 00 00 +0138 00 00 00 00 00 00 00 00 00 00 00 00 +0144 00 00 00 00 00 00 00 00 00 00 00 00 +0150 00 00 00 00 00 00 00 00 00 00 00 00 +015C 00 00 00 00 00 00 00 00 00 00 00 00 +0168 00 00 00 00 00 00 00 00 00 00 00 00 +0174 00 00 00 00 00 00 00 00 00 00 00 00 +0180 00 00 00 00 00 00 00 00 00 00 00 00 +018C 00 00 00 00 00 00 00 00 00 00 00 00 +0198 00 00 00 00 00 00 00 00 00 00 00 00 +01A4 00 00 00 00 00 00 00 00 00 00 00 00 +01B0 00 00 00 00 00 00 00 00 00 00 00 00 +01BC 00 00 00 00 00 00 00 00 00 00 00 00 +01C8 00 00 00 00 00 00 00 00 00 00 00 00 +01D4 00 00 00 00 00 00 00 00 00 00 00 00 +01E0 00 00 00 00 00 00 00 00 02 14 18 01 +01EC 00 00 00 00 80 80 8a 60 68 e5 b5 19 +01F8 8a 00 00 00 00 00 00 00 + +01e8 itemCount [1 byte] 0x02 in this case +01e9 maxItemCount [1 byte] 0x14 constant +01eb nodeLevel [1 byte] 0x01 in this case +01f8 backPointer [8 bytes] 0x00008a in this case +]]></literallayout> + <para> + The itemCount specifies the number of 24 byte records that + are active. The nodeLevel is non-zero for this style of nodes. + The leaf nodes have a different format. The backPointer must + match the backPointer from the triple that pointed to this node. + </para> + <para> + Each item in this node is a triple of (ID1, backPointer, offset) + where the offset points to the next deeper node in the tree, the + backPointer value must match the backPointer in that deeper node, + and ID1 is the lowest ID1 value in the subtree. + </para> + </refsect1> + + <refsect1 id='pst.file.leaf1.32.5'> + <title>32 bit Index 1 Leaf Node</title> + <para> + The 32 bit index1 b-tree leaf nodes are 516 byte blocks with the + following format. </para> <literallayout class="monospaced"><![CDATA[ 0000 04 00 00 00 00 58 00 00 64 00 0f 00 @@ -799,7 +929,7 @@ 01f0 itemCount [1 byte] 0x1f in this case 01f1 maxItemCount [1 byte] 0x29 constant -01f3 nodeLevel [1 byte] 0x00 in this case +01f3 nodeLevel [1 byte] 0x00 defines a leaf node 01f8 backPointer [4 bytes] 0x01675a in this case ]]></literallayout> <para> @@ -819,10 +949,84 @@ </para> </refsect1> - <refsect1 id='pst.file.node2.5'> - <title>Index 2 Node</title> + <refsect1 id='pst.file.leaf1.64.5'> + <title>64 bit Index 1 Leaf Node</title> <para> - The index2 b-tree nodes are 516 byte blocks with the following format. + The 64 bit index1 b-tree leaf nodes are 512 byte blocks with the + following format. + </para> + <literallayout class="monospaced"><![CDATA[ +0000 04 00 00 00 00 00 00 00 00 58 00 00 +000C 00 00 00 00 6c 00 05 00 00 00 00 00 +0018 08 00 00 00 00 00 00 00 80 58 00 00 +0024 00 00 00 00 b4 00 06 00 d8 22 37 08 +0030 0c 00 00 00 00 00 00 00 80 59 00 00 +003C 00 00 00 00 ac 00 07 00 d8 22 37 08 +0048 10 00 00 00 00 00 00 00 40 5a 00 00 +0054 00 00 00 00 bc 00 03 00 d8 22 37 08 +0060 14 00 00 00 00 00 00 00 40 5b 00 00 +006C 00 00 00 00 a4 00 02 00 d8 22 37 08 +0078 18 00 00 00 00 00 00 00 00 5c 00 00 +0084 00 00 00 00 64 00 02 00 d8 22 37 08 +0090 1c 00 00 00 00 00 00 00 80 5c 00 00 +009C 00 00 00 00 5c 00 02 00 d8 22 37 08 +00A8 24 00 00 00 00 00 00 00 80 5d 00 00 +00B4 00 00 00 00 72 00 02 00 d8 22 37 08 +00C0 34 00 00 00 00 00 00 00 00 70 00 00 +00CC 00 00 00 00 8c 00 02 00 00 0d 00 00 +00D8 38 00 00 00 00 00 00 00 c0 71 00 00 +00E4 00 00 00 00 5c 00 02 00 d8 22 9c 00 +00F0 40 00 00 00 00 00 00 00 40 72 00 00 +00FC 00 00 00 00 26 00 02 00 d8 22 9c 00 +0108 4c 00 00 00 00 00 00 00 80 5f 00 00 +0114 00 00 00 00 3e 00 02 00 d8 22 9c 00 +0120 5c 00 00 00 00 00 00 00 c0 76 00 00 +012C 00 00 00 00 8c 00 02 00 d8 22 9c 00 +0138 64 00 00 00 00 00 00 00 40 75 00 00 +0144 00 00 00 00 76 00 02 00 d8 22 9c 00 +0150 6c 00 00 00 00 00 00 00 c0 73 00 00 +015C 00 00 00 00 5e 00 02 00 d8 22 9c 00 +0168 70 00 00 00 00 00 00 00 80 72 00 00 +0174 00 00 00 00 1e 01 02 00 d8 22 9c 00 +0180 70 00 00 00 00 00 00 00 80 72 00 00 +018C 00 00 00 00 1e 01 02 00 d8 22 9c 00 +0198 70 00 00 00 00 00 00 00 80 72 00 00 +01A4 00 00 00 00 1e 01 02 00 d8 22 9c 00 +01B0 74 00 00 00 00 00 00 00 40 74 00 00 +01BC 00 00 00 00 e0 00 02 00 d8 22 9c 00 +01C8 7c 00 00 00 00 00 00 00 80 77 00 00 +01D4 00 00 00 00 dc 00 02 00 d8 22 9c 00 +01E0 00 00 00 00 00 00 00 00 10 14 18 00 +01EC 00 00 00 00 80 80 88 48 3f 50 0b 04 +01F8 88 00 00 00 00 00 00 00 + +01e8 itemCount [1 byte] 0x10 in this case +01e9 maxItemCount [1 byte] 0x14 constant +01eb nodeLevel [1 byte] 0x00 defines a leaf node +01f8 backPointer [8 bytes] 0x000088 in this case +]]></literallayout> + <para> + The itemCount specifies the number of 24 byte records that + are active. The nodeLevel is zero for these leaf nodes. + The backPointer must match the backPointer from the triple + that pointed to this node. + </para> + <para> + Each item in this node is a tuple of (ID1, offset, size, unknown) + The two low order bits of the ID1 value seem to be flags. I have + never seen a case with bit zero set. Bit one indicates that the + item is <emphasis>not</emphasis> encrypted. Note that references + to these ID1 values elsewhere may have the low order bit set (and + I don't know what that means), but when we do the search in this + tree we need to clear that bit so that we can find the correct item. + </para> + </refsect1> + + <refsect1 id='pst.file.node2.32.5'> + <title>32 bit Index 2 Node</title> + <para> + The 32 bit index2 b-tree nodes are 516 byte blocks with the + following format. </para> <literallayout class="monospaced"><![CDATA[ 0000 21 00 00 00 bb 1e 02 00 00 e2 0b 00 @@ -888,10 +1092,81 @@ </para> </refsect1> - <refsect1 id='pst.file.leaf2.5'> - <title>Index 2 Leaf Node</title> + <refsect1 id='pst.file.node2.64.5'> + <title>64 bit Index 2 Node</title> <para> - The index2 b-tree leaf nodes are 516 byte blocks with the following format. + The 64 bit index2 b-tree nodes are 512 byte blocks with the + following format. + </para> + <literallayout class="monospaced"><![CDATA[ +0000 21 00 00 00 00 00 00 00 77 00 00 00 +000C 00 00 00 00 00 56 00 00 00 00 00 00 +0018 4c 06 00 00 00 00 00 00 82 00 00 00 +0024 00 00 00 00 00 68 00 00 00 00 00 00 +0030 4f 80 00 00 00 00 00 00 84 00 00 00 +003C 00 00 00 00 00 6e 00 00 00 00 00 00 +0048 00 00 00 00 00 00 00 00 00 00 00 00 +0054 00 00 00 00 00 00 00 00 00 00 00 00 +0060 00 00 00 00 00 00 00 00 00 00 00 00 +006C 00 00 00 00 00 00 00 00 00 00 00 00 +0078 00 00 00 00 00 00 00 00 00 00 00 00 +0084 00 00 00 00 00 00 00 00 00 00 00 00 +0090 00 00 00 00 00 00 00 00 00 00 00 00 +009C 00 00 00 00 00 00 00 00 00 00 00 00 +00A8 00 00 00 00 00 00 00 00 00 00 00 00 +00B4 00 00 00 00 00 00 00 00 00 00 00 00 +00C0 00 00 00 00 00 00 00 00 00 00 00 00 +00CC 00 00 00 00 00 00 00 00 00 00 00 00 +00D8 00 00 00 00 00 00 00 00 00 00 00 00 +00E4 00 00 00 00 00 00 00 00 00 00 00 00 +00F0 00 00 00 00 00 00 00 00 00 00 00 00 +00FC 00 00 00 00 00 00 00 00 00 00 00 00 +0108 00 00 00 00 00 00 00 00 00 00 00 00 +0114 00 00 00 00 00 00 00 00 00 00 00 00 +0120 00 00 00 00 00 00 00 00 00 00 00 00 +012C 00 00 00 00 00 00 00 00 00 00 00 00 +0138 00 00 00 00 00 00 00 00 00 00 00 00 +0144 00 00 00 00 00 00 00 00 00 00 00 00 +0150 00 00 00 00 00 00 00 00 00 00 00 00 +015C 00 00 00 00 00 00 00 00 00 00 00 00 +0168 00 00 00 00 00 00 00 00 00 00 00 00 +0174 00 00 00 00 00 00 00 00 00 00 00 00 +0180 00 00 00 00 00 00 00 00 00 00 00 00 +018C 00 00 00 00 00 00 00 00 00 00 00 00 +0198 00 00 00 00 00 00 00 00 00 00 00 00 +01A4 00 00 00 00 00 00 00 00 00 00 00 00 +01B0 00 00 00 00 00 00 00 00 00 00 00 00 +01BC 00 00 00 00 00 00 00 00 00 00 00 00 +01C8 00 00 00 00 00 00 00 00 00 00 00 00 +01D4 00 00 00 00 00 00 00 00 00 00 00 00 +01E0 00 00 00 00 00 00 00 00 03 14 18 01 +01EC 00 00 00 00 81 81 83 6a 49 da f3 d3 +01F8 83 00 00 00 00 00 00 00 + +01e8 itemCount [1 byte] 0x03 in this case +01e9 maxItemCount [1 byte] 0x14 constant +01eb nodeLevel [1 byte] 0x01 in this case +01f8 backPointer [4 bytes] 0x000083 in this case +]]></literallayout> + <para> + The itemCount specifies the number of 24 byte records that + are active. The nodeLevel is non-zero for this style of nodes. + The leaf nodes have a different format. The backPointer must + match the backPointer from the triple that pointed to this node. + </para> + <para> + Each item in this node is a triple of (ID2, backPointer, offset) + where the offset points to the next deeper node in the tree, the + backPointer value must match the backPointer in that deeper node, + and ID2 is the lowest ID2 value in the subtree. + </para> + </refsect1> + + <refsect1 id='pst.file.leaf2.32.5'> + <title>32 bit Index 2 Leaf Node</title> + <para> + The 32 bit index2 b-tree leaf nodes are 516 byte blocks with the + following format. </para> <literallayout class="monospaced"><![CDATA[ 0000 21 00 00 00 38 e6 00 00 00 00 00 00 00 00 00 00 @@ -944,11 +1219,67 @@ </para> </refsect1> + <refsect1 id='pst.file.leaf2.64.5'> + <title>64 bit Index 2 Leaf Node</title> + <para> + The 64 bit index2 b-tree leaf nodes are 512 byte blocks with the + following format. + </para> + <literallayout class="monospaced"><![CDATA[ +0000 21 00 00 00 00 00 00 00 74 00 00 00 00 00 00 00 +0010 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 +0020 61 00 00 00 00 00 00 00 34 00 00 00 00 00 00 00 +0030 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 +0040 22 01 00 00 00 00 00 00 4c 00 00 00 00 00 00 00 +0050 00 00 00 00 00 00 00 00 22 01 00 00 02 00 00 00 +0060 2d 01 00 00 00 00 00 00 70 00 00 00 00 00 00 00 +0070 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 +0080 2e 01 00 00 00 00 00 00 08 00 00 00 00 00 00 00 +0090 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 +00A0 2f 01 00 00 00 00 00 00 0c 00 00 00 00 00 00 00 +00B0 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 +00C0 e1 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00D0 00 00 00 00 00 00 00 00 00 00 00 00 d8 e3 13 00 +00E0 01 02 00 00 00 00 00 00 8c 00 00 00 00 00 00 00 +00F0 00 00 00 00 00 00 00 00 00 00 00 00 b0 e3 13 00 +0100 61 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0110 00 00 00 00 00 00 00 00 00 00 00 00 d8 e3 13 00 +0120 0d 06 00 00 00 00 00 00 04 00 00 00 00 00 00 00 +0130 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 +0140 0e 06 00 00 00 00 00 00 08 00 00 00 00 00 00 00 +0150 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 +0160 0f 06 00 00 00 00 00 00 0c 00 00 00 00 00 00 00 +0170 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 +0180 10 06 00 00 00 00 00 00 10 00 00 00 00 00 00 00 +0190 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 +01A0 2b 06 00 00 00 00 00 00 24 00 00 00 00 00 00 00 +01B0 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 +01C0 71 06 00 00 00 00 00 00 18 00 00 00 00 00 00 00 +01D0 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 +01E0 00 00 00 00 00 00 00 00 0e 0f 20 00 00 00 00 00 +01F0 81 81 77 56 f8 32 43 49 77 00 00 00 00 00 00 00 + +01e8 itemCount [1 byte] 0x0e in this case +01e9 maxItemCount [1 byte] 0x0f constant +01eb nodeLevel [1 byte] 0x00 defines a leaf node +01f8 backPointer [4 bytes] 0x000077 in this case +]]></literallayout> + <para> + The itemCount specifies the number of 32 byte records that + are active. The nodeLevel is zero for these leaf nodes. + The backPointer must match the backPointer from the triple + that pointed to this node. + </para> + <para> + Each item in this node is a tuple of (ID2, DESC-ID1, LIST-ID1, PARENT-ID2) + </para> + </refsect1> + <refsect1 id='pst.file.list.5'> <title>Associated List Item</title> <para> Contains associations between id1 and id2 for the items controlled by the record. - In the above leaf node, we have a tuple of (0x61, 0x02a82c, 0x02a836, 0) + In the above 32 bit leaf node, we have a tuple of (0x61, 0x02a82c, 0x02a836, 0) 0x02a836 is the ID1 of the associated list, and we can lookup that ID1 value in the index1 b-tree to find the (offset,size) of the data in the .pst file. </para>