RS_COMMAND_DESCRIPTOR structure (storport.h)
The RS_COMMAND_DESCRIPTOR structure contains information about a single supported command descriptor block (CDB).
Syntax
typedef struct {
UCHAR OperationCode;
UCHAR Reserved;
UCHAR ServiceAction[2];
UCHAR Reserved1;
UCHAR ServiceActionValid : 1;
UCHAR CommandTimeoutsDescriptorPresent : 1;
UCHAR CommandDurationLimitPage : 2;
UCHAR MultipleLogicalUnits : 2;
UCHAR ReadWriteCommandDurationLimitsPage : 1;
UCHAR Reserved2 : 1;
UCHAR CdbLength[2];
} RS_COMMAND_DESCRIPTOR, *PRS_COMMAND_DESCRIPTOR;
Members
OperationCode
Specifies the command being requested by the command descriptor block (CDB).
Reserved
Reserved for internal use.
ServiceAction[2]
Provides qualification for the OperationCode field for some commands, allowing:
- Unrelated commands that share the same operation code, such as the Report Supported Operation Codes and the Report Target Port Groups commands.
- A set of related functions that share the same operation code, for example, the Persistent Reserve In command.
Reserved1
Reserved for internal use.
ServiceActionValid
Indicates that the contents of the OperationCode and ServiceAction fields are valid.
CommandTimeoutsDescriptorPresent
Indicates that the command timeouts descriptor is included in this command descriptor.
CommandDurationLimitPage
The ReadWriteCommandDurationLimitsPage and the CommandDurationLimitPage fields together indicate the mode page that specifies the command duration limit for the command.
MultipleLogicalUnits
The MultipleLogicalUnits field is described in the following table.
Value | Description |
---|---|
0 | The effect of this command on other logical units is not reported. |
1 | This command only affects this logical unit. |
2 | This command affects more than one but not all logical units contained in this target device. |
3 | This command affects all of the logical units contained in this target device. |
ReadWriteCommandDurationLimitsPage
The ReadWriteCommandDurationLimitsPage and the CommandDurationLimitPage fields together indicate the mode page that specifies the command duration limit for the command.
Reserved2
Reserved for internal use.
CdbLength[2]
Indicates the length of the command descriptor block in bytes for the OperationCode, and if the ServiceActionValid is TRUE, the action indicated by the ServiceAction field.
Remarks
The values for the ReadWriteCommandDurationLimitsPage and the CommandDurationLimitPage fields are reflected in the following table.
ReadWriteCommandDurationLimitsPage | CommandDurationLimitPage | Description |
---|---|---|
0 | 0 | No command duration limit mode page is indicated for this command. |
1 | 0 | Reserved |
0 | 1 | Command duration limit A mode page |
0 | 2 | Command duration limit B mode page |
1 | 1 | Command duration limit T2A mode page |
1 | 2 | Command duration limit T2B mode page |
0 or 1 | 3 | Reserved |
Requirements
Requirement | Value |
---|---|
Header | storport.h |