text: /* Driver for USB Mass Storage compliant devices
   * Debugging Functions Header File
   *
   * $Id: debug.h,v 1.1.1.4 2003/10/14 08:08:52 sparq Exp $
   *
   * Current development and maintenance by:
   *   (c) 1999, 2000 Matthew Dharm (mdharm-usb@one-eyed-alien.net)
   *
   * Initial work by:
   *   (c) 1999 Michael Gee (michael@linuxspecific.com)
   *
   * This driver is based on the 'USB Mass Storage Class' document. This
   * describes in detail the protocol used to communicate with such
   * devices.  Clearly, the designers had SCSI and ATAPI commands in
   * mind when they created this document.  The commands are all very
   * similar to commands in the SCSI-II and ATAPI specifications.
   *
   * It is important to note that in a number of cases this class
   * exhibits class-specific exemptions from the USB specification.
   * Notably the usage of NAK, STALL and ACK differs from the norm, in
   * that they are used to communicate wait, failed and OK on commands.
   *
   * Also, for certain devices, the interrupt endpoint is used to convey
   * status of a command.
   *
   * Please see http://www.one-eyed-alien.net/~mdharm/linux-usb for more
   * information about this driver.
   *
   * This program is free software; you can redistribute it and/or modify it
   * under the terms of the GNU General Public License as published by the
   * Free Software Foundation; either version 2, or (at your option) any
   * later version.
   *
   * This program is distributed in the hope that it will be useful, but
   * WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * General Public License for more details.
   *
   * You should have received a copy of the GNU General Public License along
   * with this program; if not, write to the Free Software Foundation, Inc.,
   * 675 Mass Ave, Cambridge, MA 02139, USA.
   */
  
  #ifndef _DEBUG_H_
  #define _DEBUG_H_
  
  #include <linux/config.h>
  #include <linux/kernel.h>
  #include <linux/blk.h>
  #include <linux/cdrom.h>
  #include "scsi.h"
  
  #define USB_STORAGE "usb-storage: "
  
  #ifdef CONFIG_USB_STORAGE_DEBUG
  void usb_stor_show_command(Scsi_Cmnd *srb);
  void usb_stor_print_Scsi_Cmnd( Scsi_Cmnd* cmd );
  void usb_stor_show_sense( unsigned char key,
  		unsigned char asc, unsigned char ascq );
  #define US_DEBUGP(x...) printk( KERN_DEBUG USB_STORAGE x )
  #define US_DEBUGPX(x...) printk( x )
  #define US_DEBUG(x) x 
  #else
  #define US_DEBUGP(x...)
  #define US_DEBUGPX(x...)
  #define US_DEBUG(x)
  #endif
  
  #endif
  