Diff between 9690e662ce688d5a3ca98bc369662bd23f6feb3e and 2ce7e74bbbbf208219de4be90f67f995b918c3af

Changed Files

File Additions Deletions Status
android/hal-bluetooth.c +15 -0 modified
android/hal-msg.h +7 -0 modified

Full Patch

diff --git a/android/hal-bluetooth.c b/android/hal-bluetooth.c
index d0c1c01..4ef2ebe 100644
--- a/android/hal-bluetooth.c
+++ b/android/hal-bluetooth.c
@@ -166,6 +166,21 @@ static void device_props_to_hal(bt_property_t *send_props,
 			break;
 #endif
 		case HAL_PROP_DEVICE_SERVICE_REC:
+		{
+			static bt_service_record_t e;
+			const struct hal_prop_device_service_rec *p;
+
+			send_props[i].val = &e;
+			send_props[i].len = sizeof(e);
+
+			p = (struct hal_prop_device_service_rec *) prop->val;
+
+			memset(&e, 0, sizeof(e));
+			memcpy(&e.channel, &p->channel, sizeof(e.channel));
+			memcpy(e.uuid.uu, p->uuid, sizeof(e.uuid.uu));
+			memcpy(e.name, p->name, p->name_len);
+		}
+			break;
 		default:
 			send_props[i].len = prop->len;
 			send_props[i].val = prop->val;
diff --git a/android/hal-msg.h b/android/hal-msg.h
index bb196d8..c351501 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -107,6 +107,13 @@ struct hal_cmd_get_adapter_prop {
 #define HAL_PROP_DEVICE_CLASS			0x04
 #define HAL_PROP_DEVICE_TYPE			0x05
 #define HAL_PROP_DEVICE_SERVICE_REC		0x06
+struct hal_prop_device_service_rec {
+	uint8_t uuid[16];
+	uint16_t channel;
+	uint8_t name_len;
+	uint8_t name[];
+} __attribute__((packed));
+
 #define HAL_PROP_DEVICE_FRIENDLY_NAME		0x0a
 #define HAL_PROP_DEVICE_RSSI			0x0b
 #define HAL_PROP_DEVICE_VERSION_INFO		0x0c