21#define msc_debug_msg printf
23#define msc_debug_msg(...)
29#define USBDRV_CNT (USBDRV_MAX - USBDRV_0 + 1)
33#define MSC_SCLASS_RBC 0x01
34#define MSC_SCLASS_8020 0x02
35#define MSC_SCLASS_QIC 0x03
36#define MSC_SCLASS_UFI 0x04
37#define MSC_SCLASS_8070 0x05
38#define MSC_SCLASS_SCSI 0x06
41#define MSC_SPROTO_CBI 0x00
42#define MSC_SPROTO_CB 0x01
43#define MSC_SPROTO_BULK 0x50
44#define MSC_SPROTO_DPCM_USB 0xf0
52 uint32_t DataTransferLength;
59#define MSC_CB_WRAP_LEN 31
60#define MSC_CB_SIGN 0x43425355
73#define MSC_CS_WRAP_LEN 13
74#define MSC_CS_SIGN 0x53425355
76#define MSC_STAT_FAIL 1
77#define MSC_STAT_PHASE 2
82#define TEST_UNIT_READY 0x00
83#define REQUEST_SENSE 0x03
85#define MODE_SENSE 0x1a
86#define READ_CAPACITY 0x25
89#define MODE_SENSE_10 0x5a
91#define SCSI_BUFF_LEN 36
97 EP_INFO_T *ep_bulk_in;
98 EP_INFO_T *ep_bulk_out;
102 struct bulk_cb_wrap cmd_blk;
103 struct bulk_cs_wrap cmd_status;
104 uint8_t scsi_buff[SCSI_BUFF_LEN];
105 uint32_t uTotalSectorN;
106 uint32_t nSectorSize;
114extern int run_scsi_command(MSC_T *msc, uint8_t *buff, uint32_t data_len,
int bIsDataIn,
int timeout_ticks);
int run_scsi_command(MSC_T *msc, uint8_t *buff, uint32_t data_len, int bIsDataIn, int timeout_ticks)