AVFS (which is A VFS)

Hi Gnome Fans!

I've heard sometime, that you'd like a VFS (Virtual File System)
implementation for use with all apps (meaning, the "step into a tar
file and read the files..." thing). I had the same goal so I started
writing a VFS library.

It can be gotten at:

It is GPL-led now, hopefully LGPL-led in the future. 

(Note: what follows more than doubles the amount of documentation
available for AVFS)

Now a little background:

In the structure I was greatly inspired by the MC-VFS, but AVFS also
enforces the following:

 - It is a standalone library

 - You need very little chage to most programs to be able to use AVFS.
   (This is not perfectly true, because AVFS is still lacking an STDIO
   layer.) I've "ported" GNU ls and cat to AVFS by adding 2 lines
   of code to both programs.

 - The individual hadeler modules (tar, gzip, ftp...) are perfectly
   separated from the aplication using the AVFS library. The
   programmer and the user sees NOTHING of what goes on underneath.

 - It is very robust: does not exit at the first sign of memory
   shortage, does not leak memory...

Well, that's the theory. The facts are that I started coding AVFS
about a week ago and so it is not finished yet..., well maybe next
week ;)

Got it:

It is stable (at least for me).

There is a local file handler, a filter handler (gzip and bzip2) and a
tar handler. The later two are both read-only, as yet. The folowing
system calls are emulated:

  open, close, read, write, lseek, fstat, stat, lstat, readlink,
  opendir, closedir, readdir
It has been compiled under Linux, and Solaris, (probably nothing else
would compile, knowing the ability of system designers to put
definitions in different headers for every operating system... :)


Very little documentation, no autoconf, no website, no nothing...
Need caching, write access to gzip and tar handlers...
Still need handelers for floppy, zip, ftp, http, you name it...

So AVFS is in a stable pre alpha stage ;)

If you like AVFS and have some suggestions or want to help, please
contact me:

mszeredi@inf.bme.hu, or at the reply address...


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]