int32_t link_type;
int32_t rssi;
} __attribute__((packed));
+
+#define HAL_EV_GATT_CLIENT_CONNECTED 0xBD
+#define HAL_EV_GATT_CLIENT_DISCONNECTED 0xBE
+struct hal_ev_gatt_client_connected {
+ int32_t conn_id;
+ int32_t status;
+ int32_t client_if;
+ uint8_t bdaddr[6];
+} __attribute__((packed));
+
+#define HAL_EV_GATT_CLIENT_SEARCH_RESULT 0xBF
+struct hal_ev_gatt_client_search_result {
+ int32_t conn_id;
+ int32_t inst_id;
+ uint8_t uuid[16];
+ int32_t is_primary;
+} __attribute__((packed));
+
+#define HAL_EV_GATT_CLIENT_SEARCH_COMPLETE 0xC0
+struct hal_ev_gatt_client_search_complete {
+ int32_t conn_id;
+ int32_t status;
+} __attribute__((packed));
+
+#define HAL_EV_GATT_CLIENT_CHARAC_SEARCH_RESULT 0xC1
+struct hal_ev_gatt_client_char_search_result {
+ int32_t conn_id;
+ int32_t status;
+ int32_t is_primary;
+ int32_t inst_id;
+ uint8_t svc_uuid[16];
+ uint8_t char_uuid[16];
+ int32_t char_prop;
+} __attribute__((packed));
+
+#define HAL_EV_GATT_CLIENT_DESC_SEARCH_RESULT 0XC2
+struct hal_ev_gatt_client_desc_search_result {
+ int32_t conn_id;
+ int32_t status;
+ int32_t is_primary;
+ int32_t inst_id;
+ uint8_t svc_uuid[16];
+ uint8_t char_uuid[16];
+ uint8_t desc_uuid[16];
+} __attribute__((packed));
+
+#define HAL_EV_GATT_CLIENT_READ_CHARAC 0XC3
+#define HAL_EV_GATT_CLIENT_READ_DESC 0XC4
+struct hal_ev_gatt_client_read_data {
+ int32_t conn_id;
+ int32_t status;
+ int32_t is_primary;
+ int32_t inst_id;
+ uint8_t svc_uuid[16];
+ uint8_t char_uuid[16];
+ uint8_t desc_uuid[16];
+ uint8_t value[600];
+ int32_t len;
+} __attribute__((packed));
+
+#define HAL_EV_GATT_CLIENT_WRITE_CHARAC 0XC5
+#define HAL_EV_GATT_CLIENT_WRITE_DESC 0XC6
+struct hal_ev_gatt_client_write_result {
+ int32_t conn_id;
+ int32_t status;
+ int32_t is_primary;
+ int32_t inst_id;
+ uint8_t svc_uuid[16];
+ uint8_t char_uuid[16];
+ uint8_t desc_uuid[16];
+} __attribute__((packed));
#endif //_BT_HAL_MSG_H_