2.2.4.7 SVHDX_TUNNEL_SCSI_REQUEST Structure

The SVHDX_TUNNEL_SCSI_REQUEST packet is sent by the client to process the SCSI request.


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

Reserved1

CDBLength

SenseInfoExLength

Disposition

Reserved2

SrbFlags

DataTransferLength

CDBBuffer

...

...

...

Reserved3

DataBuffer (variable)

...

Length (2 bytes): Specifies the size, in bytes, of the SVHDX_TUNNEL_SCSI_REQUEST structure excluding the DataBuffer field. This field MUST be set to 36.

Reserved1 (2 byte): The client MUST set this field to zero.

CDBLength (1 byte): The length, in bytes, of the SCSI command descriptor block (CDB). This value MUST be less than or equal to RSVD_CDB_GENERIC_LENGTH.

SenseInfoExLength (1 byte): This field SHOULD be set to 20 and the server MUST ignore it on receipt.

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

Reserved2 (1 byte): This field MUST be set to 0x00.

SrbFlags (4 bytes): An optional, application-provided flag to indicate the options of the SCSI request. This field MUST contain zero or more of the following values:

Name

Meaning

SRB_FLAGS_DATA_IN

0x00000040

The application is sending data to the server

SRB_FLAGS_DATA_OUT

0x00000080

The application is requesting data from the server

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

CDBBuffer (16 bytes): A buffer that contains the SCSI CDB.

Reserved3 (4 bytes): This field MUST be set to 0x00000000.

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