bta_to_btc_gatt_id(&p_dest->id, &p_src->id);
}
-void btc_to_bta_response(tBTA_GATTS_RSP *rsp_struct, esp_gatt_rsp_t *p_rsp)
+void btc_to_bta_response(tBTA_GATTS_RSP *p_dest, esp_gatt_rsp_t *p_src)
{
- memcpy(rsp_struct, p_rsp, sizeof(esp_gatt_rsp_t));
+ p_dest->attr_value.auth_req = p_src->attr_value.auth_req;
+ p_dest->attr_value.handle = p_src->attr_value.handle;
+ p_dest->attr_value.len = p_src->attr_value.len;
+ p_dest->attr_value.offset = p_src->attr_value.offset;
+ memcpy(p_dest->attr_value.value, p_src->attr_value.value, ESP_GATT_MAX_ATTR_LEN);
}
uint16_t get_uuid16(tBT_UUID *p_uuid)
param.create.service_handle = p_data->create.service_id;
param.create.service_id.is_primary = p_data->create.is_primary;
param.create.service_id.id.inst_id = p_data->create.svc_instance;
- memcpy(¶m.create.service_id.id.uuid, &p_data->create.uuid, sizeof(esp_bt_uuid_t));
+ bta_to_btc_uuid(¶m.create.service_id.id.uuid, &p_data->create.uuid);
BTC_GATTS_CB_TO_APP(ESP_GATTS_CREATE_EVT, ¶m);
break;
case BTA_GATTS_ADD_INCL_SRVC_EVT:
param.add_char.gatt_if = p_data->add_result.server_if;
param.add_char.attr_handle = p_data->add_result.attr_id;
param.add_char.service_handle = p_data->add_result.service_id;
- memcpy(¶m.add_char.char_uuid, &p_data->add_result.char_uuid, sizeof(esp_bt_uuid_t));
+ bta_to_btc_uuid(¶m.add_char.char_uuid, &p_data->add_result.char_uuid);
BTC_GATTS_CB_TO_APP(ESP_GATTS_ADD_CHAR_EVT, ¶m);
break;
param.add_char_descr.gatt_if = p_data->add_result.server_if;
param.add_char_descr.attr_handle = p_data->add_result.attr_id;
param.add_char_descr.service_handle = p_data->add_result.service_id;
- memcpy(¶m.add_char_descr.char_uuid, &p_data->add_result.char_uuid, sizeof(esp_bt_uuid_t));
+ bta_to_btc_uuid(¶m.add_char_descr.char_uuid, &p_data->add_result.char_uuid);
BTC_GATTS_CB_TO_APP(ESP_GATTS_ADD_CHAR_DESCR_EVT, ¶m);
break;