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