1
1
mc/vfs
Norbert Warmuth e4c8a9d060 Thu Dec 31 08:47:15 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
* sfs.c (sfs_nothingisopen): Assume for now it's always save to free
this filesystem and delete temporary files. This needs further
investigation.

* tar.c: deleted unused empty struct tar_super.

Thu Dec 31 08:40:44 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

* direntry.c: Split fd_usage into fd_usage and ino_usage. fd_usage
was used for external and internal reference count. This was wrong
because we can free resources taken up by the vfs as soon as the
external reference count (now fd_usage) is zero. The internal
reference count (ino_usage) mustn't matter because the vfs has to
clean up itself in the correct order.
1998-12-31 15:54:49 +00:00
..
extfs Wed Dec 16 06:47:47 1998 Norbert Warmuth <nwarmuth@privat.circular.de> 1998-12-16 06:16:13 +00:00
samba * samba/configure.in: Require Autoconf 2.52 to make Debian 1997-01-01 01:23:31 +00:00
.cvsignore Merge changes from GNOME_STABLE into HEAD 1998-12-29 18:29:56 +00:00
callback.h Fixed number of callbacks, added prototype of function to set 1998-06-08 13:00:29 +00:00
ChangeLog Thu Dec 31 08:47:15 1998 Norbert Warmuth <nwarmuth@privat.circular.de> 1998-12-31 15:54:49 +00:00
container.c Make it compile 1998-10-23 20:18:48 +00:00
container.h Initial revision 1998-02-27 04:54:42 +00:00
COPYING.LGPL Changed license to LGPL, added passing of vfs * (acting as self), so 1998-09-27 19:27:58 +00:00
direntry.c Thu Dec 31 08:47:15 1998 Norbert Warmuth <nwarmuth@privat.circular.de> 1998-12-31 15:54:49 +00:00
extfs.c Security (inspired by Norbert Warmuth): make /tmp files 0600 and 1998-12-15 15:57:39 +00:00
extfs.h static's added, do_reget hack removed 1998-10-12 22:07:53 +00:00
fish.c Some fixes in src/ part (want_stale_data is now done right) and more 1998-12-09 20:22:53 +00:00
fish.h Big merge: fish now uses proper caching, small fixes almost 1998-11-21 19:36:01 +00:00
ftpfs.c We got some complaints about much slower ftpfs in 4.1.36 (ok, maybe a bit 1998-11-23 21:13:08 +00:00
ftpfs.h Thu Oct 22 20:41:50 1998 Norbert Warmuth <nwarmuth@privat.circular.de> 1998-10-22 20:17:49 +00:00
local.c Warning fixes + compile fixes -mig 1998-12-15 19:53:55 +00:00
local.h *** empty log message *** 1998-12-15 22:30:55 +00:00
Make-mc.in More make distcheck fixes (note that these are needed, as distcheck was never implemented here before 1998-12-16 03:20:38 +00:00
Makefile.am * Makefile.am (EXTRA_DIST): Distribute files that the 1998-12-04 01:51:26 +00:00
Makefile.in Big merge: fish now uses proper caching, small fixes almost 1998-11-21 19:36:01 +00:00
mcfs.c Many changes: 1998-12-02 23:44:06 +00:00
mcfs.h static's added, do_reget hack removed 1998-10-12 22:07:53 +00:00
mcserv.c Integration of Pavel Machek's vfs code split and vfs syntax change. 1998-05-26 00:53:24 +00:00
names.c static's added, do_reget hack removed 1998-10-12 22:07:53 +00:00
names.h Initial revision 1998-02-27 04:54:42 +00:00
README Added readme file 1998-11-16 11:07:56 +00:00
README.fish More makefile fixes -mig 1998-09-25 20:00:42 +00:00
sfs.c Thu Dec 31 08:47:15 1998 Norbert Warmuth <nwarmuth@privat.circular.de> 1998-12-31 15:54:49 +00:00
shared_ftp_fish.c Big merge: fish now uses proper caching, small fixes almost 1998-11-21 19:36:01 +00:00
shared_tar_ext.c BIG changes: tar now uses brand-new direntry.c. Hope it does not hurt 1998-10-23 08:26:25 +00:00
tar.c Thu Dec 31 08:47:15 1998 Norbert Warmuth <nwarmuth@privat.circular.de> 1998-12-31 15:54:49 +00:00
tar.h BIG changes: tar now uses brand-new direntry.c. Hope it does not hurt 1998-10-23 08:26:25 +00:00
tcputil.c Changed license to LGPL, added passing of vfs * (acting as self), so 1998-09-27 19:27:58 +00:00
tcputil.h Initial revision 1998-02-27 04:54:42 +00:00
undelfs.c static's added, do_reget hack removed 1998-10-12 22:07:53 +00:00
undelfs.h Initial revision 1998-02-27 04:54:42 +00:00
util-alone.c Increased version number to 4.5.2 1998-10-30 17:45:43 +00:00
util-alone.h Files I had forgotten to add from Pavel's VFS split. 1998-05-26 05:08:10 +00:00
utilvfs.c Small bugfixes, killing of debuging hacks that escaped me. 1998-11-22 16:17:42 +00:00
vfs.c Wed Dec 16 06:47:47 1998 Norbert Warmuth <nwarmuth@privat.circular.de> 1998-12-16 06:16:13 +00:00
vfs.h Wed Dec 16 06:47:47 1998 Norbert Warmuth <nwarmuth@privat.circular.de> 1998-12-16 06:16:13 +00:00
xdirentry.h Thu Dec 31 08:47:15 1998 Norbert Warmuth <nwarmuth@privat.circular.de> 1998-12-31 15:54:49 +00:00

Hi!

I'm midnight commander's vfs layer. Before you start hacking me,
please read this file. I'm integral part of midnight commander, but I
try to go out and live my life myself as a shared library, too. That
means that I should try to use as little functions from midnight as
possible (so I'm tiny, nice and people like me), that I should not
pollute namespace by unneccessary symbols (so I do not crash fellow
programs) and that I should have a clean interface between myself and
midnight.

Because I'm rather close to midnight, try to:

* Keep updating ChangeLog file.

* Keep the indentation as the rest of the code. Following could help
you with your friend emacs:

(defun mc-c-mode ()
	"C mode with adjusted defaults for use with the Midnight commander."
	(interactive)
	(c-mode)
	(c-set-style "K&R")
	(setq	c-indent-level 4
		c-continued-statement-offset 4
		c-brace-offset 0
		c-argdecl-indent 4
		c-label-offset -4
		c-brace-imaginary-offset 0
		c-continued-brace-offset 0
		c-tab-always-indent nil
		c-basic-offset 4
		tab-width 8
		comment-column 60))

(setq auto-mode-alist (cons '(".*/mc/.*\\.[ch]$" . mc-c-mode)
                       auto-mode-alist))

And because I'm trying to live life on my own as libvfs.so, try to:

* Make sure all exported symbols are defined in vfs.h and begin with
'vfs_'.

* Do not make any references from midnight into modules like tar. It
would probably pollute namespace and midnight would depend on concrete
configuration of libvfs. mc_setctl() and mc_ctl() are your
friends. (And mine too :-).

							 Pavel Machek
							 pavel@ucw.cz

PS: If you'd like to use my features in whole operating system, you
might want to link me to rpc.nfsd. On
http://atrey.karlin.mff.cuni.cz/~pavel/podfuk/podfuk.html you'll find
how to do it.

PPS: I have a friend, shared library called avfs, which is LD_PRELOAD
capable. You can reach her at http://www.inf.bme.hu/~mszeredi/avfs.