---
name: "vfslib"
section: "n"
platform: "linux"
package: "tclvfs"
version: "1.3-1"
release: "Debian 3.1 (Sarge)"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/vfslib/n"
---

# vfslib(n)

Procedures to interact with virtual filesystems

## NAME

::vfslib - Procedures to interact with virtual filesystems

## SYNOPSIS

**package require Tcl 8.4**

**package require vfs ?1.2.1?**

**package require vfs::zip ?1.0?**

**package require vfs::mk4 ?1.6?**

**package require vfs::tar ?0.9?**

**package require vfs::ftp ?1.0?**

**package require vfs::ns ?1.0?**

**package require vfs::webdav ?0.1?**

**package require vfs::http ?0.5?**

**package require vfs::urltype ?1.0?**

**vfs::zip::Mount** *path* *to*

**vfs::ftp::Mount** *path* *to*

**vfs::tar::Mount** *path* *to*

**vfs::http::Mount** *path* *to*

**vfs::mk4::Mount** *path* *to*

**vfs::ns::Mount** *path* *to*

**vfs::urltype::Mount** *type*

## DESCRIPTION

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'

## SUPPORTED VFS TYPES

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.

## LIMITATIONS

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

## KEYWORDS

vfs, vfslib, filesystem, zip, tar, webdav, namespace, ftp, http, file
