File: vfs-filesystems.man

package info (click to toggle)
tclvfs 1.3-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 1,240 kB
  • ctags: 416
  • sloc: tcl: 3,670; xml: 2,882; sh: 2,833; ansic: 1,264; makefile: 58
file content (95 lines) | stat: -rw-r--r-- 2,904 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
[comment {-*- tcl -*- doctools manpage}]
[manpage_begin vfs-filesystems n 1.0]
[copyright {2001-2003 Vince Darley <vincentdarley@users.sourceforge.net>}]
[copyright {2003 Andreas Kupries <andreas_kupries@users.sourceforge.net>}]
[moddesc   {Tcl-level Virtual Filesystems}]
[titledesc {Filesystems provided by tclvfs}]
[require Tcl 8.4]
[require vfs [opt 1.2.1]]
[require vfs::zip     [opt 1.0]]
[require vfs::mk4     [opt 1.6]]
[require vfs::tar     [opt 0.9]]
[require vfs::ftp     [opt 1.0]]
[require vfs::ns      [opt 1.0]]
[require vfs::webdav  [opt 0.1]]
[require vfs::http    [opt 0.5]]
[require vfs::urltype [opt 1.0]]
[description]

The package [package vfs] provides not only the means to implement a
virtual filesystem at the tcl level, but also a number of ready to be
used filesystems as well.

[para]

Each of these filesystem exists as its own package, and can be
accessed through [cmd {package require vfs::NAME}].

The whole set of these virtual filesystems is known informally as
'[term vfslib]'.

[section {SUPPORTED VFS TYPES}]

Currently supported are ftp, tar, http, zip, mk4, ns, and webdav.

In addition there is the ability to mount any 'urltype' as a new
directory, provided an appropriate vfs is supported.  This means that
you can treat urls based on the schemes [emph ftp://], [emph http://]
and [emph file://] as files.  To do this, simply evaluate the command

[cmd {vfs::urltype::Mount ftp}]

for example.  Any access inside the new volume will result in an
attempt to require a package through

[cmd {package require vfs::${type}}], which must therefore exist, or
errors will be thrown.

If a filesystem is loaded, use the associated command listed below to
mount a source for that filesystem as a tcl directory.

[list_begin definitions]
[call [cmd vfs::zip::Mount] [arg path] [arg to]]

Mount the zip file [arg path] as directory [arg to].

[call [cmd vfs::mk4::Mount] [arg path] [arg to]]

Mount the metakit database file file [arg path] as directory [arg to].

[call [cmd vfs::tar::Mount] [arg path] [arg to]]

Mount the tar file [arg path] as directory [arg to].

[call [cmd vfs::ftp::Mount] [arg path] [arg to]]

Mount the ftp url [arg path] as directory [arg to].

[call [cmd vfs::ns::Mount] [arg path] [arg to]]

Mount the tcl namespace [arg path] as directory [arg to].

[call [cmd vfs::webdav::Mount] [arg path] [arg to]]

Mount the webdav url [arg path] as directory [arg to].

[call [cmd vfs::http::Mount] [arg path] [arg to]]

Mount the http url [arg path] as directory [arg to].

[call [cmd vfs::urltype::Mount] [arg path] [arg to]]

Mount the url [arg path], of type [arg urltype] as directory [arg to].

[list_end]


[section LIMITATIONS]

Most of the vfs types listed above have not been very well debugged as
yet.  Please test them!


[see_also vfs vfs-fsapi]
[keywords vfs filesystem file vfslib zip tar webdav ftp http namespace metakit]
[manpage_end]