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 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  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  indi-
     cates 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  suc-
                cessfully completed the command.

          STATUS_CHECK
                This status indicates that a  contingent  allegi-
                ance condition has occurred.

          STATUS_MET
                This status is returned when the requested opera-
                tions 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.

          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


Man(1) output converted with man2html