scsi_request.h 591 B

123456789101112131415161718192021222324252627282930
  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. void *sense;
  12. };
  13. static inline struct scsi_request *scsi_req(struct request *rq)
  14. {
  15. return blk_mq_rq_to_pdu(rq);
  16. }
  17. static inline void scsi_req_free_cmd(struct scsi_request *req)
  18. {
  19. if (req->cmd != req->__cmd)
  20. kfree(req->cmd);
  21. }
  22. void scsi_req_init(struct request *);
  23. #endif /* _SCSI_SCSI_REQUEST_H */