| /* SPDX-License-Identifier: GPL-2.0 */ | |
| #ifndef _SCSI_SCSI_REQUEST_H | |
| #define _SCSI_SCSI_REQUEST_H | |
| #include <linux/blk-mq.h> | |
| #define BLK_MAX_CDB 16 | |
| struct scsi_request { | |
| unsigned char __cmd[BLK_MAX_CDB]; | |
| unsigned char *cmd; | |
| unsigned short cmd_len; | |
| int result; | |
| unsigned int sense_len; | |
| unsigned int resid_len; /* residual count */ | |
| int retries; | |
| void *sense; | |
| }; | |
| static inline struct scsi_request *scsi_req(struct request *rq) | |
| { | |
| return blk_mq_rq_to_pdu(rq); | |
| } | |
| static inline void scsi_req_free_cmd(struct scsi_request *req) | |
| { | |
| if (req->cmd != req->__cmd) | |
| kfree(req->cmd); | |
| } | |
| void scsi_req_init(struct scsi_request *req); | |
| #endif /* _SCSI_SCSI_REQUEST_H */ |