I have written a file system for embedded use.

It implements all the C library file functions on top of the necessary code to work with a FAT12, FAT16, FAT32 file system. It has support for transparent long file names.

It allows to use anything as a FAT volume. For this it has a very simple driver interface. By implementing 4 functions for any kind of volume it can contain a complete file system together with all the file functions you will ever need.

It can use an unlimited number of volumes and all volumes are given a drive letter, like in windows.

It has full subst and join support. So you can also access all your volumes from the root directory like in linux.

So it fully supports file names like:

c:\log\coldroom.log

and

/mnt/eeprom/log/coldroom.log

Further more, it implements all the C library functions. So you can use all your existing file access code from windows (and linux, DOS, ...).

Example:

/* fopen example */

#include <ClibFS.h>

int main ()
{
FILE * pFile;

pFile = fopen ("myfile.txt","w");
if (pFile!=NULL)
{
fputs ("fopen example",pFile);
fclose (pFile);
}

return 0;
}

With clibfs this runs without using an operating system.

This means:

- you don't need to learn any new functions
- you can use an enormous amount of existing code on an embedded system without OS

The library is released under the terms of the GNU LGPL. This means you can use it in all your software.

I am posting this message to see if people would be interested in libraries like these. I have a lot more queued up, I would like to release if there is interest.

You can find the library with the documentation on sourceforge, project ClibFS (search for it on the main page)