HP-UX Reference (11i v1 05/09) - 7 Device (Special) Files, 9 General Information, Index (vol 10)
s
scsi_pt(7) scsi_pt(7)
(Series 800 Only)
};
The flags field can have the following values (if supported):
SCTL_READ Data-in phase expected if the data_length field is non-zero. The
absence of this flag implies that a data-out phase is expected if the
data_length field is non-zero.
SCTL_INIT_SDTR
synchronous data transfer request negotiations should be attempted
with this command.
SCTL_INIT_WDTR
wide data transfer request negotiations should be attempted with this
command.
SCTL_NO_ATN device should be selected without attention (ATN). This implies that
no SCSI message phase should be attempted with this command. (Not
supported)
SCTL_2BYTE device maintains 2-byte alignment. (Not supported)
SCTL_4BYTE device maintains 4-byte alignment. (Not supported)
The cdb_length field specifies the number of valid command bytes in the cdb
field.
The
cdb field specifies the SCSI command bytes. These command bytes are sent to the target device dur-
ing the SCSI command phase.
The data field specifies the address of the data area for the data phase of the SCSI command.
The data_length field specifies the maximum number of data bytes to be transferred. A zero value in
the data_length field indicates that no data phase should occur. Most SCSI commands with a data
phase expect the data length information to be included somewhere in the command bytes. The caller is
responsible for correctly specifying both the data_length field and any cdb field data length values.
Unexpected system behavior occurs if these fields are not consistent. The data_length value may not
be larger than 1 Megabyte.
The max_msecs field specifies the maximum time, in milliseconds, that the device should need to com-
plete the command. If this period of time expires without command completion, the system attempts
recovery procedures to regain the device’s attention. These recovery procedures may include device and
bus reset operations. A zero value in the
max_msec field indicates that the timeout period is infinite and
the system should wait indefinitely for command completion. Note that very large (or infinite) timeout
values can cause the SCSI bus (potentially the entire system) to ‘‘hang’’.
The data_xfer field indicates the number of data bytes actually transferred during the data phase of
the cdb command. This field is valid only when the cdb_status field contains one of the following
values: S_GOOD, S_CHECK_CONDITION
or, S_CONDITION_MET.
The
cdb_status field indicates the results of the cdb command. When the SIOC_IO ioctl call returns,
all command processing has been completed. Most
SIOC_IO ioctl calls will return zero (success). It is
important, however, to always check the return value from the ioctl to ensure that an unexpected error has
not occurred. The resulting detailed ioctl data should be used to evaluate ‘‘success’’ or ‘‘failure’’ from the
caller’s perspective. If the cdb_status field indicates a
S_CHECK_CONDITION status, the
sense_status field indicates the results of the SCSI REQUEST SENSE command used to collect the
associated sense data. These status fields will contain one of the following values:
SCTL_INVALID_REQUEST The SCSI command request is invalid and was not attempted.
SCTL_SELECT_TIMEOUT The target device did not answer to selection by the host SCSI interface
(the device does not exist or did not respond).
SCTL_INCOMPLETE The device answered selection but the command was not completed (the
device took too long or a communication failure occurred, ie. device power-
fail).
SCTL_POWERFAIL A system power recovery occurred. Error handling and retrying the com-
mand may be necessary. The pass-through driver does not perform any
powerfail recovery.
S_GOOD Device successfully completed the command.
S_CHECK_CONDITION Device indicated sense data was available.
HP-UX 11i Version 1: September 2005 − 2 − Hewlett-Packard Company Section 7−−141