diff options
Diffstat (limited to 'share/man/man4/pass.4')
-rw-r--r-- | share/man/man4/pass.4 | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/share/man/man4/pass.4 b/share/man/man4/pass.4 new file mode 100644 index 0000000..01413f5 --- /dev/null +++ b/share/man/man4/pass.4 @@ -0,0 +1,110 @@ +.\" +.\" Copyright (c) 1998 Kenneth D. Merry. +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $Id$ +.\" +.Dd October 10, 1998 +.Dt PASS 4 +.Os FreeBSD 3.0 +.Sh NAME +.Nm pass +.Nd CAM application passthrough driver +.Sh SYNOPSIS +.Cd device pass0 +.Cd device pass2 at scbus0 target 3 lun 0 +.Sh DESCRIPTION +The +.Nm pass +driver provides a way for userland applications to issue CAM CCBs to the +kernel. +.Pp +Since the +.Nm pass +driver allows direct access to the CAM subsystem, system administrators +should exercise caution when granting access to this driver. If used +improperly, this driver can allow userland applications to crash a machine +or cause data loss. +.Pp +The +.Nm pass +driver attaches to every +.Tn SCSI +device found in the system. +Since it attaches to every device, it provides a generic means of accessing +.Tn SCSI +devices, and allows the user to access devices which have no +"standard" peripheral driver associated with them. +.Sh KERNEL CONFIGURATION +It is only necessary to configure one +.Nm pass +device in the kernel; +.Nm pass +devices are automatically allocated as +.Tn SCSI +devices are found. +.Sh IOCTLS +.Bl -tag -width 012345678901234 +.It CAMIOCOMMAND +This ioctl takes any kind of CAM CCB and passes it through to the CAM +transport layer for action. +.It CAMGETPASSTHRU +This ioctl takes an XPT_GDEVLIST CCB, and returns the passthrough device +corresponding to the device in question. Although this ioctl is available +through the +.Nm pass +driver, it is of limited use, since the caller must already know that +the device in question is a passthrough device if they're issuing this +ioctl. It is probably more useful to issue this ioctl through the +.Xr xpt 4 +device. +.El +.Sh FILES +.Bl -tag -width 01234567890 -compact +.It Pa /dev/pass Ns Ar n +Character device nodes for the +.Nm pass +driver. There should be one of these for each device accessed through the +CAM subsystem. +.El +.Sh DIAGNOSTICS +None. +.Sh SEE ALSO +.Xr cam 3 , +.Xr xpt 4 , +.Xr camcontrol 8 , +.Xr cam 9 , +.Xr ccb 9 , +.Xr xpt 9 , +.Sh HISTORY +The CAM passthrough driver first appeared in +.Fx 3.0 . +.Sh AUTHORS +.An Kenneth Merry Aq ken@FreeBSD.ORG +.Sh BUGS +It might be nice to have a way to asynchronously send CCBs through the +passthrough driver. This would probably require some sort of read/write +interface or an asynchronous ioctl interface. |