diff --git a/src/shared/gap.c b/src/shared/gap.c
index 64ed827..f440cdd 100644
--- a/src/shared/gap.c
+++ b/src/shared/gap.c
struct bt_gap {
int ref_count;
+ uint16_t index;
struct mgmt *mgmt;
uint8_t mgmt_version;
struct bt_gap *bt_gap_new(void)
{
+ return bt_gap_new_index(0x0000);
+}
+
+struct bt_gap *bt_gap_new_default(void)
+{
+ return bt_gap_new_index(0x0000);
+}
+
+struct bt_gap *bt_gap_new_index(uint16_t index)
+{
struct bt_gap *gap;
+ if (index == MGMT_INDEX_NONE)
+ return NULL;
+
gap = new0(struct bt_gap, 1);
if (!gap)
return NULL;
+ gap->index = index;
+
gap->mgmt = mgmt_new_default();
if (!gap->mgmt) {
free(gap);
diff --git a/src/shared/gap.h b/src/shared/gap.h
index 4e19da0..a12ec4a 100644
--- a/src/shared/gap.h
+++ b/src/shared/gap.h
*/
#include <stdbool.h>
+#include <stdint.h>
struct bt_gap;
struct bt_gap *bt_gap_new(void);
+struct bt_gap *bt_gap_new_default(void);
+struct bt_gap *bt_gap_new_index(uint16_t index);
struct bt_gap *bt_gap_ref(struct bt_gap *gap);
void bt_gap_unref(struct bt_gap *gap);