scsi_slave(9F)
NAME
scsi_slave - utility for SCSI target drivers to establish
the presence of a target
SYNOPSIS
#include <sys/scsi/scsi.h>
int scsi_slave(struct scsi_device *devp, int
(*callback)(void));
INTERFACE LEVEL
The scsi_slave() function is obsolete. This function has
been replaced by scsi_probe(9F).
PARAMETERS
devp Pointer to a scsi_device(9S) structure.
callback
Pointer to a callback function, NULL_FUNC or
SLEEP_FUNC.
DESCRIPTION
scsi_slave() checks for the presence of a SCSI device. Tar-
get drivers may use this function in their probe(9E) rou-
tines. scsi_slave() determines if the device is present by
using a Test Unit Ready command followed by an Inquiry com-
mand. If scsi_slave() is successful, it will fill in the
scsi_inquiry structure, which is the sd_inq member of the
scsi_device(9S) structure, and return SCSI_PROBE_EXISTS.
This information can be used to determine if the target
driver has probed the correct SCSI device type. callback
indicates what the allocator routines should do when DMA
resources are not available:
NULL_FUNC
Do not wait for resources. Return a NULL pointer.
SLEEP_FUNC
Wait indefinitely for resources.
Other Values
callback points to a function which is called
when resources may have become available. call-
back must return either 0 (indicating that it
attempted to allocate resources but again failed
to do so), in which case it is put back on a list
to be called again later, or 1 indicating either
success in allocating resources or indicating
that it no longer cares for a retry.
RETURN VALUES
scsi_slave() returns:
SCSIPROBE_NOMEM
No space available for structures.
SCSIPROBE_EXISTS
Device exists and inquiry data is valid.
SCSIPROBE_NONCCS
Device exists but inquiry data is not valid.
SCSIPROBE_FAILURE
Polled command failure.
SCSIPROBE_NORESP
No response to TEST UNIT READY.
CONTEXT
scsi_slave() is normally called from the target driver's
probe(9E) or attach(9E) routine. In any case, this routine
should not be called from interrupt context, because it can
sleep waiting for memory to be allocated.
ATTRIBUTES
See attributes(5) for a description of the following attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Stability Level | Obsolete |
|_____________________________|_____________________________|
SEE ALSO
attributes(5), attach(9E), probe(9E), ddi_iopb_alloc(9F),
makecom(9F), scsi_dmaget(9F), scsi_ifgetcap(9F),
scsi_pktalloc(9F), scsi_poll(9F), scsi_probe(9F),
scsi_device(9S)
ANSI Small Computer System Interface-2 (SCSI-2)
Writing Device Drivers
NOTES
The scsi_slave() function is obsolete and will be discontin-
ued in a future release. This function has been replaced by
scsi_probe(9F).
Man(1) output converted with
man2html