scsi_status(9S) 					    Data Structures for Drivers 					   scsi_status(9S)

NAME
scsi_status - SCSI status structure SYNOPSIS
#include <sys/scsi/scsi.h> 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 MEMBERS
uchar 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 satisfied sts_busy 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 reservation 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 linked commands (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 indicates that the command queue in the target is full. 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 condition 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 log- ical unit or an extent within a logical unit is reserved. 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 Drivers SunOS 5.11 30 Aug 1995 scsi_status(9S)