2.2.4.8 SVHDX_TUNNEL_SCSI_RESPONSE Structure

The SVHDX_TUNNEL_SCSI_RESPONSE packet is sent by the server in response to the operation RSVD_TUNNEL_SCSI_OPERATION.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Length

A

SrbStatus

ScsiStatus

CDBLength

SenseInfoExLength

Disposition

Reserved

SrbFlags

DataTransferLength

SenseDataEx (variable)

...

...

DataBuffer (variable)

...

Length (2 bytes): Specifies the size, in bytes, of the SVHDX_TUNNEL_SCSI_RESPONSE structure excluding the DataBuffer field.

A - SenseInfoAutoGenerated (1 bit): A 1-bit field; when set to TRUE, indicates that sense data was returned by the virtual SCSI disk.

SrbStatus (7 bits): A 7-bit field indicating the status. This field MUST contain one of the values in section 2.2.5.

ScsiStatus (1 byte): An 8-bit field used to communicate the SCSI status that was returned by the target device.

CDBLength (1 byte): This field MUST be set to the CDBLength value received in the request and ignored on receipt.

SenseInfoExLength (1 byte): The length, in bytes, of the SenseDataEx field. This value MUST be less than or equal to RSVD_SCSI_SENSE_BUFFER_SIZE.

Disposition (1 byte): This field indicates the SCSI CDB transfer type and MUST be set to one of the following values:

Value

Meaning

0x00

Indicates that data is being requested from the virtual SCSI disk

0x01

Indicates that data is being sent to the virtual SCSI disk

0x02

Indicates that data is neither being requested nor sent

Reserved (1 byte): This field MUST be set to zero, and MUST be ignored on receipt.

SrbFlags (4 bytes): Special flags to indicate options of the SCSI response. This field MUST contain zero or more of the following values:

Name

Meaning

SRB_FLAGS_DATA_IN

0x00000040

The client sent data to the server.

SRB_FLAGS_DATA_OUT

0x00000080

The server is sending data to the client.

DataTransferLength (4 bytes): The length, in bytes, of the additional data placed in the DataBuffer field.

SenseDataEx (variable): A buffer that contains the sense data.

DataBuffer (variable): A variable-length buffer that contains the additional buffer, as described by the DataTransferLength field.