HP OpenVMS I/O User's Reference Manual |
Using the OpenVMS Generic SCSI Class Driver |
|
|
| |
Issuing a $QIO Request to the Generic Class Driver
VAX MACRO Format $QIO [efn] ,chan ,func ,iosb ,[astadr] ,[astprm] ,p1 ,p2 [,p3] [,p4] [,p5] [,p6]
High-Level Language Format SYS$QIO ([efn] ,chan ,func ,iosb ,[astadr] ,[astprm] ,p1 ,p2 [,p3] [,p4] [,p5] [,p6])
| Currently, the only supported opcode is 1, indicating a pass-through function. Other opcode values are reserved for future expansion. | |||||||||||
| Bit map having the following format: ![]() Bits in the flags bit map are defined as follows:
| |||||||||||
| Address of a buffer containing a SCSI command. | |||||||||||
| Length of the SCSI command. The maximum length of the SCSI command is 128 bytes. | |||||||||||
| Address of a data buffer associated with the SCSI
command. If the dir bit is set in the flags field, data is written into this buffer during the execution of the command. Otherwise, data is read from this buffer and sent to the target device. If the SCSI command requires no data to be transferred, then the SCSI data address field should be clear. | |||||||||||
| Length, in bytes, of the data buffer pointed to
by the SCSI data address field. The maximum
data buffer size is 65,535 bytes. If the SCSI command requires no data to be transferred, then this field should be clear. | |||||||||||
| This field is used to accommodate SCSI device classes
that require that the transfer length be specified in terms of a
larger data unit than the count of bytes expressed in the SCSI
data length field. If the total amount of data requested
in the SCSI command does not match that specified in the SCSI
data length field, this field must account for the difference. For example, suppose an application program is using the generic class driver to read the first 2 bytes of a disk block. The length field in the SCSI READ command contains 1 (indicating one logical block, or 512 bytes), while the SCSI data length field contains a 2. The SCSI pad length field must contain the difference, 510 bytes. For most transfers, this field should contain 0. Failure to initialize the SCSI pad length field properly causes port driver timeouts and SCSI bus resets. | |||||||||||
| Maximum number of seconds for a target to change
the SCSI bus phase or complete a data transfer. A value of 0 causes
the SCSI port driver's default phase change timeout value of 4 seconds
to be used. See Setting Command Timeouts for additional information. | |||||||||||
| Maximum number of seconds for a target to reselect
the initiator to proceed with a disconnected I/O transfer. A value
of 0 causes the SCSI port driver's default disconnect timeout value
of 4 seconds to be used. See Setting Command Timeouts for additional information. |
|
|