Diff between ec374548a4089e4524ebaede5952e79d06730892 and 9eb57885c13d26428c825d4924170d6bacf88f70

Changed Files

File Additions Deletions Status
android/hal-ipc-api.txt +15 -0 modified
android/hal-msg.h +21 -0 modified

Full Patch

diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index 6ee8e9e..0d76967 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1891,6 +1891,21 @@ Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
 		Valid GATT Char. ID: As described in Get Characteristic
 
 	Opcode 0x8c - Read Characteristic notification
+
+		Notification parameters: Connection ID (4 octets)
+		                         Status (4 octets)
+		                         GATT Read Parameters (variable)
+		Valid GATT Read Parameters: GATT Service ID (18 octets)
+		                            GATT Char. ID (17 octets)
+		                            GATT Descr. ID (17 octets)
+		                            Value Type (4 octets)
+		                            Status (1 octet)
+		                            Unformatted Value (variable)
+		Valid GATT Service ID: As described in Get Characteristic
+		Valid GATT Char. & Decr. ID: As described in Get Descriptor
+		Valid Unformatted Value: Length (2 octets)
+		                         Value (variable)
+
 	Opcode 0x8d - Write Characteristic notification
 	Opcode 0x8e - Read Descriptor notification
 	Opcode 0x8f - Write Descriptor notification
diff --git a/android/hal-msg.h b/android/hal-msg.h
index 522596b..ff28679 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -1317,3 +1317,24 @@ struct hal_ev_gatt_client_notify {
 	int32_t conn_id;
 	struct hal_gatt_notify_params data;
 } __attribute__((packed));
+
+#define HAL_EV_GATT_CLIENT_READ_CHARACTERISTIC	0x8c
+struct hal_gatt_unformated_value {
+	uint16_t len;
+	uint8_t  value[0];
+} __attribute__((packed));
+
+struct hal_gatt_read_params {
+	struct hal_gatt_srvc_id srvc_id;
+	struct hal_gatt_gatt_id char_id;
+	struct hal_gatt_gatt_id descr_id;
+	uint8_t  status;
+	uint16_t value_type;
+	struct hal_gatt_unformated_value value;
+} __attribute__((packed));
+
+struct hal_ev_gatt_client_read_characteristic {
+	int32_t conn_id;
+	int32_t status;
+	struct hal_gatt_read_params data;
+} __attribute__((packed));