1scsi_status(9S)           Data Structures for Drivers          scsi_status(9S)
2
3
4

NAME

6       scsi_status - SCSI status structure
7

SYNOPSIS

9       #include <sys/scsi/scsi.h>
10
11

INTERFACE LEVEL

13       Solaris DDI specific (Solaris DDI)
14

DESCRIPTION

16       The  SCSI-2standard  defines a status byte that is normally sent by the
17       target to the initiator during the status phase at  the  completion  of
18       each command.
19

STRUCTURE MEMBERS

21         uchar  sts_scsi2    :1;       /* SCSI-2 modifier bit */
22         uchar  sts_is       :1;       /* intermediate status sent */
23         uchar  sts_busy     :1;       /* device busy or reserved */
24         uchar  sts_cm       :1;       /* condition met */
25         ucha   sts_chk      :1;       /* check condition */
26
27
28
29       sts_chk indicates that a contingent allegiance condition has occurred.
30
31
32       sts_cm is returned whenever the requested operation is satisfied
33
34
35       sts_busy  indicates  that  the  target is busy. This status is returned
36       whenever a target is unable to  accept  a  command  from  an  otherwise
37       acceptable  initiator  (that  is, no reservation conflicts). The recom‐
38       mended initiator recovery action is to issue the command again later.
39
40
41       sts_is is returned for every successfully completed command in a series
42       of  linked  commands  (except  the last command), unless the command is
43       terminated with a check condition status, reservation conflict, or com‐
44       mand terminated status. Note that host bus adapter drivers may not sup‐
45       port linked commands (see scsi_ifsetcap(9F)). If  sts_is  and  sts_busy
46       are both set, then a reservation conflict has occurred.
47
48
49       sts_scsi2 is the SCSI-2 modifier bit. If sts_scsi2 and sts_chk are both
50       set, this indicates a  command  terminated  status.  If  sts_scsi2  and
51       sts_busy  are  both  set,  this indicates that the command queue in the
52       target is full.
53
54
55       For accessing the status as a byte, the following values are  appropri‐
56       ate:
57
58       STATUS_GOOD
59
60           This  status  indicates  that the target has successfully completed
61           the command.
62
63
64       STATUS_CHECK
65
66           This status indicates that a contingent  allegiance  condition  has
67           occurred.
68
69
70       STATUS_MET
71
72           This  status  is  returned when the requested operations are satis‐
73           fied.
74
75
76       STATUS_BUSY
77
78           This status indicates that the target is busy.
79
80
81       STATUS_INTERMEDIATE
82
83           This status is returned for every successfully completed command in
84           a series of linked commands.
85
86
87       STATUS_SCSI2
88
89           This is the SCSI-2 modifier bit.
90
91
92       STATUS_INTERMEDIATE_MET
93
94           This status is a combination of STATUS_MET and STATUS_INTERMEDIATE.
95
96
97       STATUS_RESERVATION_CONFLICT
98
99           This  status  is  a  combination  of  STATUS_INTERMEDIATE  and STA‐
100           TUS_BUSY, and it is returned  whenever  an  initiator  attempts  to
101           access  a  logical  unit  or  an  extent  within  a logical unit is
102           reserved.
103
104
105       STATUS_TERMINATED
106
107           This status is a combination of STATUS_SCSI2 and STATUS_CHECK,  and
108           it  is  returned  whenever  the  target  terminates the current I/O
109           process after receiving a terminate I/O process message.
110
111
112       STATUS_QFULL
113
114           This status is a combination of STATUS_SCSI2 and  STATUS_BUSY,  and
115           it is returned when the command queue in the target is full.
116
117

SEE ALSO

119       scsi_ifgetcap(9F),      scsi_init_pkt(9F),     scsi_extended_sense(9S),
120       scsi_pkt(9S)
121
122
123       Writing Device Drivers
124
125
126
127SunOS 5.11                        30 Aug 1995                  scsi_status(9S)
Impressum