What is cole?
cole is a free C OLE library.
cole is distributed under the terms of the GNU General Public License (GPL) to give an impulse to the Free Software. cole distribution license is compatible with the Open Source definition.
Using cole, you can access Microsoft' Structured Storage files. The most popular Microsoft's programs generate Structured Storage files, incluiding the Microsoft' suite for offices. StarDivision' suite (StarOffice) generate Structured Storage files too. FlashPix file format is Structured Storage too.
What is a Structured Storage file? Inside a Structured Storage file there is a filesystem, with directories and files, which Microsoft calls containers and streams. Using cole you can travel through such filesystem and access the files.
cole doesn't know about internal structure of a stream, it only reads the raw data. You can use the Microsoft's documentation available at http://msdn.microsoft.com or the information available at http://www.wotsit.org to know the binary file format of the streams. If you know anything in the side of StarDivision email me. FlashPix file format is well documented.
cole was developed using the information available at http://wwwwbs.cs.tu-berlin.de/~schwartz/pmh/guide.html and the OLE::Storage Perl module from the same site, and no information from any other source (incluiding Microsoft) has been used.
Features
cole 2.x release series:
Can open Structured Storage files generated with programs from Microsoft, StarDivision and FlashPix.
Is written in C, for better performance.
Should compile in UNIX-like systems with ANSI C libraries and a ANSI C compiler.
Has a new good-looking API, modelled after ANSI C stdio.h routines.
Uses standard automake, autoconf and libtool generated files.
Provides a standard configure script.
Builds shared (dynamic) libraries if the plattform and libtool support it.
Provides standard targets in the Makefile (ie. install, clean, etc).
Can use (thanks to the configure script) plattform dependent system calls for better performance.
Requirements to compile
To have a system with ANSI C libraries, a ANSI C compiler, a make program and the shell /bin/sh.