Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/include/scsi/scsi_dbg.h
26282 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
#ifndef _SCSI_SCSI_DBG_H
3
#define _SCSI_SCSI_DBG_H
4
5
struct scsi_cmnd;
6
struct scsi_device;
7
struct scsi_sense_hdr;
8
9
extern void scsi_print_command(struct scsi_cmnd *);
10
extern size_t __scsi_format_command(char *, size_t,
11
const unsigned char *, size_t);
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
20
#ifdef CONFIG_SCSI_CONSTANTS
21
extern bool scsi_opcode_sa_name(int, int, const char **, const char **);
22
extern const char *scsi_sense_key_string(unsigned char);
23
extern const char *scsi_extd_sense_format(unsigned char, unsigned char,
24
const char **);
25
extern const char *scsi_mlreturn_string(int);
26
extern const char *scsi_hostbyte_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
53
static inline const char *
54
scsi_sense_key_string(unsigned char key)
55
{
56
return NULL;
57
}
58
59
static inline const char *
60
scsi_extd_sense_format(unsigned char asc, unsigned char ascq, const char **fmt)
61
{
62
*fmt = NULL;
63
return NULL;
64
}
65
66
static inline const char *
67
scsi_mlreturn_string(int result)
68
{
69
return NULL;
70
}
71
72
static inline const char *
73
scsi_hostbyte_string(int result)
74
{
75
return NULL;
76
}
77
78
#endif
79
80
#endif /* _SCSI_SCSI_DBG_H */
81
82