18 #define USB_CLASS_MSC 0x08 21 #define USB_SUBCLASS_MSC_SCSI 0x06 24 #define USB_PROTOCOL_MSC_BULK 0x50 27 #define USBBLK_RESET ( USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE | \ 28 USB_REQUEST_TYPE ( 255 ) ) 49 #define USBBLK_COMMAND_SIGNATURE 0x43425355UL 64 #define USBBLK_STATUS_SIGNATURE 0x53425355UL 107 #define USBBLK_TAG_MAGIC 0x18ae0000 113 #define USBBLK_MAX_LEN 2048 119 #define USBBLK_MAX_FILL 4
struct usb_endpoint out
Bulk OUT endpoint.
struct usbblk_command cmd
Current command (if any)
A USB mass storage command.
uint8_t cb[16]
Command block.
uint8_t cblen
Command block length.
uint32_t tag
Command tag (0 for no command in progress)
uint32_t signature
Signature.
A doubly-linked list entry (or list head)
size_t offset
Offset within data buffer.
struct interface scsi
SCSI command-issuing interface.
A USB mass storage device.
struct list_head list
List of devices.
uint32_t residue
Data residue.
struct usb_endpoint in
Bulk IN endpoint.
struct usb_function * func
USB function.
A SCSI command information unit.
Universal Serial Bus (USB)
int opened
Device opened flag.
uint32_t signature
Signature.
struct scsi_cmd scsi
SCSI command.
uint32_t len
Data transfer length.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
struct interface data
SCSI data interface.