scsi_dbg.h 2.1 KB

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