41#ifndef _UMAS_TRANSPORT_H_
42#define _UMAS_TRANSPORT_H_
47#define UMAS_PR_CBI 0x00
48#define UMAS_PR_CB 0x01
49#define UMAS_PR_BULK 0x50
50#define UMAS_PR_DPCM_USB 0xf0
61 uint32_t DataTransferLength;
68#define UMAS_BULK_CB_WRAP_LEN 31
69#define UMAS_BULK_CB_SIGN 0x43425355
70#define UMAS_BULK_FLAG_IN 1
71#define UMAS_BULK_FLAG_OUT 0
83#define UMAS_BULK_CS_WRAP_LEN 13
84#define UMAS_BULK_CS_SIGN 0x53425355
85#define UMAS_BULK_STAT_OK 0
86#define UMAS_BULK_STAT_FAIL 1
87#define UMAS_BULK_STAT_PHASE 2
90#define UMAS_BULK_RESET_REQUEST 0xff
91#define UMAS_BULK_GET_MAX_LUN 0xfe
96#define UMAS_BULK_TRANSFER_GOOD 0
97#define UMAS_BULK_TRANSFER_SHORT 1
98#define UMAS_BULK_TRANSFER_FAILED 2
99#define UMAS_BULK_TRANSFER_ABORTED 3
104#define USB_STOR_TRANSPORT_GOOD 0
105#define USB_STOR_TRANSPORT_FAILED 1
106#define USB_STOR_TRANSPORT_ERROR 2
107#define USB_STOR_TRANSPORT_ABORTED 3
114void UMAS_CbiIrq(
URB_T *urb);
115int UMAS_CbiTransport(SCSI_CMD_T *srb, UMAS_DATA_T *umas);
117int UMAS_CbTransport(SCSI_CMD_T *srb, UMAS_DATA_T *umas);
118int UMAS_CbReset(UMAS_DATA_T *umas);
120int UMAS_BulkTransport(SCSI_CMD_T *srb, UMAS_DATA_T *umas);
121int UMAS_BulkMaxLun(UMAS_DATA_T *umas);
122int UMAS_BulkReset(UMAS_DATA_T *umas);
124void UMAS_InvokeTransport(SCSI_CMD_T *srb, UMAS_DATA_T *us);