Diff between 73ac6685161666e3c96478f98c88c5573909ef40 and 5049de306a222e4ceee6e2fd8113dd25a93e42fd

Changed Files

File Additions Deletions Status
src/shared/gap.c +11 -0 modified
src/shared/gap.h +1 -0 modified

Full Patch

diff --git a/src/shared/gap.c b/src/shared/gap.c
index f326547..19059e8 100644
--- a/src/shared/gap.c
+++ b/src/shared/gap.c
@@ -53,6 +53,7 @@ struct bt_gap {
 	bt_gap_destroy_func_t ready_destroy;
 	void *ready_data;
 
+	uint8_t static_addr[6];
 	uint8_t local_irk[16];
 	struct queue *irk_list;
 };
@@ -236,6 +237,16 @@ bool bt_gap_set_ready_handler(struct bt_gap *gap,
 	return true;
 }
 
+bool bt_gap_set_static_addr(struct bt_gap *gap, uint8_t addr[6])
+{
+	if (!gap)
+		return false;
+
+	memcpy(gap->static_addr, addr, 6);
+
+	return true;
+}
+
 bool bt_gap_set_local_irk(struct bt_gap *gap, uint8_t key[16])
 {
 	if (!gap)
diff --git a/src/shared/gap.h b/src/shared/gap.h
index a213be3..52c264a 100644
--- a/src/shared/gap.h
+++ b/src/shared/gap.h
@@ -43,6 +43,7 @@ bool bt_gap_set_ready_handler(struct bt_gap *gap,
 				bt_gap_ready_func_t handler, void *user_data,
 				bt_gap_destroy_func_t destroy);
 
+bool bt_gap_set_static_addr(struct bt_gap *gap, uint8_t addr[6]);
 bool bt_gap_set_local_irk(struct bt_gap *gap, uint8_t key[16]);
 bool bt_gap_add_peer_irk(struct bt_gap *gap, uint8_t addr_type,
 					uint8_t addr[6], uint8_t key[16]);