/
usr
/
src
/
linux-headers-5.15.0-181
/
include
/
scsi
/
/usr/src/linux-headers-5.15.0-181/include/scsi
mkdir
upload
Name
Size
Mode
Actions
fc/
-
0755
rm
fcoe_sysfs.h
3223
0644
edit
dl
rm
fc_frame.h
7199
0644
edit
dl
rm
iscsi_if.h
26216
0644
edit
dl
rm
iscsi_proto.h
15915
0644
edit
dl
rm
iser.h
2397
0644
edit
dl
rm
libfc.h
31676
0644
edit
dl
rm
libfcoe.h
13721
0644
edit
dl
rm
libiscsi.h
14801
0644
edit
dl
rm
libiscsi_tcp.h
3894
0644
edit
dl
rm
libsas.h
18866
0644
edit
dl
rm
sas.h
12812
0644
edit
dl
rm
sas_ata.h
2128
0644
edit
dl
rm
scsi.h
5919
0644
edit
dl
rm
scsicam.h
636
0644
edit
dl
rm
scsi_bsg_iscsi.h
2211
0644
edit
dl
rm
scsi_cmnd.h
10941
0644
edit
dl
rm
scsi_common.h
2329
0644
edit
dl
rm
scsi_dbg.h
2132
0644
edit
dl
rm
scsi_device.h
22034
0644
edit
dl
rm
scsi_devinfo.h
3835
0644
edit
dl
rm
scsi_dh.h
2601
0644
edit
dl
rm
scsi_driver.h
897
0644
edit
dl
rm
scsi_eh.h
1674
0644
edit
dl
rm
scsi_host.h
27697
0644
edit
dl
rm
scsi_ioctl.h
1551
0644
edit
dl
rm
scsi_proto.h
10706
0644
edit
dl
rm
scsi_request.h
620
0644
edit
dl
rm
scsi_status.h
2781
0644
edit
dl
rm
scsi_tcq.h
993
0644
edit
dl
rm
scsi_transport.h
2615
0644
edit
dl
rm
scsi_transport_fc.h
28723
0644
edit
dl
rm
scsi_transport_iscsi.h
17927
0644
edit
dl
rm
scsi_transport_sas.h
7010
0644
edit
dl
rm
scsi_transport_spi.h
6690
0644
edit
dl
rm
scsi_transport_srp.h
4883
0644
edit
dl
rm
sg.h
15164
0644
edit
dl
rm
srp.h
7020
0644
edit
dl
rm
viosrp.h
5540
0644
edit
dl
rm
Edit:
/usr/src/linux-headers-5.15.0-181/include/scsi/scsi_common.h
(2329B)
/* SPDX-License-Identifier: GPL-2.0 */ /* * Functions used by both the SCSI initiator code and the SCSI target code. */ #ifndef _SCSI_COMMON_H_ #define _SCSI_COMMON_H_ #include <linux/types.h> #include <scsi/scsi_proto.h> static inline unsigned scsi_varlen_cdb_length(const void *hdr) { return ((struct scsi_varlen_cdb_hdr *)hdr)->additional_cdb_length + 8; } extern const unsigned char scsi_command_size_tbl[8]; #define COMMAND_SIZE(opcode) scsi_command_size_tbl[((opcode) >> 5) & 7] static inline unsigned scsi_command_size(const unsigned char *cmnd) { return (cmnd[0] == VARIABLE_LENGTH_CMD) ? scsi_varlen_cdb_length(cmnd) : COMMAND_SIZE(cmnd[0]); } static inline unsigned char scsi_command_control(const unsigned char *cmnd) { return (cmnd[0] == VARIABLE_LENGTH_CMD) ? cmnd[1] : cmnd[COMMAND_SIZE(cmnd[0]) - 1]; } /* Returns a human-readable name for the device */ extern const char *scsi_device_type(unsigned type); extern void int_to_scsilun(u64, struct scsi_lun *); extern u64 scsilun_to_int(struct scsi_lun *); /* * This is a slightly modified SCSI sense "descriptor" format header. * The addition is to allow the 0x70 and 0x71 response codes. The idea * is to place the salient data from either "fixed" or "descriptor" sense * format into one structure to ease application processing. * * The original sense buffer should be kept around for those cases * in which more information is required (e.g. the LBA of a MEDIUM ERROR). */ struct scsi_sense_hdr { /* See SPC-3 section 4.5 */ u8 response_code; /* permit: 0x0, 0x70, 0x71, 0x72, 0x73 */ u8 sense_key; u8 asc; u8 ascq; u8 byte4; u8 byte5; u8 byte6; u8 additional_length; /* always 0 for fixed sense format */ }; static inline bool scsi_sense_valid(const struct scsi_sense_hdr *sshdr) { if (!sshdr) return false; return (sshdr->response_code & 0x70) == 0x70; } extern bool scsi_normalize_sense(const u8 *sense_buffer, int sb_len, struct scsi_sense_hdr *sshdr); extern void scsi_build_sense_buffer(int desc, u8 *buf, u8 key, u8 asc, u8 ascq); int scsi_set_sense_information(u8 *buf, int buf_len, u64 info); int scsi_set_sense_field_pointer(u8 *buf, int buf_len, u16 fp, u8 bp, bool cd); extern const u8 * scsi_sense_desc_find(const u8 * sense_buffer, int sb_len, int desc_type); #endif /* _SCSI_COMMON_H_ */
Save
cmd:
run