scsi_dbg.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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(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(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. #else
  25. static inline bool
  26. scsi_opcode_sa_name(int cmd, int sa,
  27. const char **cdb_name, const char **sa_name)
  28. {
  29. *cdb_name = NULL;
  30. switch (cmd) {
  31. case VARIABLE_LENGTH_CMD:
  32. case MAINTENANCE_IN:
  33. case MAINTENANCE_OUT:
  34. case PERSISTENT_RESERVE_IN:
  35. case PERSISTENT_RESERVE_OUT:
  36. case SERVICE_ACTION_IN_12:
  37. case SERVICE_ACTION_OUT_12:
  38. case SERVICE_ACTION_BIDIRECTIONAL:
  39. case SERVICE_ACTION_IN_16:
  40. case SERVICE_ACTION_OUT_16:
  41. case EXTENDED_COPY:
  42. case RECEIVE_COPY_RESULTS:
  43. *sa_name = NULL;
  44. return true;
  45. default:
  46. return false;
  47. }
  48. }
  49. static inline const char *
  50. scsi_sense_key_string(unsigned char key)
  51. {
  52. return NULL;
  53. }
  54. static inline const char *
  55. scsi_extd_sense_format(unsigned char asc, unsigned char ascq, const char **fmt)
  56. {
  57. *fmt = NULL;
  58. return NULL;
  59. }
  60. static inline const char *
  61. scsi_mlreturn_string(int result)
  62. {
  63. return NULL;
  64. }
  65. static inline const char *
  66. scsi_hostbyte_string(int result)
  67. {
  68. return NULL;
  69. }
  70. #endif
  71. #endif /* _SCSI_SCSI_DBG_H */