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