3 * Copyright (c) 2010 Hans Petter Selasky. All rights reserved.
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
14 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27 #ifndef _USB_MSC_TEST_H_
28 #define _USB_MSC_TEST_H_
31 USB_MSC_IO_MODE_READ_ONLY,
32 USB_MSC_IO_MODE_WRITE_ONCE_READ_ONLY,
33 USB_MSC_IO_MODE_WRITE_ONLY,
34 USB_MSC_IO_MODE_READ_WRITE,
39 USB_MSC_IO_PATTERN_FIXED,
40 USB_MSC_IO_PATTERN_RANDOM,
41 USB_MSC_IO_PATTERN_PRESERVE,
42 USB_MSC_IO_PATTERN_MAX,
46 USB_MSC_IO_SIZE_RANDOM,
47 USB_MSC_IO_SIZE_INCREASING,
48 USB_MSC_IO_SIZE_FIXED_1BLK,
49 USB_MSC_IO_SIZE_FIXED_2BLK,
50 USB_MSC_IO_SIZE_FIXED_4BLK,
51 USB_MSC_IO_SIZE_FIXED_8BLK,
52 USB_MSC_IO_SIZE_FIXED_16BLK,
53 USB_MSC_IO_SIZE_FIXED_32BLK,
54 USB_MSC_IO_SIZE_FIXED_64BLK,
55 USB_MSC_IO_SIZE_FIXED_128BLK,
56 USB_MSC_IO_SIZE_FIXED_256BLK,
57 USB_MSC_IO_SIZE_FIXED_512BLK,
58 USB_MSC_IO_SIZE_FIXED_1024BLK,
63 USB_MSC_IO_DELAY_NONE,
64 USB_MSC_IO_DELAY_RANDOM_10MS,
65 USB_MSC_IO_DELAY_RANDOM_100MS,
66 USB_MSC_IO_DELAY_FIXED_10MS,
67 USB_MSC_IO_DELAY_FIXED_100MS,
72 USB_MSC_IO_OFF_START_OF_DISK,
73 USB_MSC_IO_OFF_RANDOM,
78 USB_MSC_IO_AREA_COMPLETE,
81 USB_MSC_IO_AREA_256MB,
93 struct usb_msc_params {
98 /* See "USB_MSC_XXX" enums */
109 uint8_t try_invalid_scsi_command;
110 uint8_t try_invalid_wrapper_block;
111 uint8_t try_invalid_max_packet_size;
112 uint8_t try_last_lba;
113 uint8_t try_abort_data_write;
114 uint8_t try_sense_on_error;
120 #endif /* _USB_MSC_TEST_H_ */