Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
VND(4)		       FreeBSD Kernel Interfaces Manual			VND(4)

NAME
     vnd -- vnode disk driver

SYNOPSIS
     pseudo-device vnd [count]

DESCRIPTION
     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
     images.

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

     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.

IOCTL INTERFACE
     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).

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

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

FreeBSD	13.0			 July 2, 2014			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | IOCTL INTERFACE | FILES | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=vnd&sektion=4&manpath=OpenBSD+6.9>

home | help