Small. Fast. Reliable.
Choose any three.

SQLite C Interface

Virtual File System Objects

sqlite3_vfs *sqlite3_vfs_find(const char *zVfsName);
int sqlite3_vfs_register(sqlite3_vfs*, int makeDflt);
int sqlite3_vfs_unregister(sqlite3_vfs*);

A virtual filesystem (VFS) is an sqlite3_vfs object that SQLite uses to interact with the underlying operating system. Most SQLite builds come with a single default VFS that is appropriate for the host computer. New VFSes can be registered and existing VFSes can be unregistered. The following interfaces are provided.

R-61177-47713:[The sqlite3_vfs_find() interface returns a pointer to a VFS given its name. ] R-52918-29603:[Names are case sensitive. ] R-22782-22472:[Names are zero-terminated UTF-8 strings. ] R-19515-61262:[If there is no match, a NULL pointer is returned. ] R-54918-11103:[If zVfsName is NULL then the default VFS is returned. ]

R-27702-51733:[New VFSes are registered with sqlite3_vfs_register(). ] R-03529-13145:[Each new VFS becomes the default VFS if the makeDflt flag is set. ] R-55438-03590:[The same VFS can be registered multiple times without injury. ] R-28170-10886:[To make an existing VFS into the default VFS, register it again with the makeDflt flag set. ] If two different VFSes with the same name are registered, the behavior is undefined. If a VFS is registered with a name that is NULL or an empty string, then the behavior is undefined.

R-20210-23164:[Unregister a VFS with the sqlite3_vfs_unregister() interface. ] R-51358-63229:[If the default VFS is unregistered, another VFS is chosen as the default. The choice for the new VFS is arbitrary. ]

See also lists of Objects, Constants, and Functions.