Diff between bd416e95d5a323e4a9a2e5e2cd38866b241add0b and a2dc0a4d57948f2bb3554e2cc1b313943ebc5622

Changed Files

File Additions Deletions Status
src/eir.c +7 -0 modified
src/eir.h +1 -0 modified

Full Patch

diff --git a/src/eir.c b/src/eir.c
index 428882e..084884e 100644
--- a/src/eir.c
+++ b/src/eir.c
@@ -134,6 +134,7 @@ int eir_parse(struct eir_data *eir, const uint8_t *eir_data, uint8_t eir_len)
 	uint16_t len = 0;
 
 	eir->flags = -1;
+	eir->tx_power = 127;
 
 	/* No EIR data to parse */
 	if (eir_data == NULL)
@@ -191,6 +192,12 @@ int eir_parse(struct eir_data *eir, const uint8_t *eir_data, uint8_t eir_len)
 			eir->name_complete = eir_data[1] == EIR_NAME_COMPLETE;
 			break;
 
+		case EIR_TX_POWER:
+			if (data_len < 1)
+				break;
+			eir->tx_power = (int8_t) data[0];
+			break;
+
 		case EIR_CLASS_OF_DEV:
 			if (data_len < 3)
 				break;
diff --git a/src/eir.h b/src/eir.h
index 72953eb..1b6242d 100644
--- a/src/eir.h
+++ b/src/eir.h
@@ -45,6 +45,7 @@ struct eir_data {
 	uint32_t class;
 	uint16_t appearance;
 	gboolean name_complete;
+	int8_t tx_power;
 	uint8_t *hash;
 	uint8_t *randomizer;
 	bdaddr_t addr;