Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 /*
  2  * This file is in the public domain.
  3  */
  4 #ifndef _SCSI_SCSI_IU_H
  5 #define _SCSI_SCSI_IU_H 1
  6 
  7 struct scsi_status_iu_header
  8 {
  9         u_int8_t reserved[2];
 10         u_int8_t flags;
 11 #define SIU_SNSVALID 0x2
 12 #define SIU_RSPVALID 0x1
 13         u_int8_t status;
 14         u_int8_t sense_length[4];
 15         u_int8_t pkt_failures_length[4];
 16         u_int8_t pkt_failures[1];
 17 };
 18 
 19 #define SIU_PKTFAIL_OFFSET(siu) 12
 20 #define SIU_PKTFAIL_CODE(siu) (scsi_4btoul((siu)->pkt_failures) & 0xFF)
 21 #define         SIU_PFC_NONE                    0
 22 #define         SIU_PFC_CIU_FIELDS_INVALID      2
 23 #define         SIU_PFC_TMF_NOT_SUPPORTED       4
 24 #define         SIU_PFC_TMF_FAILED              5
 25 #define         SIU_PFC_INVALID_TYPE_CODE       6
 26 #define         SIU_PFC_ILLEGAL_REQUEST         7
 27 #define SIU_SENSE_OFFSET(siu)                           \
 28     (12 + (((siu)->flags & SIU_RSPVALID)                \
 29         ? scsi_4btoul((siu)->pkt_failures_length)       \
 30         : 0))
 31 
 32 #define SIU_TASKMGMT_NONE               0x00
 33 #define SIU_TASKMGMT_ABORT_TASK         0x01
 34 #define SIU_TASKMGMT_ABORT_TASK_SET     0x02
 35 #define SIU_TASKMGMT_CLEAR_TASK_SET     0x04
 36 #define SIU_TASKMGMT_LUN_RESET          0x08
 37 #define SIU_TASKMGMT_TARGET_RESET       0x20
 38 #define SIU_TASKMGMT_CLEAR_ACA          0x40
 39 #endif /*_SCSI_SCSI_IU_H*/
 40 
  This page was automatically generated by the LXR engine.