Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / include / scsi / scsi_dbg.h
diff --git a/kernel/include/scsi/scsi_dbg.h b/kernel/include/scsi/scsi_dbg.h
new file mode 100644 (file)
index 0000000..f8170e9
--- /dev/null
@@ -0,0 +1,92 @@
+#ifndef _SCSI_SCSI_DBG_H
+#define _SCSI_SCSI_DBG_H
+
+struct scsi_cmnd;
+struct scsi_device;
+struct scsi_sense_hdr;
+
+#define SCSI_LOG_BUFSIZE 128
+
+extern void scsi_print_command(struct scsi_cmnd *);
+extern size_t __scsi_format_command(char *, size_t,
+                                  const unsigned char *, size_t);
+extern void scsi_show_extd_sense(const struct scsi_device *, const char *,
+                                unsigned char, unsigned char);
+extern void scsi_show_sense_hdr(const struct scsi_device *, const char *,
+                               const struct scsi_sense_hdr *);
+extern void scsi_print_sense_hdr(const struct scsi_device *, const char *,
+                                const struct scsi_sense_hdr *);
+extern void scsi_print_sense(const struct scsi_cmnd *);
+extern void __scsi_print_sense(const struct scsi_device *, const char *name,
+                              const unsigned char *sense_buffer,
+                              int sense_len);
+extern void scsi_print_result(const struct scsi_cmnd *, const char *, int);
+
+#ifdef CONFIG_SCSI_CONSTANTS
+extern bool scsi_opcode_sa_name(int, int, const char **, const char **);
+extern const char *scsi_sense_key_string(unsigned char);
+extern const char *scsi_extd_sense_format(unsigned char, unsigned char,
+                                         const char **);
+extern const char *scsi_mlreturn_string(int);
+extern const char *scsi_hostbyte_string(int);
+extern const char *scsi_driverbyte_string(int);
+#else
+static inline bool
+scsi_opcode_sa_name(int cmd, int sa,
+                   const char **cdb_name, const char **sa_name)
+{
+       *cdb_name = NULL;
+       switch (cmd) {
+       case VARIABLE_LENGTH_CMD:
+       case MAINTENANCE_IN:
+       case MAINTENANCE_OUT:
+       case PERSISTENT_RESERVE_IN:
+       case PERSISTENT_RESERVE_OUT:
+       case SERVICE_ACTION_IN_12:
+       case SERVICE_ACTION_OUT_12:
+       case SERVICE_ACTION_BIDIRECTIONAL:
+       case SERVICE_ACTION_IN_16:
+       case SERVICE_ACTION_OUT_16:
+       case EXTENDED_COPY:
+       case RECEIVE_COPY_RESULTS:
+               *sa_name = NULL;
+               return true;
+       default:
+               return false;
+       }
+}
+
+static inline const char *
+scsi_sense_key_string(unsigned char key)
+{
+       return NULL;
+}
+
+static inline const char *
+scsi_extd_sense_format(unsigned char asc, unsigned char ascq, const char **fmt)
+{
+       *fmt = NULL;
+       return NULL;
+}
+
+static inline const char *
+scsi_mlreturn_string(int result)
+{
+       return NULL;
+}
+
+static inline const char *
+scsi_hostbyte_string(int result)
+{
+       return NULL;
+}
+
+static inline const char *
+scsi_driverbyte_string(int result)
+{
+       return NULL;
+}
+
+#endif
+
+#endif /* _SCSI_SCSI_DBG_H */