MDF Library in ANSI C

I wrote a library in ANSI C that implements the MDF format. The library provided public functions to add new data definitions, write the header, and add data to an unsorted MDF file. It also provisioned for space limitations on the storage device and unexpected power loss.

The code was written using structs and as much function and data hiding as ANSI C allows, so it was fairly object oriented. It also allocated memory dynamically using malloc, calloc, and realloc, and while a memory leak was not a concern because the logger would only be shut down on total loss of power, care was still taken to free any dynamically allocated memory appropriately.