Diff between 769b62e8354bc0fff6fd0fe754c94f8655d51b22 and 73ac6685161666e3c96478f98c88c5573909ef40

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 55259af..f326547 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 local_irk[16];
 	struct queue *irk_list;
 };
 
@@ -235,6 +236,16 @@ bool bt_gap_set_ready_handler(struct bt_gap *gap,
 	return true;
 }
 
+bool bt_gap_set_local_irk(struct bt_gap *gap, uint8_t key[16])
+{
+	if (!gap)
+		return false;
+
+	memcpy(gap->local_irk, key, 16);
+
+	return true;
+}
+
 bool bt_gap_add_peer_irk(struct bt_gap *gap, uint8_t addr_type,
 					uint8_t addr[6], uint8_t key[16])
 {
diff --git a/src/shared/gap.h b/src/shared/gap.h
index 2bddf2a..a213be3 100644
--- a/src/shared/gap.h
+++ b/src/shared/gap.h
@@ -43,5 +43,6 @@ 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_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]);