Lines Matching defs:req
66 static int macio_send_request(struct adb_request *req, int sync);
166 static int macio_send_request(struct adb_request *req, int sync)
171 if (req->data[0] != ADB_PACKET)
174 for (i = 0; i < req->nbytes - 1; ++i)
175 req->data[i] = req->data[i+1];
176 --req->nbytes;
178 req->next = NULL;
179 req->sent = 0;
180 req->complete = 0;
181 req->reply_len = 0;
185 last_req->next = req;
186 last_req = req;
188 current_req = last_req = req;
194 while (!req->complete)
204 struct adb_request *req = NULL;
214 if ((req = current_req) != 0) {
216 for (i = 0; i < req->nbytes; ++i)
217 out_8(&adb->data[i].r, req->data[i]);
218 out_8(&adb->dcount.r, req->nbytes & HMB);
219 req->sent = 1;
220 if (req->reply_expected) {
224 current_req = req->next;
238 req = current_req;
240 req->reply_len = in_8(&adb->dcount.r) & HMB;
241 for (i = 0; i < req->reply_len; ++i)
242 req->reply[i] = in_8(&adb->data[i].r);
244 current_req = req->next;
260 if (complete && req) {
261 void (*done)(struct adb_request *) = req->done;
263 req->complete = 1;
265 * struct request will survive to setting req->complete to 1
268 (*done)(req);