xref: /linux/drivers/usb/storage/scsiglue.h (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Driver for USB Mass Storage compliant devices
4  * SCSI Connecting Glue Header File
5  *
6  * Current development and maintenance by:
7  *   (c) 1999, 2000 Matthew Dharm (mdharm-usb@one-eyed-alien.net)
8  *
9  * This driver is based on the 'USB Mass Storage Class' document. This
10  * describes in detail the protocol used to communicate with such
11  * devices.  Clearly, the designers had SCSI and ATAPI commands in
12  * mind when they created this document.  The commands are all very
13  * similar to commands in the SCSI-II and ATAPI specifications.
14  *
15  * It is important to note that in a number of cases this class
16  * exhibits class-specific exemptions from the USB specification.
17  * Notably the usage of NAK, STALL and ACK differs from the norm, in
18  * that they are used to communicate wait, failed and OK on commands.
19  *
20  * Also, for certain devices, the interrupt endpoint is used to convey
21  * status of a command.
22  */
23 
24 #ifndef _SCSIGLUE_H_
25 #define _SCSIGLUE_H_
26 
27 extern void usb_stor_report_device_reset(struct us_data *us);
28 extern void usb_stor_report_bus_reset(struct us_data *us);
29 extern void usb_stor_host_template_init(struct scsi_host_template *sht,
30 					const char *name, struct module *owner);
31 
32 extern unsigned char usb_stor_sense_invalidCDB[18];
33 
34 #endif
35