Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OpenBSD-5.7)
Apropos / Subsearch:
optional field

VND(4)                   BSD Kernel Interfaces Manual                   VND(4)

     vnd -- vnode disk driver

     pseudo-device vnd [count]

     The vnd driver provides a disk-like interface to a file.  This is useful
     for a variety of applications, such as building miniroot or floppy disk

     This document assumes familiarity with how to generate kernels and how to
     properly configure disks and pseudo-devices in a kernel configuration

     In order to compile in support for vnd devices, a line similar to the
     following must be present in the kernel configuration file:

           pseudo-device  vnd  4    # vnode disk driver

     The count argument is how many vnds memory is allocated for at boot time.
     In this example, no more than 4 vnds may be configured.

     There is a run-time utility that is used for configuring vnds.  See
     vnconfig(8) for more information.

     The following ioctl(2) calls are defined in <dev/vndioctl.h>:

     VNDIOCSET struct vnd_ioctl *
             Associate the file vnd_file with a vnd pseudo device, optionally
             encrypted using the Blowfish cipher and the key specified in
             vnd_key of length vnd_keylen.  The size of the configured device
             is returned in vnd_size.

                   struct vnd_ioctl {
                           char    *vnd_file;
                           off_t   vnd_size;
                           u_char  *vnd_key;
                           int     vnd_keylen;

     VNDIOCCLR struct vnd_ioctl *
             Disassociate a vnd device.

     VNDIOCGET struct vnd_user *
             Get the associated file name, device, inode number, and unit num-
             ber of a vnd device.  If vnu_unit is -1, information on the vnd
             device corresponding to the file descriptor passed to ioctl(2)
             will be returned.  Otherwise, vnu_unit may contain the unit num-
             ber of another vnd device.  This allows for opening just vnd0 and
             querying all available devices.

                   struct vnd_user {
                           char    vnufile[VNDNLEN];
                           int     vnu_unit;
                           dev_t   vnu_dev;
                           ino_t   vnu_ino;

     Additionally, some disklabel(8) related ioctl(2) calls defined in
     <sys/dkio.h> are available: DIOCGDINFO, DIOCSDINFO, and DIOCWDINFO.  They
     are documented in sd(4).

     /dev/{,r}vnd*  vnd device special files

     ioctl(2), sd(4), disklabel(5), config(8), disklabel(8), fdisk(8),
     fsck(8), MAKEDEV(8), mount(8), newfs(8), vnconfig(8)

BSD                             April 26, 2017                             BSD