42 MSC_SUBCLASS_RBC = 1 ,
43 MSC_SUBCLASS_SFF_MMC ,
msc_protocol_type_t
MassStorage Protocol.
@ MSC_PROTOCOL_BOT
Bulk-Only Transport.
@ MSC_PROTOCOL_CBI_NO_INTERRUPT
Control/Bulk/Interrupt protocol (without command completion interrupt)
@ MSC_PROTOCOL_CBI
Control/Bulk/Interrupt protocol (with command completion interrupt)
TU_VERIFY_STATIC(sizeof(msc_cbw_t)==31, "size is not correct")
struct TU_ATTR_PACKED scsi_read_capacity10_t
SCSI Read Capacity 10 Command: Read Capacity.
struct TU_ATTR_PACKED scsi_inquiry_resp_t
SCSI Inquiry Response Data.
struct TU_ATTR_PACKED scsi_request_sense_t
struct TU_ATTR_PACKED scsi_inquiry_t
SCSI Inquiry Command.
struct TU_ATTR_PACKED scsi_mode_sense6_resp_t
struct TU_ATTR_PACKED scsi_start_stop_unit_t
struct TU_ATTR_PACKED msc_cbw_t
Command Block Wrapper.
struct TU_ATTR_PACKED scsi_read10_t
SCSI Read 10 Command.
scsi_sense_key_type_t
SCSI Sense Key.
@ SCSI_SENSE_HARDWARE_ERROR
Indicates the disc drive detected a nonrecoverable hardware failure while performing the command or d...
@ SCSI_SENSE_FIRMWARE_ERROR
Vendor specific sense key.
@ SCSI_SENSE_VOLUME_OVERFLOW
Indicates a buffered peripheral device has reached the end of medium partition and data remains in th...
@ SCSI_SENSE_RECOVERED_ERROR
Indicates the last command completed successfully with some recovery action performed by the disc dri...
@ SCSI_SENSE_ILLEGAL_REQUEST
Indicates an illegal parameter in the command descriptor block or in the additional parameters.
@ SCSI_SENSE_UNIT_ATTENTION
Indicates the disc drive may have been reset.
@ SCSI_SENSE_NOT_READY
Indicates the logical unit addressed cannot be accessed.
@ SCSI_SENSE_MISCOMPARE
Indicates that the source data did not match the data read from the medium.
@ SCSI_SENSE_EQUAL
Indicates a SEARCH DATA command has satisfied an equal comparison.
@ SCSI_SENSE_DATA_PROTECT
Indicates that a command that reads or writes the medium was attempted on a block that is protected f...
@ SCSI_SENSE_NONE
no specific Sense Key. This would be the case for a successful command
@ SCSI_SENSE_MEDIUM_ERROR
Indicates the command terminated with a non-recovered error condition.
@ SCSI_SENSE_ABORTED_COMMAND
Indicates the disc drive aborted the command.
struct TU_ATTR_PACKED scsi_write10_t
struct TU_ATTR_PACKED scsi_prevent_allow_medium_removal_t
struct TU_ATTR_PACKED scsi_read_format_capacity_data_t
@ MSC_CBW_SIGNATURE
Constant value of 43425355h (little endian)
@ MSC_CSW_SIGNATURE
Constant value of 53425355h (little endian)
msc_csw_status_t
Command Block Status Values.
@ MSC_CSW_STATUS_FAILED
MSC_CSW_STATUS_FAILED.
@ MSC_CSW_STATUS_PHASE_ERROR
MSC_CSW_STATUS_PHASE_ERROR.
@ MSC_CSW_STATUS_PASSED
MSC_CSW_STATUS_PASSED.
struct TU_ATTR_PACKED scsi_sense_fixed_resp_t
struct TU_ATTR_PACKED scsi_test_unit_ready_t
SCSI Test Unit Ready Command.
scsi_cmd_type_t
SCSI Command Operation Code.
@ SCSI_CMD_TEST_UNIT_READY
The SCSI Test Unit Ready command is used to determine if a device is ready to transfer data (read/wri...
@ SCSI_CMD_READ_FORMAT_CAPACITY
The command allows the Host to request a list of the possible format capacities for an installed writ...
@ SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL
@ SCSI_CMD_REQUEST_SENSE
The SCSI Request Sense command is part of the SCSI computer protocol standard. This command is used t...
@ SCSI_CMD_WRITE_10
The WRITE (10) command requests that the device server transfer the specified logical block(s) from t...
@ SCSI_CMD_MODE_SELECT_6
provides a means for the application client to specify medium, logical unit, or peripheral device par...
@ SCSI_CMD_READ_CAPACITY_10
The SCSI Read Capacity command is used to obtain data capacity information from a target device.
@ SCSI_CMD_START_STOP_UNIT
@ SCSI_CMD_READ_10
The READ (10) command requests that the device server read the specified logical block(s) and transfe...
@ SCSI_CMD_MODE_SENSE_6
provides a means for a device server to report parameters to an application client....
@ SCSI_CMD_INQUIRY
The SCSI Inquiry command is used to obtain basic information from a target device.
struct TU_ATTR_PACKED msc_csw_t
Command Status Wrapper.
struct TU_ATTR_PACKED scsi_read_format_capacity_t
SCSI Read Format Capacity: Write Capacity.
struct TU_ATTR_PACKED scsi_mode_sense6_t
msc_request_type_t
MassStorage Class-Specific Control Request.
@ MSC_REQ_RESET
This request is used to reset the mass storage device and its associated interface....
@ MSC_REQ_GET_MAX_LUN
The Get Max LUN device request is used to determine the number of logical units supported by the devi...
AUDIO Channel Cluster Descriptor (4.1)
uint32_t tag
Tag sent by the host. The device shall echo the contents of this field back to the host in the dCSWTa...
uint8_t peripheral_device_type
uint8_t product_rev[4]
4 bytes of ASCII data defined by the vendor.
uint8_t cmd_code
SCSI OpCode for SCSI_CMD_TEST_UNIT_READY.
uint8_t status
indicates the success or failure of the command. Values from msc_csw_status_t
uint32_t command_specific_info
uint8_t alloc_length
specifies the maximum number of bytes that USB host has allocated in the Data-In Buffer....
uint8_t sense_key_specific[3]
sense key specific valid bit is bit 7 of key[0], aka MSB in Big Endian layout
uint8_t lun
The device Logical Unit Number (LUN) to which the command block is being sent. For devices that suppo...
uint8_t power_condition_mod
uint8_t block_descriptor_len
uint8_t cmd_len
The valid length of the CBWCBin bytes. This defines the valid length of the command block....
uint8_t dir
Bit 7 of this field define transfer direction - 0 : Data-Out from host to the device....
uint8_t add_sense_qualifier
uint32_t signature
Signature that helps identify this data packet as a CBW. The signature field shall contain the value ...
uint8_t product_id[16]
16 bytes of ASCII data defined by the vendor.
uint8_t additional_length
uint32_t block_num
must be 8*n, length in bytes of formattable capacity descriptor followed it.
uint8_t disable_block_descriptor
uint8_t vendor_id[8]
8 bytes of ASCII data identifying the vendor of the product.
uint8_t ili
Incorrect length indicator.
uint8_t descriptor_type
Number of Logical Blocks.
uint8_t response_data_format
uint32_t data_residue
For Data-Out the device shall report in the dCSWDataResidue the difference between the amount of data...
uint8_t target_port_group_support
uint16_t block_count
Number of Blocks used by this command.
uint8_t access_control_coordinator
uint8_t command[16]
The command block to be executed by the device. The device shall interpret the first cmd_len bytes in...
uint8_t response_code
70h - current errors, Fixed Format 71h - deferred errors, Fixed Format
uint8_t enclosure_service
uint8_t field_replaceable_unit_code
uint8_t partial_medium_indicator
uint32_t total_bytes
The number of bytes of data that the host expects to transfer on the Bulk-In or Bulk-Out endpoint (as...
uint8_t hierarchical_support
uint32_t lba
The first Logical Block Address (LBA) accessed by this command.
uint8_t peripheral_qualifier
SCSI Read Capacity 10 Response Data.
uint32_t last_lba
The last Logical Block Address of the device.
uint32_t block_size
Block size in bytes.