1 #ifndef _SCSI_SCSI_DBG_H 2 #define _SCSI_SCSI_DBG_H 3 4 struct scsi_cmnd; 5 struct scsi_device; 6 struct scsi_sense_hdr; 7 8 #define SCSI_LOG_BUFSIZE 128 9 10 extern void scsi_print_command(struct scsi_cmnd *); 11 extern size_t __scsi_format_command(char *, size_t, 12 const unsigned char *, size_t); 13 extern void scsi_show_extd_sense(const struct scsi_device *, const char *, 14 unsigned char, unsigned char); 15 extern void scsi_show_sense_hdr(const struct scsi_device *, const char *, 16 const struct scsi_sense_hdr *); 17 extern void scsi_print_sense_hdr(const struct scsi_device *, const char *, 18 const struct scsi_sense_hdr *); 19 extern void scsi_print_sense(const struct scsi_cmnd *); 20 extern void __scsi_print_sense(const struct scsi_device *, const char *name, 21 const unsigned char *sense_buffer, 22 int sense_len); 23 extern void scsi_print_result(const struct scsi_cmnd *, const char *, int); 24 25 #ifdef CONFIG_SCSI_CONSTANTS 26 extern bool scsi_opcode_sa_name(int, int, const char **, const char **); 27 extern const char *scsi_sense_key_string(unsigned char); 28 extern const char *scsi_extd_sense_format(unsigned char, unsigned char, 29 const char **); 30 extern const char *scsi_mlreturn_string(int); 31 extern const char *scsi_hostbyte_string(int); 32 extern const char *scsi_driverbyte_string(int); 33 #else 34 static inline bool 35 scsi_opcode_sa_name(int cmd, int sa, 36 const char **cdb_name, const char **sa_name) 37 { 38 *cdb_name = NULL; 39 switch (cmd) { 40 case VARIABLE_LENGTH_CMD: 41 case MAINTENANCE_IN: 42 case MAINTENANCE_OUT: 43 case PERSISTENT_RESERVE_IN: 44 case PERSISTENT_RESERVE_OUT: 45 case SERVICE_ACTION_IN_12: 46 case SERVICE_ACTION_OUT_12: 47 case SERVICE_ACTION_BIDIRECTIONAL: 48 case SERVICE_ACTION_IN_16: 49 case SERVICE_ACTION_OUT_16: 50 case EXTENDED_COPY: 51 case RECEIVE_COPY_RESULTS: 52 *sa_name = NULL; 53 return true; 54 default: 55 return false; 56 } 57 } 58 59 static inline const char * 60 scsi_sense_key_string(unsigned char key) 61 { 62 return NULL; 63 } 64 65 static inline const char * 66 scsi_extd_sense_format(unsigned char asc, unsigned char ascq, const char **fmt) 67 { 68 *fmt = NULL; 69 return NULL; 70 } 71 72 static inline const char * 73 scsi_mlreturn_string(int result) 74 { 75 return NULL; 76 } 77 78 static inline const char * 79 scsi_hostbyte_string(int result) 80 { 81 return NULL; 82 } 83 84 static inline const char * 85 scsi_driverbyte_string(int result) 86 { 87 return NULL; 88 } 89 90 #endif 91 92 #endif /* _SCSI_SCSI_DBG_H */ 93