From cee10685aeaccebb2d7b2e13961b5349754c731e Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Fri, 10 Jan 2014 16:03:48 +0200 Subject: [PATCH] emulator/bthost: Add basic handling of user confirm request and SSP complete events --- emulator/bthost.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/emulator/bthost.c b/emulator/bthost.c index b5895b227..ba59431a9 100644 --- a/emulator/bthost.c +++ b/emulator/bthost.c @@ -782,6 +782,32 @@ static void evt_io_cap_request(struct bthost *bthost, const void *data, &cp, sizeof(cp)); } +static void evt_user_confirm_request(struct bthost *bthost, const void *data, + uint8_t len) +{ + const struct bt_hci_evt_user_confirm_request *ev = data; + struct btconn *conn; + + if (len < sizeof(*ev)) + return; + + conn = bthost_find_conn_by_bdaddr(bthost, ev->bdaddr); + if (!conn) + return; + + send_command(bthost, BT_HCI_CMD_USER_CONFIRM_REQUEST_REPLY, + ev->bdaddr, 6); +} + +static void evt_simple_pairing_complete(struct bthost *bthost, const void *data, + uint8_t len) +{ + const struct bt_hci_evt_simple_pairing_complete *ev = data; + + if (len < sizeof(*ev)) + return; +} + static void evt_le_conn_complete(struct bthost *bthost, const void *data, uint8_t len) { @@ -882,6 +908,14 @@ static void process_evt(struct bthost *bthost, const void *data, uint16_t len) evt_io_cap_request(bthost, param, hdr->plen); break; + case BT_HCI_EVT_USER_CONFIRM_REQUEST: + evt_user_confirm_request(bthost, param, hdr->plen); + break; + + case BT_HCI_EVT_SIMPLE_PAIRING_COMPLETE: + evt_simple_pairing_complete(bthost, param, hdr->plen); + break; + case BT_HCI_EVT_LE_META_EVENT: evt_le_meta_event(bthost, param, hdr->plen); break; -- 2.47.3