The ::vfs package includes a library of Tcl code, implementing a number of different virtual filesystems. Each of these exists as its own package, and can be accessed through package require vfs::NAME. The whole set of virtual filesystems is known informally as 'vfslib'

The current supported types are ftp, tar, http, zip, mk4, ns, webdav. In addition there is the ability to mount any 'urltype' as a new volume, provided an appropriate vfs is supported. This means that you can treat evaluate the command

vfs::urltype::Mount ftp

for instance. Any access inside the new volume will result in an attempt to require a package through 'package require vfs::${type}', which must therefore exist, or errors will be thrown.