mc/vfs
Andrew V. Samoilov 20c71f0c51 * ftpfs.c (translate_path): Remove leading slash(es) more
carefully.
(initconn): Check getsockname() return value.
Eliminate goto.
(linear_abort): Make ipbuf const array.
2002-02-01 12:21:55 +00:00
..
extfs * extfs/uzip: Fix unsafe printf. 2002-01-22 22:23:49 +00:00
samba * samba/lib/charset.c (cp_850): Make const array. 2002-01-29 15:45:49 +00:00
.cvsignore *.sor added. 2001-06-01 13:39:53 +00:00
COPYING.LGPL 1999-06-01 Robert Brady <rwb197@ecs.soton.ac.uk> 1999-06-22 19:56:36 +00:00
ChangeLog * ftpfs.c (translate_path): Remove leading slash(es) more 2002-02-01 12:21:55 +00:00
Make-alone.am * Makefile.am: rename to ... 2001-12-31 06:48:47 +00:00
Makefile.am * Makefile.am (AM_CFLAGS): Add -DCONFIGDIR=\""@configdir@"\" 2002-01-11 08:24:17 +00:00
README Ran file through ispell, this is result :-) 1999-02-07 17:44:52 +00:00
README.fish * README.fish: Spelling fixes. 2001-07-05 15:05:23 +00:00
callback.h Fixed number of callbacks, added prototype of function to set 1998-06-08 13:00:29 +00:00
container.c Updated address of Free Software Foundation 2000-08-22 22:50:00 +00:00
container.h Initial revision 1998-02-27 04:54:42 +00:00
cpio.c * cpio.c: Don't include glib.h directly. 2002-01-24 15:51:57 +00:00
direntry.c * direntry.c (vfs_s_free_super): Remove i18n on commented out 2001-08-16 22:23:05 +00:00
extfs.c * extfs.c (extfs_init): Internationalize error message, it's 2001-08-16 20:43:47 +00:00
extfs.h * extfs.h: Move private structures ... 2001-08-07 23:54:35 +00:00
fish.c * fish.c (file_store): Fix incorrect format string 2001-10-20 07:04:31 +00:00
fish.h Big merge: fish now uses proper caching, small fixes almost 1998-11-21 19:36:01 +00:00
ftpfs.c * ftpfs.c (translate_path): Remove leading slash(es) more 2002-02-01 12:21:55 +00:00
ftpfs.h * xdirentry.h (struct vfs_s_super): Remove u.ftp.result_pending field. 2001-08-03 10:15:17 +00:00
local.c * cpio.c: Include <config.h> before everything else. 2001-06-25 21:34:46 +00:00
local.h *** empty log message *** 1998-12-15 22:30:55 +00:00
mcfs.c Replace "Can't" with "Cannot" everywhere. 2001-08-14 00:55:34 +00:00
mcfs.h static's added, do_reget hack removed 1998-10-12 22:07:53 +00:00
mcserv.c Replace "Can't" with "Cannot" everywhere. 2001-08-14 00:55:34 +00:00
names.c * names.c (finduname): Don't use HAVE_GETPWUID - it's never 2001-08-24 02:51:40 +00:00
names.h Initial revision 1998-02-27 04:54:42 +00:00
sfs.c * sfc.c (sfs_getid): Don't use vfs_die(), return (vfsid)(-1) 2001-10-02 08:06:37 +00:00
smbfs.c * Makefile.am (AM_CFLAGS): Add -DCONFIGDIR=\""@configdir@"\" 2002-01-11 08:24:17 +00:00
smbfs.h * smbfs.h: Declare smbfs_set_debug. 2001-10-24 08:16:16 +00:00
tar.c * vfs.h: Remove all tricks with system headers, they all should 2002-01-21 21:26:49 +00:00
tar.h Updated address of Free Software Foundation 2000-08-22 22:50:00 +00:00
tcputil.c * tcputil.c (rpc_get): Add missing va_end()s. Fix memory leaking. 2001-10-25 07:57:15 +00:00
tcputil.h Initial revision 1998-02-27 04:54:42 +00:00
undelfs.c * undelfs.c: Use ext2_ino_t to avoid warnings with e2fsprogs 2001-11-14 17:57:06 +00:00
util-alone.c * vfs.h: Remove OS/2 specific code. 2002-01-17 07:32:32 +00:00
util-alone.h 2000-04-06 Timur Bakeyev <mc@bat.ru> 2000-04-09 23:06:59 +00:00
utilvfs.c * utilvfs.c, vfs.h (vfs_split_url): Make path parameter const. 2001-08-03 10:12:18 +00:00
utilvfs.h * cpio.c: Include <config.h> before everything else. 2001-06-25 21:34:46 +00:00
vfs.c * vfs.c (mc_return_cwd): Fix comment. Check whatever mc_stat 2002-01-21 11:52:25 +00:00
vfs.h * vfs.h: Remove all tricks with system headers, they all should 2002-01-21 21:26:49 +00:00
xdirentry.h * xdirentry.h (struct vfs_s_super): Remove u.ftp.result_pending field. 2001-08-03 10:15:17 +00:00

README

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 name space by unnecessary 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 name space 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.