OLib is a portable universal data IO library. Implementations exist in C, C++ and Objective C
and for many different platforms (including Linux, Win32, MacOS X and .NET).
IOLib provides a unified interface for accessing different types of data streams.
It currently supports file IO, BSD sockets, memory buffers and SOCKS4/5 connections and can be
extended with 'drivers' easily.
It has support for different binary formats (Intel, Motorola, PDP) and it supports filters.
You can write your own filters (e.g. for encryption or compression) and use them with IOLib.
The first version of IOLib was written in 1998. You can get it here
I used IOLib in my projects and added features like filter support. I also ported it to other operating
systems (the first versions worked on Windows only). In Oktober 2000 - with release 3.0b - IOLib became
an OpenSource project at SourceForge.