man Pages(9S): DDI and DKI Data Structures
검색에만이 책은
PDF로 이 문서 다운로드

NAME

scsi_status - SCSI status structure

SYNOPSIS

#include <sys/scsi/scsi.h>

INTERFACE LEVEL

Solaris DDI specific (Solaris DDI)

DESCRIPTION

The SCSI-2 standard defines a status byte which 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 * /
uchar    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 at a later time.
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 com-
pleted 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 is returned whenever an initiator
attempts to access a logical unit or an extent within a logical
unit is reserved.
STATUS_TERMINATED
This status is a combination of STATUS_SCSI2 and
STATUS_CHECK ,and is returned whenever the target ter-
minates 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 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