mc/vfs
Andrew V. Samoilov 312da833ff * extfs.c (extfs_open_archive): Fixes bug in extfs, which showed
'Inconsistent extfs archive' on small archives and diffs.
        QNX 6.x (QNX Neutrino) specific
2004-09-17 11:44:43 +00:00
..
extfs * vfs.c (vfs_cmp_handle): Fixing warnings on on 64-bit 2004-09-03 21:23:05 +00:00
samba * samba/lib/util.c (tmpdir): Use MC_TMPDIR environment variable. 2004-08-20 21:05:02 +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 * extfs.c (extfs_open_archive): Fixes bug in extfs, which showed 2004-09-17 11:44:43 +00:00
HACKING Initial version of technical documentation for VFS. 2003-10-30 05:52:35 +00:00
Makefile.am Added vfs-impl.h to the list of headers. 2004-08-17 00:48:28 +00:00
README Ran file through ispell, this is result :-) 1999-02-07 17:44:52 +00:00
README.fish Typos. 2003-06-02 19:47:30 +00:00
cpio.c * direntry.c (vfs_s_readlink): Use g_strlcpy instead strncpy. 2004-09-02 00:09:02 +00:00
direntry.c * vfs.c (vfs_cmp_handle): Fixing warnings on on 64-bit 2004-09-03 21:23:05 +00:00
extfs.c * extfs.c (extfs_open_archive): Fixes bug in extfs, which showed 2004-09-17 11:44:43 +00:00
fish.c * fish_file_store): Call get_interrupt instead of testing 2004-09-09 13:26:02 +00:00
ftpfs.c * tar.c (tar_read_header): Fix missed *. 2004-09-02 13:57:59 +00:00
ftpfs.h Moved the declaration of the init_*fs functions into specialized headers (*fs.h or vfs-impl.h). 2004-08-17 09:17:43 +00:00
gc.c Splittet the vfs.h header into a user's part (vfs.h) and an implementor's part (vfs-impl.h). 2004-08-16 23:18:42 +00:00
gc.h Splittet the vfs.h header into a user's part (vfs.h) and an implementor's part (vfs-impl.h). 2004-08-16 23:18:42 +00:00
local.c * local.c (local_readlink): Make "size" size_t. 2004-09-02 14:12:21 +00:00
local.h Moved the declaration of the init_*fs functions into specialized headers (*fs.h or vfs-impl.h). 2004-08-17 09:17:43 +00:00
mcfs.c * mcfs.c (mcfs_readlink): Revert last change: readlink does not 2004-09-02 14:34:58 +00:00
mcfs.h Moved the declaration of the init_*fs functions into specialized headers (*fs.h or vfs-impl.h). 2004-08-17 09:17:43 +00:00
mcfsutil.c * Code cleanup: Added const qualifier for variables and 2004-08-29 17:15:23 +00:00
mcfsutil.h * Code cleanup: Added const qualifier for variables and 2004-08-29 17:15:23 +00:00
mcserv.c * Code cleanup: Added const qualifier for variables and 2004-08-29 17:15:23 +00:00
sfs.c * local.c (local_readlink): Make "size" size_t. 2004-09-02 14:12:21 +00:00
smbfs.c * local.c (local_readlink): Make "size" size_t. 2004-09-02 14:12:21 +00:00
smbfs.h Moved the declaration of the init_*fs functions into specialized headers (*fs.h or vfs-impl.h). 2004-08-17 09:17:43 +00:00
tar.c * tar.c (tar_read_header): Fix missed *. 2004-09-02 13:57:59 +00:00
tcputil.c * tcputil.c: Split mcfs-specific part to 2002-10-05 01:02:07 +00:00
tcputil.h * tcputil.c: Split mcfs-specific part to 2002-10-05 01:02:07 +00:00
undelfs.c * undelfs.c (undelfs_lstat): Adjusted declaration. 2004-08-26 09:17:38 +00:00
utilvfs.c Use atoll()/atof() instead of atol() for st_size to show file sizes > 2G. 2004-08-30 18:36:58 +00:00
utilvfs.h Const-ified the vfs_find[ug]id functions. 2004-08-17 09:48:15 +00:00
vfs-impl.h * tar.c (tar_read_header): Fix missed *. 2004-09-02 13:57:59 +00:00
vfs.c * vfs.c (vfs_cmp_handle): Fixing warnings on on 64-bit 2004-09-03 21:23:05 +00:00
vfs.h Moved the declaration of the init_*fs functions into specialized headers (*fs.h or vfs-impl.h). 2004-08-17 09:17:43 +00:00
xdirentry.h * vfs.c (vfs_split): Deconstify. 2003-11-14 08:25:50 +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.