scsi_dbg.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef _SCSI_SCSI_DBG_H
  3. #define _SCSI_SCSI_DBG_H
  4. struct scsi_cmnd;
  5. struct scsi_device;
  6. struct scsi_sense_hdr;
  7. extern void scsi_print_command(struct scsi_cmnd *);
  8. extern size_t __scsi_format_command(char *, size_t,
  9. const unsigned char *, size_t);
  10. extern void scsi_show_extd_sense(const struct scsi_device *, const char *,
  11. unsigned char, unsigned char);
  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. #ifdef CONFIG_SCSI_CONSTANTS
  20. extern bool scsi_opcode_sa_name(int, int, const char **, const char **);
  21. extern const char *scsi_sense_key_string(unsigned char);
  22. extern const char *scsi_extd_sense_format(unsigned char, unsigned char,
  23. const char **);
  24. extern const char *scsi_mlreturn_string(int);
  25. extern const char *scsi_hostbyte_string(int);
  26. extern const char *scsi_driverbyte_string(int);
  27. #else
  28. static inline bool
  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. static inline const char *
  53. scsi_sense_key_string(unsigned char key)
  54. {
  55. return NULL;
  56. }
  57. static inline const char *
  58. scsi_extd_sense_format(unsigned char asc, unsigned char ascq, const char **fmt)
  59. {
  60. *fmt = NULL;
  61. return NULL;
  62. }
  63. static inline const char *
  64. scsi_mlreturn_string(int result)
  65. {
  66. return NULL;
  67. }
  68. static inline const char *
  69. scsi_hostbyte_string(int result)
  70. {
  71. return NULL;
  72. }
  73. static inline const char *
  74. scsi_driverbyte_string(int result)
  75. {
  76. return NULL;
  77. }
  78. #endif
  79. #endif /* _SCSI_SCSI_DBG_H */