From 27d79b3a73cb8068138103a697774159894672db Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Mon, 13 Jan 2014 14:29:06 +0200 Subject: [PATCH] emulator/bthost: Add API to reject SSP User Confirmation --- emulator/bthost.c | 12 ++++++++++++ emulator/bthost.h | 1 + 2 files changed, 13 insertions(+) diff --git a/emulator/bthost.c b/emulator/bthost.c index 74b5df972..2af5f7afe 100644 --- a/emulator/bthost.c +++ b/emulator/bthost.c @@ -111,6 +111,7 @@ struct bthost { uint8_t pin[16]; uint8_t pin_len; uint8_t io_capability; + bool reject_user_confirm; }; struct bthost *bthost_create(void) @@ -798,6 +799,12 @@ static void evt_user_confirm_request(struct bthost *bthost, const void *data, if (!conn) return; + if (bthost->reject_user_confirm) { + send_command(bthost, BT_HCI_CMD_USER_CONFIRM_REQUEST_NEG_REPLY, + ev->bdaddr, 6); + return; + } + send_command(bthost, BT_HCI_CMD_USER_CONFIRM_REQUEST_REPLY, ev->bdaddr, 6); } @@ -1509,6 +1516,11 @@ void bthost_set_io_capability(struct bthost *bthost, uint8_t io_capability) bthost->io_capability = io_capability; } +void bthost_set_reject_user_confirm(struct bthost *bthost, bool reject) +{ + bthost->reject_user_confirm = reject; +} + void bthost_start(struct bthost *bthost) { if (!bthost) diff --git a/emulator/bthost.h b/emulator/bthost.h index a3ecb1a4c..8d007ac2a 100644 --- a/emulator/bthost.h +++ b/emulator/bthost.h @@ -85,6 +85,7 @@ void bthost_add_l2cap_server(struct bthost *bthost, uint16_t psm, void bthost_set_pin_code(struct bthost *bthost, const uint8_t *pin, uint8_t pin_len); void bthost_set_io_capability(struct bthost *bthost, uint8_t io_capability); +void bthost_set_reject_user_confirm(struct bthost *bthost, bool reject); void bthost_start(struct bthost *bthost); void bthost_stop(struct bthost *bthost); -- 2.47.3