Source: vhba-module
Section: misc
Priority: optional
Maintainer: linuxmangaka <linuxmangaka@gmail.com>
Rules-Requires-Root: no
Build-Depends: debhelper (>= 10),
 automake,
 dkms,
 dh-dkms,
 make,
 pkgconf,
 pkg-config,
Standards-Version: 4.6.2
Homepage: https://cdemu.sourceforge.io/about/vhba/
#Vcs-Browser: https://salsa.debian.org/debian/vhba-module
#Vcs-Git: https://salsa.debian.org/debian/vhba-module.git

Package: vhba-dkms
Architecture: all
Depends: ${shlibs:Depends},
 ${misc:Depends},
 build-essential,
Description: VHBA module
 VHBA module provides a Virtual (SCSI) HBA, which is the link between userspace daemon and linux kernel. Contrary to what some might expect due to the "userspace" part of the name, userspace CDEmu still needs a kernel module, just like the original CDEmu - the difference is that userspace CDEmu does all the processing (i.e. file reading, fake data generation, etc.) in userspace. Kernel module takes care of device emulation in the kernel; it registers virtual device with appripriate drivers and creates corresponding device nodes. It also creates a special character device that is used for communication with userspace. As a virtual device is accessed, requests are generated by kernel, which are in fact SCSI commands. These are passed to userspace daemon via afore-mentioned character device. Once it processes the request, the daemon returns corresponding data and status to kernel, thus completing the request. The whole process is very similar to accessing a real device, except that requests are passed to userspace daemon instead to hardware. Early, experimental versions of userspace-cdemu used a module that was called cdemu-module. This release is based on VHBA module, which was written by Chia-I Wu. Contrary to cdemu-module, which implemented all the interfaces (i.e. block device, uniform CD-ROM driver, etc.) manually, VHBA implements virtual SCSI host adapter and lets the kernel's SCSI layer do the rest. This approach is cleaner, faster and more robust.