Lines Matching refs:item

63 struct item {  struct
68 LIST_ENTRY(item) next; argument
72 static LIST_HEAD(,item) item_list;
183 struct item *item; in process_client() local
203 LIST_FOREACH(item, &item_list, next) { in process_client()
204 if (bdaddr_same(&rp.laddr, &item->laddr) == 0 in process_client()
205 || bdaddr_same(&rp.raddr, &item->raddr) == 0) in process_client()
210 if (item->hci != -1) { in process_client()
214 bdaddr_copy(&sa.bt_bdaddr, &item->laddr); in process_client()
216 send_pin_code_reply(item->hci, &sa, &item->raddr, rp.pin); in process_client()
217 LIST_REMOVE(item, next); in process_client()
218 free(item); in process_client()
224 item = malloc(sizeof(struct item)); in process_client()
225 if (item == NULL) { in process_client()
230 memset(item, 0, sizeof(struct item)); in process_client()
231 bdaddr_copy(&item->laddr, &rp.laddr); in process_client()
232 bdaddr_copy(&item->raddr, &rp.raddr); in process_client()
233 LIST_INSERT_HEAD(&item_list, item, next); in process_client()
238 memcpy(item->pin, rp.pin, HCI_PIN_SIZE); in process_client()
239 item->hci = -1; in process_client()
244 LIST_REMOVE(item, next); in process_client()
245 free(item); in process_client()
255 struct item *item; in send_client_request() local
278 item = malloc(sizeof(struct item)); in send_client_request()
279 if (item == NULL) { in send_client_request()
284 memset(item, 0, sizeof(struct item)); in send_client_request()
285 bdaddr_copy(&item->laddr, laddr); in send_client_request()
286 bdaddr_copy(&item->raddr, raddr); in send_client_request()
287 item->hci = hci; in send_client_request()
288 EV_SET(&change, item->hci, EVFILT_TIMER, EV_ADD, 0, cp.time * 1000, item); in send_client_request()
291 free(item); in send_client_request()
295 LIST_INSERT_HEAD(&item_list, item, next); in send_client_request()
303 struct item *item = arg; in process_item() local
307 syslog(LOG_DEBUG, "PIN for %s expired", bt_ntoa(&item->raddr, NULL)); in process_item()
308 LIST_REMOVE(item, next); in process_item()
309 EV_SET(&change, item->hci, EVFILT_TIMER, EV_DELETE, 0, 0, 0); in process_item()
311 free(item); in process_item()
319 struct item *item; in lookup_pin() local
323 LIST_FOREACH(item, &item_list, next) { in lookup_pin()
324 if (bdaddr_same(raddr, &item->raddr) == 0) in lookup_pin()
327 if (bdaddr_same(laddr, &item->laddr) == 0 in lookup_pin()
328 && bdaddr_any(&item->laddr) == 0) in lookup_pin()
331 if (item->hci >= 0) in lookup_pin()
335 memcpy(pin, item->pin, sizeof(pin)); in lookup_pin()
337 LIST_REMOVE(item, next); in lookup_pin()
338 EV_SET(&change, item->hci, EVFILT_TIMER, EV_DELETE, 0, 0, 0); in lookup_pin()
340 free(item); in lookup_pin()