This code is imported into the gnumeric tree via a CVS virtual link, in order to use the test framework checkout CVS module libole2. This code was written with grateful thanks to: Martin Schwartz - Author of Laola, father of free OLE2 Much useful information will be gleaned from the work on wine by. Marcus Meissner, Francis Beaudet, Sylvain St-Germain and Thuy Nguyen The code breaks fairly cleanly into two seperate pieces, firstly the raw block API whether small or large, and 2ndly the FILE * style wrapper on top of the block API. Since there are two types of block, there are two functions per percieved method that are accessed via the stream's function pointer. This has a lot of good performance characteristics, despite the percieved overhead of a 'virtual' call. The exception to this being ms_ole_lseek which is non-staticly linked for homogeneity. Further thanks for the summary information code go to Caolan McNamara - Heroic coding ledgend. for his port of the Somar Software freeware DLL functions to get summary info from OLE 2.0 document files, named CPPSUM available from the Somar Software WWW site at http://www.somar.com. The summary information code was extensively updated and re - written by Frank Chiulli incorporating both DocumentSummaryInformation and SummaryInformation streams, and implementing several new types.