Search code examples
copen-sourcecross-platformfilesystemscompound-file

Open source embedded filesystem (or single file virtual filesystem, or structured storage) library for C


I'm not sure what the "general" name of something like this might be. I'm looking for a library that gives me a file format to store different types of binary data in an expanding single file.

  • open source, non-GPL (LGPL ok)
  • C interface
  • the file format is a single file
  • multiple files within using a POSIX-like file API (or multiple "blobs" within using some other API)
  • file/structure editing is done in-place
  • reliable first, performant second

Examples include:

Problems with the above:

  • whefs doesn't appear to be very mature, but best describes what I'm after
  • HDF, CDF, NetCDF are usable (also very reliable and fast), but they're rather complicated and I'm not entirely convinced of their support for opaque binary "blobs"

Edit:
Forgot to mention, one other relevant question:
Simple Virtual Filesystem in C/C++
Another similar question:
Is there an open-source alternative to Windows compound files?

Edit:
Added condition of in-place editing.

Edit:
whefs superseded by: whio_epfs


Solution

  • This appears to do what I was looking for: libgsf

    Still need to test its reliability/performance and how cross-platform the binary format is.