scsi_request.h 628 B

1234567891011121314151617181920212223242526272829303132
  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. int result;
  10. unsigned int sense_len;
  11. unsigned int resid_len; /* residual count */
  12. int retries;
  13. void *sense;
  14. };
  15. static inline struct scsi_request *scsi_req(struct request *rq)
  16. {
  17. return blk_mq_rq_to_pdu(rq);
  18. }
  19. static inline void scsi_req_free_cmd(struct scsi_request *req)
  20. {
  21. if (req->cmd != req->__cmd)
  22. kfree(req->cmd);
  23. }
  24. void scsi_req_init(struct scsi_request *req);
  25. #endif /* _SCSI_SCSI_REQUEST_H */