1#ifndef _SCSI_SCSI_DBG_H 2#define _SCSI_SCSI_DBG_H 3 4struct scsi_cmnd; 5struct scsi_device; 6struct scsi_sense_hdr; 7 8#define SCSI_LOG_BUFSIZE 128 9 10extern void scsi_print_command(struct scsi_cmnd *); 11extern size_t __scsi_format_command(char *, size_t, 12 const unsigned char *, size_t); 13extern void scsi_show_extd_sense(const struct scsi_device *, const char *, 14 unsigned char, unsigned char); 15extern void scsi_show_sense_hdr(const struct scsi_device *, const char *, 16 const struct scsi_sense_hdr *); 17extern void scsi_print_sense_hdr(const struct scsi_device *, const char *, 18 const struct scsi_sense_hdr *); 19extern void scsi_print_sense(const struct scsi_cmnd *); 20extern void __scsi_print_sense(const struct scsi_device *, const char *name, 21 const unsigned char *sense_buffer, 22 int sense_len); 23extern void scsi_print_result(const struct scsi_cmnd *, const char *, int); 24 25#ifdef CONFIG_SCSI_CONSTANTS 26extern bool scsi_opcode_sa_name(int, int, const char **, const char **); 27extern const char *scsi_sense_key_string(unsigned char); 28extern const char *scsi_extd_sense_format(unsigned char, unsigned char, 29 const char **); 30extern const char *scsi_mlreturn_string(int); 31extern const char *scsi_hostbyte_string(int); 32extern const char *scsi_driverbyte_string(int); 33#else 34static inline bool 35scsi_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 59static inline const char * 60scsi_sense_key_string(unsigned char key) 61{ 62 return NULL; 63} 64 65static inline const char * 66scsi_extd_sense_format(unsigned char asc, unsigned char ascq, const char **fmt) 67{ 68 *fmt = NULL; 69 return NULL; 70} 71 72static inline const char * 73scsi_mlreturn_string(int result) 74{ 75 return NULL; 76} 77 78static inline const char * 79scsi_hostbyte_string(int result) 80{ 81 return NULL; 82} 83 84static inline const char * 85scsi_driverbyte_string(int result) 86{ 87 return NULL; 88} 89 90#endif 91 92#endif /* _SCSI_SCSI_DBG_H */ 93