17#ifdef UMAS_VERBOSE_DEBUG
18#define UMAS_DEBUG printf
19#define UMAS_VDEBUG printf
22#define UMAS_DEBUG printf
24#define UMAS_DEBUG(...)
26#define UMAS_VDEBUG(...)
35typedef struct umas_unusual_dev
43#define UMAS_FL_SINGLE_LUN 0x00000001
44#define UMAS_FL_MODE_XLATE 0x00000002
46#define UMAS_FL_START_STOP 0x00000004
47#define UMAS_FL_IGNORE_SER 0x00000010
48#define UMAS_FL_SCM_MULT_TARG 0x00000020
50typedef int (*trans_cmnd)(SCSI_CMD_T *,
struct umas_data *);
51typedef int (*trans_reset)(
struct umas_data *);
52typedef void (*proto_cmnd)(SCSI_CMD_T*,
struct umas_data *);
58typedef struct umas_data
64 uint32_t sector_number;
72 struct umas_data *next;
84 trans_reset transport_reset;
85 proto_cmnd proto_handler;
96 UMAS_UUDEV_T *unusual_dev;
97 struct umas_drive *drive_list;
101typedef struct umas_drive
106 struct umas_drive *next;
114extern USB_DRIVER_T _UsbMassStorageDriver;
118extern int UMAS_InitUmasDriver(
void);
120extern int UMAS_InitUmasDevice(UMAS_DATA_T *umas);
122extern void UMAS_ScanAllDevice(
void);
123extern void UMAS_ScanDeviceLun(UMAS_DATA_T *umas);
128extern void UMAS_DEBUG_ShowCommand(SCSI_CMD_T *srb);
129extern void UMAS_DEBUG_PrintScsiCommand(SCSI_CMD_T *cmd);
HIDDEN_SYMBOLS struct usb_device USB_DEV_T