---
name: "VFS_SET"
section: "9"
platform: "linux"
package: "freebsd-manpages"
version: "6.0-5"
release: "Debian 4.0 (Etch)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/VFS_SET"
---

# VFS\_SET(9)

set up loadable file system vfsconf

## NAME

**VFS\_SET** – set up loadable file system *vfsconf*

## SYNOPSIS

**#include \<sys/param.h\>**

**#include \<sys/kernel.h\>**

**#include \<sys/module.h\>**

**#include \<sys/mount.h\>**

*void*\

**VFS\_SET**(*struct vfsops \*vfsops*, *fsname*, *int flags*);

## DESCRIPTION

**VFS\_SET**() creates a *vfsconf* structure for the loadable module with the given *vfsops*, *fsname*, and *flags*, and declares it by calling [DECLARE\_MODULE(9)](/DECLARE_MODULE/9.md) using **vfs\_modevent**() as the event handler.

Possible values for the *flags* argument are:

- VFCF\_STATIC

  File system should be statically available in the kernel.

- VFCF\_NETWORK

  Network exportable file system.

- VFCF\_READONLY

  Does not support write operations.

- VFCF\_SYNTHETIC

  Pseudo file system, data does not represent on-disk files.

- VFCF\_LOOPBACK

  Loopback file system layer.

- VFCF\_UNICODE

  File names are stored as Unicode.

## PSEUDOCODE

```
/*
 * fill in the ones we use, and use the vfs_std for the rest.
 */
static struct vfsops myfs_vfsops = {
        myfs_mount,
        vfs_stdstart,
        myfs_unmount,
        myfs_root,
        vfs_stdquotactl,
        myfs_statfs,
        vfs_stdsync,
        vfs_stdvget,
        vfs_stdfhtovp,
        vfs_stdcheckexp,
        vfs_stdvptofh,
        vfs_stdinit,
        vfs_stduninit,
        vfs_stdextattrctl,
};
VFS_SET(myfs_vfsops, skelfs, 0);
```

## SEE ALSO

[DECLARE\_MODULE(9)](/DECLARE_MODULE/9.md), [vfsconf(9)](/vfsconf/9.md), [vfs\_modevent(9)](/vfs_modevent/9.md)

## AUTHORS

This manual page was written by Chad David ⟨davidc@acns.ab.ca⟩.
