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