20#define msc_debug_msg printf
22#define msc_debug_msg(...)
28#define USBDRV_CNT (USBDRV_MAX - USBDRV_0 + 1)
32#define MSC_SCLASS_RBC 0x01
33#define MSC_SCLASS_8020 0x02
34#define MSC_SCLASS_QIC 0x03
35#define MSC_SCLASS_UFI 0x04
36#define MSC_SCLASS_8070 0x05
37#define MSC_SCLASS_SCSI 0x06
40#define MSC_SPROTO_CBI 0x00
41#define MSC_SPROTO_CB 0x01
42#define MSC_SPROTO_BULK 0x50
43#define MSC_SPROTO_DPCM_USB 0xf0
51 uint32_t DataTransferLength;
58#define MSC_CB_WRAP_LEN 31
59#define MSC_CB_SIGN 0x43425355
72#define MSC_CS_WRAP_LEN 13
73#define MSC_CS_SIGN 0x53425355
75#define MSC_STAT_FAIL 1
76#define MSC_STAT_PHASE 2
81#define TEST_UNIT_READY 0x00
82#define REQUEST_SENSE 0x03
84#define MODE_SENSE 0x1a
85#define READ_CAPACITY 0x25
88#define MODE_SENSE_10 0x5a
90#define SCSI_BUFF_LEN 36
96 EP_INFO_T *ep_bulk_in;
97 EP_INFO_T *ep_bulk_out;
101 struct bulk_cb_wrap cmd_blk;
102 struct bulk_cs_wrap cmd_status;
103 uint8_t scsi_buff[SCSI_BUFF_LEN];
104 uint32_t uTotalSectorN;
105 uint32_t nSectorSize;
113extern 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)