static void mgmt_connect_failed(int sk, void *buf, size_t len) { struct mgmt_ev_connect_failed *ev = buf; struct controller_info *info; uint16_t index; char addr[18]; if (len < sizeof(*ev)) { error("Too small connect_failed event"); return; } index = btohs(bt_get_unaligned(&ev->index)); ba2str(&ev->bdaddr, addr); DBG("hci%u %s status %u", index, addr, ev->status); if (index > max_index) { error("Unexpected index %u in connect_failed event", index); return; } info = &controllers[index]; btd_event_conn_complete(&info->bdaddr, ev->status, &ev->bdaddr); }
static void mgmt_device_connected(int sk, uint16_t index, void *buf, size_t len) { struct mgmt_ev_device_connected *ev = buf; struct controller_info *info; char addr[18]; if (len < sizeof(*ev)) { error("Too small device_connected event"); return; } ba2str(&ev->bdaddr, addr); DBG("hci%u device %s connected", index, addr); if (index > max_index) { error("Unexpected index %u in device_connected event", index); return; } info = &controllers[index]; btd_event_conn_complete(&info->bdaddr, &ev->bdaddr); }