Windows PowerShell command on Get-command scsi_probe
MyWebUniversity

Manual Pages for UNIX Operating System command usage for man scsi_probe

Kernel Functions for Drivers scsi_probe(9F)

NAME

scsi_probe - utility for probing a scsi device

SYNOPSIS

#include

int scsi_probe(struct scsi_device *devp, int (*waitfunc);

INTERFACE LEVEL

Solaris DDI specific (Solaris DDI).

PARAMETERS

devp Pointer to a scsi_device(9S) structure

waitfunc NULL_FUNC or SLEEP_FUNC

DESCRIPTION

scsi_probe() determines whether a target/lun is present and

sets up the scsi_device structure with inquiry data.

scsi_probe() uses the SCSI Inquiry command to test if the

device exists. It can retry the Inquiry command as appropri-

ate. If scsi_probe() is successful, it will allocate space

for the scsi_inquiry structure and assign the address to the

sd_inq member of the scsi_device(9S) structure. scsi_probe()

will then fill in this scsi_inquiry(9S) structure and return

SCSIPROBE_EXISTS. If scsi_probe() is unsuccessful, it

returns SCSIPROBE_NOMEM in spite of callback set to

SLEEP_FUNC.

scsi_unprobe(9F) is used to undo the effect of scsi_probe().

If the target is a non-CCS device, SCSIPROBE_NONCCS will be

returned. waitfunc indicates what the allocator routines should do when resources are not available; the valid values are:

NULL_FUNC Do not wait for resources. Return

SCSIPROBE_NOMEM or SCSIPROBE_FAILURE

SunOS 5.11 Last change: 26 Feb 2002 1

Kernel Functions for Drivers scsi_probe(9F)

SLEEP_FUNC Wait indefinitely for resources.

RETURN VALUES

scsi_probe() returns:

SCSIPROBE_BUSY Device exists but is currently busy.

SCSIPROBE_EXISTS Device exists and inquiry data is

valid.

SCSIPROBE_FAILURE Polled command failure.

SCSIPROBE_NOMEM No space available for structures.

SCSIPROBE_NOMEM_CB No space available for structures but

callback request has been queued.

SCSIPROBE_NONCCS Device exists but inquiry data is not

valid.

SCSIPROBE_NORESP Device does not respond to an

INQUIRY.

CONTEXT

scsi_probe() 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.

EXAMPLES

Example 1 Using scsi_probe()

switch (scsi_probe(devp, NULL_FUNC)) {

default:

case SCSIPROBE_NORESP:

case SCSIPROBE_NONCCS:

case SCSIPROBE_NOMEM:

case SCSIPROBE_FAILURE:

case SCSIPROBE_BUSY:

break;

case SCSIPROBE_EXISTS:

switch (devp->sd_inq->inq_dtype) {

case DTYPE_DIRECT:

rval = DDI_PROBE_SUCCESS;

SunOS 5.11 Last change: 26 Feb 2002 2

Kernel Functions for Drivers scsi_probe(9F)

break;

case DTYPE_RODIRECT:

rval = DDI_PROBE_SUCCESS;

break;

case DTYPE_NOTPRESENT:

default: break; } }

scsi_unprobe(devp);

SEE ALSO

attach(9E), probe(9E), scsi_slave(9F), scsi_unprobe(9F),

scsi_unslave(9F), scsi_device(9S), scsi_inquiry(9S)

ANSI Small Computer System Interface-2 (SCSI-2)

Writing Device Drivers NOTES

A waitfunc function other than NULL_FUNC or SLEEP_FUNC is

not supported and may have unexpected results.

SunOS 5.11 Last change: 26 Feb 2002 3




Contact us      |      About us      |      Term of use      |       Copyright © 2000-2019 MyWebUniversity.com ™