You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
83 struct timer_list eh_timeout; /* Used to time out the command. */<br />
84 void *request_buffer; /* Actual requested buffer */<br />
85<br />
86 /* These elements define the operation we ultimately want to perform */<br />
87 unsigned char data_cmnd[MAX_COMMAND_SIZE];<br />
88 unsigned short old_use_sg; /* We save use_sg here when requesting<br />
89 * sense info */<br />
90 unsigned short use_sg; /* Number <strong>of</strong> pieces <strong>of</strong> scatter-gather */<br />
91 unsigned short sglist_len; /* size <strong>of</strong> malloc'd scatter-gather list */<br />
92 unsigned short abort_reason; /* If the mid-level code requests an<br />
93 * abort, this is the reason. */<br />
94 unsigned bufflen; /* Size <strong>of</strong> data buffer */<br />
95 void *buffer; /* Data buffer */<br />
96<br />
97 unsigned underflow; /* Return error if less than<br />
98 this amount is transferred */<br />
99 unsigned old_underflow; /* save underflow here when reusing the<br />
100 * command for error handling */<br />
101<br />
102 unsigned transfersize; /* How much we are guaranteed to<br />
103 transfer with each SCSI transfer<br />
104 (ie, between disconnect /<br />
105 reconnects. Probably == sector<br />
106 size */<br />
107<br />
108 int resid; /* Number <strong>of</strong> bytes requested to be<br />
109 transferred less actual number<br />
110 transferred (0 if not supported) */<br />
111<br />
112 struct request *request; /* The command we are<br />
113 working on */<br />
114<br />
115 #define SCSI_SENSE_BUFFERSIZE 96<br />
116 unsigned char sense_buffer[SCSI_SENSE_BUFFERSIZE]; /*<br />
obtained by REQUEST SENSE<br />
117 * when CHECK CONDITION is<br />
118 * received on original command<br />
119 * (auto-sense) */<br />
120<br />
121 /* Low-level done function - can be used by low-level driver to point<br />
122 * to completion function. Not used by mid/upper level code. */<br />
122<br />
123 void (*scsi_done) (struct scsi_cmnd *);<br />
124