diff --git a/emulator/btdev.c b/emulator/btdev.c
index 8ec04eb..40f6149 100644
--- a/emulator/btdev.c
+++ b/emulator/btdev.c
#define cpu_to_le16(val) (val)
struct btdev {
+ enum btdev_type type;
+
struct btdev *conn;
btdev_send_func send_handler;
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;
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 7b211a2..b2f96cf 100644
--- a/emulator/btdev.h
+++ b/emulator/btdev.h
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 fa8f9c3..f2455e9 100644
--- a/emulator/server.c
+++ b/emulator/server.c
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 940e562..913ae81 100644
--- a/emulator/vhci.c
+++ b/emulator/vhci.c
return NULL;
}
- vhci->btdev = btdev_create(id);
+ vhci->btdev = btdev_create(BTDEV_TYPE_BREDR, id);
if (!vhci->btdev) {
close(vhci->fd);
free(vhci);