Structure of the .fdx file
--------------------------

	The fdx file is a B+ tree containing 3 major types of nodes; root,
branch and leaf. The root node contains chksum bytes so that the Force runtime
system can verify the index and a pointer to the 1st branch. Branches can point
to either another branch or to a leaf. Leaf nodes point to nothing an contain
the actual key data.

	The nodes, as of this writing, are 4096 in size.

	Each node contains a header. The structure of the header is as follows:

Structure of Node Header
-------------------------

	byte		meaning
	-----------------------
	 0-1		word: node type.
				1 = branch
				2 = leaf
				3 = root

	 2-3		word: number of Key Records in node
	 4-7		dword: used at runtime
	 8-11		dword: used at runtime. If the root node,
				points to the 1st branch
	 	

	Following the Node Header are a sequence of N Key Records. Each
Key Record has the following structure:

	byte		meaning
	-----------------------
	 0-3		a) leaf node:
				contains the record number for the key
			b) branch node:
				contains the file offset of the leaf
				containing the key
			c) root node:
				(does not contain key records)

	 4-N		Key value
	 N+1-N+4	contains record number of key
