Data Structures for Drivers scsi_status(9S)
NAME
scsi_status - SCSI status structure
SYNOPSIS
#include
INTERFACE LEVEL
Solaris DDI specific (Solaris DDI)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 MEMBERSuchar sts_scsi2 :1; /* SCSI-2 modifier bit */
uchar sts_is :1; /* intermediate status sent */
uchar sts_busy :1; /* device busy or reserved */
uchar sts_cm :1; /* condition met */
ucha sts_chk :1; /* check condition */
sts_chk indicates that a contingent allegiance condition has
occurred.sts_cm is returned whenever the requested operation is
satisfiedsts_busy indicates that the target is busy. This status is
returned whenever a target is unable to accept a commandfrom an otherwise acceptable initiator (that is, no reserva-
tion conflicts). The recommended initiator recovery action is to issue the command again later.sts_is 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 linkedcommands (see scsi_ifsetcap(9F)). If sts_is and sts_busy are
both set, then a reservation conflict has occurred.sts_scsi2 is the SCSI-2 modifier bit. If sts_scsi2 and
sts_chk are both set, this indicates a command terminated
status. If sts_scsi2 and sts_busy 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 scsi_status(9S)
For accessing the status as a byte, the following values are appropriate:STATUS_GOOD
This status indicates that the target has successfully completed the command.STATUS_CHECK
This status indicates that a contingent allegiance con-
dition has occurred.STATUS_MET
This status is returned when the requested operations are satisfied.STATUS_BUSY
This status indicates that the target is busy.STATUS_INTERMEDIATE
This status is returned for every successfully completed command in a series of linked commands.STATUS_SCSI2
This is the SCSI-2 modifier bit.
STATUS_INTERMEDIATE_MET
This status is a combination of STATUS_MET and
STATUS_INTERMEDIATE.
STATUS_RESERVATION_CONFLICT
This status is a combination of STATUS_INTERMEDIATE and
STATUS_BUSY, 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 scsi_status(9S)
STATUS_TERMINATED
This status is a combination of STATUS_SCSI2 and
STATUS_CHECK, and it is returned whenever the target
terminates the current I/O process after receiving a
terminate I/O process message.
STATUS_QFULL
This status is a combination of STATUS_SCSI2 and
STATUS_BUSY, and it is returned when the command queue
in the target is full.SEE ALSO
scsi_ifgetcap(9F), scsi_init_pkt(9F),
scsi_extended_sense(9S), scsi_pkt(9S)
Writing Device DriversSunOS 5.11 Last change: 30 Aug 1995 3