Device Driver and Adapter Device Driver Interfaces
The SCSI device drivers can have both character (raw) and block special files in the /dev directory.
The SCSI adapter device driver has only character (raw) special files in the /dev directory and has only the ddconfig, ddopen, ddclose, dddump, and ddioctl entry points available to operating system programs. The ddread and ddwrite entry points are not implemented.
Internally, the devsw table has entry points for the ddconfig, ddopen, ddclose, dddump, ddioctl, and ddstrategy routines. The SCSI device drivers pass their SCSI commands to the SCSI adapter device driver by calling the SCSI adapter device driver ddstrategy routine. (This routine is unavailable to other operating system programs due to the lack of a block-device special file.)
Access to the SCSI adapter device driver's ddconfig, ddopen, ddclose, dddump, ddioctl, and ddstrategy entry points by the SCSI device drivers is performed through the kernel services provided. These include such services as fp_opendev, fp_close, fp_ioctl, devdump, and devstrategy.