|
Files |
| file | cmds.h |
| | USB mass storage commands.
|
| file | inquiry.c |
| | Main routines of USB mass storage driver.
|
| file | main.c |
| | Main routines of USB mass storage driver.
|
| file | mast.c |
| | Generic functions for USB mass storage (implementation).
|
| file | mast.h |
| | Generic functions for USB mass storage.
|
| file | scsi.h |
| | SCSI related structures.
|
Data Structures |
| struct | scsi_cmd_inquiry_t |
| struct | usb_massstor_cbw_t |
| struct | usb_massstor_csw_t |
| struct | usb_massstor_inquiry_result_t |
| | Result of SCSI INQUIRY command. More...
|
Defines |
|
#define | BITS_GET(type, number, bitcount, offset) ((type)( (number) & (BITS_GET_MID_MASK(type, bitcount, offset)) ) >> (offset)) |
|
#define | BITS_GET_MASK(type, bitcount) (((type)(1 << (bitcount)))-1) |
|
#define | BITS_GET_MID_MASK(type, bitcount, offset) ((type)( BITS_GET_MASK(type, (bitcount) + (offset)) - BITS_GET_MASK(type, bitcount) )) |
|
#define | BULK_IN_EP 0 |
|
#define | BULK_OUT_EP 1 |
|
#define | GET_BULK_IN(dev) ((dev)->pipes[BULK_IN_EP].pipe) |
|
#define | GET_BULK_OUT(dev) ((dev)->pipes[BULK_OUT_EP].pipe) |
|
#define | INQUIRY_RESPONSE_LENGTH 36 |
|
#define | MASTLOG(format,) |
|
#define | NAME "usbmast" |
|
#define | str_peripheral_device_types_count (sizeof(str_peripheral_device_types)/sizeof(str_peripheral_device_types[0])) |
|
#define | STR_UNKNOWN "<unknown>" |
Functions |
| int | main (int argc, char *argv[]) |
| | Main entry point.
|
| static void | trim_trailing_spaces (char *name) |
| | Trim trailing spaces from a string (rewrite with string terminator).
|
|
static void | usb_massstor_cbw_prepare (usb_massstor_cbw_t *cbw, uint32_t tag, uint32_t transfer_length, usb_direction_t dir, uint8_t lun, uint8_t cmd_len, uint8_t *cmd) |
| int | usb_massstor_data_in (usb_device_t *dev, size_t bulk_in_pipe_index, size_t bulk_out_pipe_index, uint32_t tag, uint8_t lun, void *cmd, size_t cmd_size, void *in_buffer, size_t in_buffer_size, size_t *received_size) |
| | Request data from mass storage device.
|
| int | usb_massstor_get_max_lun (usb_device_t *dev) |
| | Get max LUN of a mass storage device.
|
| int | usb_massstor_inquiry (usb_device_t *dev, size_t bulk_in_idx, size_t bulk_out_idx, usb_massstor_inquiry_result_t *inquiry_result) |
| | Perform SCSI INQUIRY command on USB mass storage device.
|
| int | usb_massstor_reset (usb_device_t *dev) |
| | Perform bulk-only mass storage reset.
|
| void | usb_massstor_reset_recovery (usb_device_t *dev, size_t bulk_in_idx, size_t bulk_out_idx) |
| | Perform complete reset recovery of bulk-only mass storage.
|
| size_t | usb_masstor_get_lun_count (usb_device_t *dev) |
| | Get number of LUNs supported by mass storage device.
|
| const char * | usb_str_masstor_scsi_peripheral_device_type (int type) |
| | Get string representation for SCSI peripheral device type.
|
| static int | usbmast_add_device (usb_device_t *dev) |
| | Callback when new device is attached and recognized as a mass storage.
|
Variables |
|
static usb_endpoint_description_t | bulk_in_ep |
|
static usb_endpoint_description_t | bulk_out_ep |
|
usb_endpoint_description_t * | mast_endpoints [] |
|
static const char * | str_peripheral_device_types [] |
| | String constants for SCSI peripheral device types.
|
|
bool | usb_mast_verbose = true |
|
static usb_driver_t | usbmast_driver |
| | USB mass storage driver.
|
|
static usb_driver_ops_t | usbmast_driver_ops |
| | USB mass storage driver ops.
|
This driver is a only a stub and is currently used only for testing that bulk transfers work.