Visit The New, Modern Unix Linux Community

Linux and UNIX Man Pages

Test Your Knowledge in Computers #571
Difficulty: Medium
A simple units bug in the Mars Climate Orbiter caused an error which resulted in loses of over $125M USD in 1999.
True or False?
Linux & Unix Commands - Search Man Pages

scsi_slave(9f) [centos man page]

scsi_slave(9F)						   Kernel Functions for Drivers 					    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. Target drivers may use this function in their probe(9E) routines. scsi_slave() determines if the device is present by using a Test Unit Ready command followed by an Inquiry command. 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. callback 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 attributes: +-----------------------------+-----------------------------+ | 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 discontinued in a future release. This function has been replaced by scsi_probe(9F). SunOS 5.10 27 Sep 2002 scsi_slave(9F)

Check Out this Related Man Page

scsi_slave(9F)						   Kernel Functions for Drivers 					    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. Target drivers may use this function in their probe(9E) routines. scsi_slave() determines if the device is present by using a Test Unit Ready command followed by an Inquiry command. 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. callback 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 attributes: +-----------------------------+-----------------------------+ | 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 discontinued in a future release. This function has been replaced by scsi_probe(9F). SunOS 5.10 27 Sep 2002 scsi_slave(9F)

Featured Tech Videos