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