Diff between 13731162395243cf7f46df2e24608bc83706945b and 948dc088ad821869fe3b18c3095c97d57a3b816f

Changed Files

File Additions Deletions Status
emulator/bthost.c +10 -0 modified
emulator/bthost.h +2 -0 modified

Full Patch

diff --git a/emulator/bthost.c b/emulator/bthost.c
index 45e490b..e724c2d 100644
--- a/emulator/bthost.c
+++ b/emulator/bthost.c
@@ -636,6 +636,16 @@ void bthost_set_connect_cb(struct bthost *bthost, bthost_new_conn_cb cb,
 	bthost->new_conn_data = user_data;
 }
 
+void bthost_hci_connect(struct bthost *bthost, const uint8_t *bdaddr)
+{
+	struct bt_hci_cmd_create_conn cmd;
+
+	memset(&cmd, 0, sizeof(cmd));
+	memcpy(cmd.bdaddr, bdaddr, sizeof(cmd.bdaddr));
+
+	send_command(bthost, BT_HCI_CMD_CREATE_CONN, &cmd, sizeof(cmd));
+}
+
 void bthost_write_scan_enable(struct bthost *bthost, uint8_t scan)
 {
 	send_command(bthost, BT_HCI_CMD_WRITE_SCAN_ENABLE, &scan, 1);
diff --git a/emulator/bthost.h b/emulator/bthost.h
index a907e2f..5a75d9e 100644
--- a/emulator/bthost.h
+++ b/emulator/bthost.h
@@ -49,6 +49,8 @@ typedef void (*bthost_new_conn_cb) (uint16_t handle, void *user_data);
 void bthost_set_connect_cb(struct bthost *bthost, bthost_new_conn_cb cb,
 							void *user_data);
 
+void bthost_hci_connect(struct bthost *bthost, const uint8_t *bdaddr);
+
 void bthost_l2cap_cmd(struct bthost *bthost, uint16_t handle, uint8_t code,
 				uint8_t ident, const void *data, uint16_t len);