summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--emulator/btdev.c5
-rw-r--r--emulator/btdev.h6
-rw-r--r--emulator/server.c2
-rw-r--r--emulator/vhci.c2
4 files changed, 11 insertions, 4 deletions
diff --git a/emulator/btdev.c b/emulator/btdev.c
index 8ec04eb7e..40f6149d9 100644
--- a/emulator/btdev.c
+++ b/emulator/btdev.c
@@ -38,6 +38,8 @@
#define cpu_to_le16(val) (val)
struct btdev {
+ enum btdev_type type;
+
struct btdev *conn;
btdev_send_func send_handler;
@@ -170,7 +172,7 @@ static void get_bdaddr(uint16_t id, uint8_t index, uint8_t *bdaddr)
bdaddr[5] = 0x00;
}
-struct btdev *btdev_create(uint16_t id)
+struct btdev *btdev_create(enum btdev_type type, uint16_t id)
{
struct btdev *btdev;
int index;
@@ -180,6 +182,7 @@ struct btdev *btdev_create(uint16_t id)
return NULL;
memset(btdev, 0, sizeof(*btdev));
+ btdev->type = type;
btdev->manufacturer = 63;
btdev->version = 0x06;
diff --git a/emulator/btdev.h b/emulator/btdev.h
index 7b211a2ce..b2f96cfc9 100644
--- a/emulator/btdev.h
+++ b/emulator/btdev.h
@@ -27,9 +27,13 @@
typedef void (*btdev_send_func) (const void *data, uint16_t len,
void *user_data);
+enum btdev_type {
+ BTDEV_TYPE_BREDR,
+};
+
struct btdev;
-struct btdev *btdev_create(uint16_t id);
+struct btdev *btdev_create(enum btdev_type type, uint16_t id);
void btdev_destroy(struct btdev *btdev);
void btdev_set_send_handler(struct btdev *btdev, btdev_send_func handler,
diff --git a/emulator/server.c b/emulator/server.c
index fa8f9c3bd..f2455e9d8 100644
--- a/emulator/server.c
+++ b/emulator/server.c
@@ -205,7 +205,7 @@ static void server_accept_callback(int fd, uint32_t events, void *user_data)
return;
}
- client->btdev = btdev_create(server->id);
+ client->btdev = btdev_create(BTDEV_TYPE_BREDR, server->id);
if (!client->btdev) {
close(client->fd);
free(client);
diff --git a/emulator/vhci.c b/emulator/vhci.c
index 940e562b4..913ae8174 100644
--- a/emulator/vhci.c
+++ b/emulator/vhci.c
@@ -104,7 +104,7 @@ struct vhci *vhci_open(enum vhci_type type, uint16_t id)
return NULL;
}
- vhci->btdev = btdev_create(id);
+ vhci->btdev = btdev_create(BTDEV_TYPE_BREDR, id);
if (!vhci->btdev) {
close(vhci->fd);
free(vhci);