Data Structures for Drivers scsistatus(9S)
NAME
scsistatus - SCSI status structure
SYNOPSIS
#include
INTERFACE LEVEL
Solaris DI specific (Solaris DI)
DESCRIPTION
The SCSI-2standard defines a status byte that is normally
sent by the target to the initiator during the status phase
at the completion of each command.
STRUCTURE MEMBERS
uchar stsscsi2 :1; /* SCSI-2 modifier bit */
uchar stsis :1; /* intermediate status sent */
uchar stsbusy :1; /* device busy or reserved */
uchar stscm :1; /* condition met */
ucha stschk :1; /* check condition */
stschk indicates that a contingent allegiance condition has
occurred.
stscm is returned whenever the requested operation is
satisfied
stsbusy indicates that the target is busy. This status is
returned whenever a target is unable to accept a command
from an otherwise acceptable initiator (that is, no reserva-
tion conflicts). The recommended initiator recovery action
is to issue the command again later.
stsis is returned for every successfully completed command
in a series of linked commands (except the last command),
unless the command is terminated with a check condition
status, reservation conflict, or command terminated status.
Note that host bus adapter drivers may not support linked
commands (see scsiifsetcap(9F)). If stsis and stsbusy are
both set, then a reservation conflict has occurred.
stsscsi2 is the SCSI-2 modifier bit. If stsscsi2 and
stschk are both set, this indicates a command terminated
status. If stsscsi2 and stsbusy are both set, this indi-
cates that the command queue in the target is full.
SunOS 5.11 Last change: 30 Aug 1995 1
Data Structures for Drivers scsistatus(9S)
For accessing the status as a byte, the following values are
appropriate:
STATUSGOD
This status indicates that the target has successfully
completed the command.
STATUSCHECK
This status indicates that a contingent allegiance con-
dition has occurred.
STATUSMET
This status is returned when the requested operations
are satisfied.
STATUSBUSY
This status indicates that the target is busy.
STATUSINTERMEDIATE
This status is returned for every successfully completed
command in a series of linked commands.
STATUSCSI2
This is the SCSI-2 modifier bit.
STATUSINTERMEDIATEMET
This status is a combination of STATUSMET and
STATUSINTERMEDIATE.
STATUSRESERVATIONCONFLICT
This status is a combination of STATUSINTERMEDIATE and
STATUSBUSY, and it is returned whenever an initiator
attempts to access a logical unit or an extent within a
logical unit is reserved.
SunOS 5.11 Last change: 30 Aug 1995 2
Data Structures for Drivers scsistatus(9S)
STATUSTERMINATED
This status is a combination of STATUSCSI2 and
STATUSCHECK, and it is returned whenever the target
terminates the current I/O process after receiving a
terminate I/O process message.
STATUSQFUL
This status is a combination of STATUSCSI2 and
STATUSBUSY, and it is returned when the command queue
in the target is full.
SEE ALSO
scsiifgetcap(9F), scsiinitpkt(9F),
scsiextendedsense(9S), scsipkt(9S)
Writing Device Drivers
SunOS 5.11 Last change: 30 Aug 1995 3
|