scsi_request.h 606 B

12345678910111213141516171819202122232425262728293031
  1. #ifndef _SCSI_SCSI_REQUEST_H
  2. #define _SCSI_SCSI_REQUEST_H
  3. #include <linux/blk-mq.h>
  4. #define BLK_MAX_CDB 16
  5. struct scsi_request {
  6. unsigned char __cmd[BLK_MAX_CDB];
  7. unsigned char *cmd;
  8. unsigned short cmd_len;
  9. unsigned int sense_len;
  10. unsigned int resid_len; /* residual count */
  11. int retries;
  12. void *sense;
  13. };
  14. static inline struct scsi_request *scsi_req(struct request *rq)
  15. {
  16. return blk_mq_rq_to_pdu(rq);
  17. }
  18. static inline void scsi_req_free_cmd(struct scsi_request *req)
  19. {
  20. if (req->cmd != req->__cmd)
  21. kfree(req->cmd);
  22. }
  23. void scsi_req_init(struct request *);
  24. #endif /* _SCSI_SCSI_REQUEST_H */