Buffer-status values, Cam-statusvalues, Table 3-7 – HP Integrity NonStop H-Series User Manual
Page 35: Buffer-status values and their meanings

Interfacing With the Open SCSI I/O Process (IOP)
Buffer-Status Values
Buffer-Status Values
Buffer status is indicated by a 2-byte field in the WRITEREAD buffer header block. See
on page 3-7. This field is set to a nonzero value by the IOP if either:
•
The IOP does not support the specified version of the header block.
•
The IOP detects an error in the organization and layout of the buffer or in the
contents of the buffer that can be checked before the CCB is executed.
The buffer-status value needs to be checked only if a returned file-system error-code
value (see
on page 3-16) indicates that something might be wrong with the
buffer.
shows possible values for the buffer-status field, gives the FESTATUS
literals that could correspond to those values, and supplies possible error causes or
meanings for each status value.
CAM-StatusValues
The CAM-status field is supported in the CAM structure used in Open SCSI
passthrough mode. Because of the nature of the WRITEREAD procedure call, which is
used in the Open SCSI interface, polling the CAM-status field in the buffer does not
Table 3-7. Buffer-Status Values and Their Meanings
Buffer-Status
Value
FESTATUS Literal
Error Cause or Meaning
0
FEOK
No error occurred in either buffer format or data.
1
FEBADFORMAT
The buffer header block contains an
unsupported buffer version.
2
FEBADFORMAT
The buffer header block did not contain the
string 0h54485255 (THRU in ASCII) in the last
field (hdr_end).
3
FEBADCOUNT
The buffer is too short to contain the complete
header and the smallest allowable CCB.
The FEBADCOUNT literal might be returned in
cases where there is no valid buffer status; for
example, if the IOP detects a buffer that is not
long enough to contain even a valid header
block.
4
FEBADFORMAT
The CCB offset points back to the header block.
5
FEREQUEST
or
FEINVALOP
The IOP could not identify the command as a
valid passthrough command. The IOP did not
locate the string 0h50415353 (PASS in ASCII) in
the first field of the header block (hdr_begin), or
the IOP did not locate the string 0h54485255
(THRU in ASCII) in the last field of the header
block (hdr_end).