1*59b4e0cdSNishad Kamdar /* SPDX-License-Identifier: GPL-2.0+ */ 2f0183a33SFelipe Balbi /* 3f0183a33SFelipe Balbi * Driver for USB Mass Storage compliant devices 41da177e4SLinus Torvalds * SCSI Connecting Glue Header File 51da177e4SLinus Torvalds * 61da177e4SLinus Torvalds * Current development and maintenance by: 71da177e4SLinus Torvalds * (c) 1999, 2000 Matthew Dharm (mdharm-usb@one-eyed-alien.net) 81da177e4SLinus Torvalds * 91da177e4SLinus Torvalds * This driver is based on the 'USB Mass Storage Class' document. This 101da177e4SLinus Torvalds * describes in detail the protocol used to communicate with such 111da177e4SLinus Torvalds * devices. Clearly, the designers had SCSI and ATAPI commands in 121da177e4SLinus Torvalds * mind when they created this document. The commands are all very 131da177e4SLinus Torvalds * similar to commands in the SCSI-II and ATAPI specifications. 141da177e4SLinus Torvalds * 151da177e4SLinus Torvalds * It is important to note that in a number of cases this class 161da177e4SLinus Torvalds * exhibits class-specific exemptions from the USB specification. 171da177e4SLinus Torvalds * Notably the usage of NAK, STALL and ACK differs from the norm, in 181da177e4SLinus Torvalds * that they are used to communicate wait, failed and OK on commands. 191da177e4SLinus Torvalds * 201da177e4SLinus Torvalds * Also, for certain devices, the interrupt endpoint is used to convey 211da177e4SLinus Torvalds * status of a command. 221da177e4SLinus Torvalds */ 231da177e4SLinus Torvalds 241da177e4SLinus Torvalds #ifndef _SCSIGLUE_H_ 251da177e4SLinus Torvalds #define _SCSIGLUE_H_ 261da177e4SLinus Torvalds 271da177e4SLinus Torvalds extern void usb_stor_report_device_reset(struct us_data *us); 284d07ef76SMatthew Dharm extern void usb_stor_report_bus_reset(struct us_data *us); 29aa519be3SAkinobu Mita extern void usb_stor_host_template_init(struct scsi_host_template *sht, 30aa519be3SAkinobu Mita const char *name, struct module *owner); 311da177e4SLinus Torvalds 321da177e4SLinus Torvalds extern unsigned char usb_stor_sense_invalidCDB[18]; 331da177e4SLinus Torvalds 341da177e4SLinus Torvalds #endif 35