Edit File by line
/home/barbar84/public_h.../wp-conte.../plugins/sujqvwi/ExeBy/smexe_ro.../usr/include/linux
File: bsg.h
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
[0] Fix | Delete
#ifndef BSG_H
[1] Fix | Delete
#define BSG_H
[2] Fix | Delete
[3] Fix | Delete
#include <linux/types.h>
[4] Fix | Delete
[5] Fix | Delete
#define BSG_PROTOCOL_SCSI 0
[6] Fix | Delete
[7] Fix | Delete
#define BSG_SUB_PROTOCOL_SCSI_CMD 0
[8] Fix | Delete
#define BSG_SUB_PROTOCOL_SCSI_TMF 1
[9] Fix | Delete
#define BSG_SUB_PROTOCOL_SCSI_TRANSPORT 2
[10] Fix | Delete
[11] Fix | Delete
/*
[12] Fix | Delete
* For flag constants below:
[13] Fix | Delete
* sg.h sg_io_hdr also has bits defined for it's flags member. These
[14] Fix | Delete
* two flag values (0x10 and 0x20) have the same meaning in sg.h . For
[15] Fix | Delete
* bsg the BSG_FLAG_Q_AT_HEAD flag is ignored since it is the deafult.
[16] Fix | Delete
*/
[17] Fix | Delete
#define BSG_FLAG_Q_AT_TAIL 0x10 /* default is Q_AT_HEAD */
[18] Fix | Delete
#define BSG_FLAG_Q_AT_HEAD 0x20
[19] Fix | Delete
[20] Fix | Delete
struct sg_io_v4 {
[21] Fix | Delete
__s32 guard; /* [i] 'Q' to differentiate from v3 */
[22] Fix | Delete
__u32 protocol; /* [i] 0 -> SCSI , .... */
[23] Fix | Delete
__u32 subprotocol; /* [i] 0 -> SCSI command, 1 -> SCSI task
[24] Fix | Delete
management function, .... */
[25] Fix | Delete
[26] Fix | Delete
__u32 request_len; /* [i] in bytes */
[27] Fix | Delete
__u64 request; /* [i], [*i] {SCSI: cdb} */
[28] Fix | Delete
__u64 request_tag; /* [i] {SCSI: task tag (only if flagged)} */
[29] Fix | Delete
__u32 request_attr; /* [i] {SCSI: task attribute} */
[30] Fix | Delete
__u32 request_priority; /* [i] {SCSI: task priority} */
[31] Fix | Delete
__u32 request_extra; /* [i] {spare, for padding} */
[32] Fix | Delete
__u32 max_response_len; /* [i] in bytes */
[33] Fix | Delete
__u64 response; /* [i], [*o] {SCSI: (auto)sense data} */
[34] Fix | Delete
[35] Fix | Delete
/* "dout_": data out (to device); "din_": data in (from device) */
[36] Fix | Delete
__u32 dout_iovec_count; /* [i] 0 -> "flat" dout transfer else
[37] Fix | Delete
dout_xfer points to array of iovec */
[38] Fix | Delete
__u32 dout_xfer_len; /* [i] bytes to be transferred to device */
[39] Fix | Delete
__u32 din_iovec_count; /* [i] 0 -> "flat" din transfer */
[40] Fix | Delete
__u32 din_xfer_len; /* [i] bytes to be transferred from device */
[41] Fix | Delete
__u64 dout_xferp; /* [i], [*i] */
[42] Fix | Delete
__u64 din_xferp; /* [i], [*o] */
[43] Fix | Delete
[44] Fix | Delete
__u32 timeout; /* [i] units: millisecond */
[45] Fix | Delete
__u32 flags; /* [i] bit mask */
[46] Fix | Delete
__u64 usr_ptr; /* [i->o] unused internally */
[47] Fix | Delete
__u32 spare_in; /* [i] */
[48] Fix | Delete
[49] Fix | Delete
__u32 driver_status; /* [o] 0 -> ok */
[50] Fix | Delete
__u32 transport_status; /* [o] 0 -> ok */
[51] Fix | Delete
__u32 device_status; /* [o] {SCSI: command completion status} */
[52] Fix | Delete
__u32 retry_delay; /* [o] {SCSI: status auxiliary information} */
[53] Fix | Delete
__u32 info; /* [o] additional information */
[54] Fix | Delete
__u32 duration; /* [o] time to complete, in milliseconds */
[55] Fix | Delete
__u32 response_len; /* [o] bytes of response actually written */
[56] Fix | Delete
__s32 din_resid; /* [o] din_xfer_len - actual_din_xfer_len */
[57] Fix | Delete
__s32 dout_resid; /* [o] dout_xfer_len - actual_dout_xfer_len */
[58] Fix | Delete
__u64 generated_tag; /* [o] {SCSI: transport generated task tag} */
[59] Fix | Delete
__u32 spare_out; /* [o] */
[60] Fix | Delete
[61] Fix | Delete
__u32 padding;
[62] Fix | Delete
};
[63] Fix | Delete
[64] Fix | Delete
[65] Fix | Delete
#endif /* BSG_H */
[66] Fix | Delete
[67] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function