---
name: "vfslib"
section: "3tcl"
platform: "linux"
package: "tcl-vfs"
version: "1.4.2~20230906-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/vfslib"
---

# vfslib(3tcl)

Procedures to interact with virtual filesystems

## NAME

::vfslib - Procedures to interact with virtual filesystems

## SYNOPSIS

**package require Tcl**

**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 'ftp://', 'http://' and 'file://' urls as files.  To do this, simply 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
