#ifndef _USB_MSC_TEST_H_
#define _USB_MSC_TEST_H_
enum {
USB_MSC_IO_MODE_READ_ONLY,
USB_MSC_IO_MODE_WRITE_ONCE_READ_ONLY,
USB_MSC_IO_MODE_WRITE_ONLY,
USB_MSC_IO_MODE_READ_WRITE,
USB_MSC_IO_MODE_MAX,
};
enum {
USB_MSC_IO_PATTERN_FIXED,
USB_MSC_IO_PATTERN_RANDOM,
USB_MSC_IO_PATTERN_PRESERVE,
USB_MSC_IO_PATTERN_MAX,
};
enum {
USB_MSC_IO_SIZE_RANDOM,
USB_MSC_IO_SIZE_INCREASING,
USB_MSC_IO_SIZE_FIXED_1BLK,
USB_MSC_IO_SIZE_FIXED_2BLK,
USB_MSC_IO_SIZE_FIXED_4BLK,
USB_MSC_IO_SIZE_FIXED_8BLK,
USB_MSC_IO_SIZE_FIXED_16BLK,
USB_MSC_IO_SIZE_FIXED_32BLK,
USB_MSC_IO_SIZE_FIXED_64BLK,
USB_MSC_IO_SIZE_FIXED_128BLK,
USB_MSC_IO_SIZE_FIXED_256BLK,
USB_MSC_IO_SIZE_FIXED_512BLK,
USB_MSC_IO_SIZE_FIXED_1024BLK,
USB_MSC_IO_SIZE_MAX,
};
enum {
USB_MSC_IO_DELAY_NONE,
USB_MSC_IO_DELAY_RANDOM_10MS,
USB_MSC_IO_DELAY_RANDOM_100MS,
USB_MSC_IO_DELAY_FIXED_10MS,
USB_MSC_IO_DELAY_FIXED_100MS,
USB_MSC_IO_DELAY_MAX,
};
enum {
USB_MSC_IO_OFF_START_OF_DISK,
USB_MSC_IO_OFF_RANDOM,
USB_MSC_IO_OFF_MAX,
};
enum {
USB_MSC_IO_AREA_COMPLETE,
USB_MSC_IO_AREA_1MB,
USB_MSC_IO_AREA_16MB,
USB_MSC_IO_AREA_256MB,
USB_MSC_IO_AREA_MAX,
};
enum {
USB_MSC_IO_LUN_0,
USB_MSC_IO_LUN_1,
USB_MSC_IO_LUN_2,
USB_MSC_IO_LUN_3,
USB_MSC_IO_LUN_MAX,
};
struct usb_msc_params {
uint32_t duration;
uint32_t max_errors;
uint8_t io_mode;
uint8_t io_size;
uint8_t io_delay;
uint8_t io_offset;
uint8_t io_area;
uint8_t io_pattern;
uint8_t io_lun;
uint8_t try_invalid_scsi_command;
uint8_t try_invalid_wrapper_block;
uint8_t try_invalid_max_packet_size;
uint8_t try_shorter_wrapper_block;
uint8_t try_last_lba;
uint8_t try_abort_data_write;
uint8_t try_sense_on_error;
uint8_t try_all_lun;
uint8_t done;
};
#endif