Home | History | Annotate | Download | only in dm

Lines Matching refs:bta_dm_search_cb

353         memset(&bta_dm_search_cb, 0x00, sizeof(bta_dm_search_cb));
373 bta_dm_search_cb.conn_id = BTA_GATT_INVALID_CONN_ID;
1216 bta_dm_search_cb.p_search_cback = p_data->search.p_cback;
1217 bta_dm_search_cb.services = p_data->search.services;
1220 utl_freebuf((void **)&bta_dm_search_cb.p_srvc_uuid);
1222 if ((bta_dm_search_cb.num_uuid = p_data->search.num_uuid) != 0 &&
1225 if ((bta_dm_search_cb.p_srvc_uuid = (tBT_UUID *)GKI_getbuf(len)) == NULL)
1234 // bta_dm_search_cb.p_srvc_uuid = (tBT_UUID *)GKI_getbuf(len);
1235 memcpy(bta_dm_search_cb.p_srvc_uuid, p_data->search.p_uuid, len);
1280 else if (!bta_dm_search_cb.name_discover_done)
1285 if (bta_dm_search_cb.gatt_disc_active)
1287 bta_dm_cancel_gatt_discovery(bta_dm_search_cb.peer_bdaddr);
1311 bta_dm_search_cb.services = p_data->discover.services;
1314 utl_freebuf((void **)&bta_dm_search_cb.p_srvc_uuid);
1315 if ((bta_dm_search_cb.num_uuid = p_data->discover.num_uuid) != 0 &&
1318 if ((bta_dm_search_cb.p_srvc_uuid = (tBT_UUID *)GKI_getbuf(len)) == NULL)
1323 memcpy(bta_dm_search_cb.p_srvc_uuid, p_data->discover.p_uuid, len);
1325 bta_dm_search_cb.uuid_to_search = bta_dm_search_cb.num_uuid;
1328 bta_dm_search_cb.p_search_cback = p_data->discover.p_cback;
1329 bta_dm_search_cb.sdp_search = p_data->discover.sdp_search;
1330 bta_dm_search_cb.services_to_search = bta_dm_search_cb.services;
1331 bta_dm_search_cb.service_index = 0;
1332 bta_dm_search_cb.services_found = 0;
1333 bta_dm_search_cb.peer_name[0] = 0;
1334 bta_dm_search_cb.sdp_search = p_data->discover.sdp_search;
1335 bta_dm_search_cb.p_btm_inq_info = BTM_InqDbRead (p_data->discover.bd_addr);
1336 bta_dm_search_cb.transport = p_data->discover.transport;
1338 bta_dm_search_cb.name_discover_done = FALSE;
1339 memcpy(&bta_dm_search_cb.uuid, &p_data->discover.uuid, sizeof(tSDP_UUID));
1357 bdcpy(di_disc.bd_addr, bta_dm_search_cb.peer_bdaddr);
1368 bta_dm_search_cb.p_search_cback(BTA_DM_DI_DISC_CMPL_EVT, (tBTA_DM_SEARCH *) &di_disc);
1410 if(BTM_IsInquiryActive()||(bta_dm_search_cb.state != BTA_DM_SEARCH_IDLE))
1424 else if (!bta_dm_search_cb.name_discover_done)
1438 bdcpy(di_disc.bd_addr, bta_dm_search_cb.peer_bdaddr);
1442 bta_dm_search_cb.p_search_cback(BTA_DM_DI_DISC_CMPL_EVT, NULL);
1446 if (bta_dm_search_cb.gatt_disc_active)
1448 bta_dm_cancel_gatt_discovery(bta_dm_search_cb.peer_bdaddr);
1468 bta_dm_search_cb.p_search_cback = p_data->di_disc.p_cback;
1469 bdcpy(bta_dm_search_cb.peer_bdaddr, p_data->di_disc.bd_addr);
1472 if((bta_dm_search_cb.p_sdp_db = (tSDP_DISCOVERY_DB *)GKI_getbuf(BTA_DM_SDP_DB_SIZE)) != NULL)
1474 if ( SDP_DiDiscover(bta_dm_search_cb.peer_bdaddr, p_data->di_disc.p_sdp_db,
1510 bdcpy(bta_dm_search_cb.peer_bdaddr, bd_addr);
1511 bta_dm_search_cb.peer_name[0] = 0;
1513 btm_status = BTM_ReadRemoteDeviceName (bta_dm_search_cb.peer_bdaddr,
1558 bta_dm_search_cb.p_search_cback(BTA_DM_INQ_CMPL_EVT, &data);
1560 if((bta_dm_search_cb.p_btm_inq_info = BTM_InqDbFirst()) != NULL)
1563 bta_dm_search_cb.name_discover_done = FALSE;
1564 bta_dm_search_cb.peer_name[0] = 0;
1565 bta_dm_discover_device(bta_dm_search_cb.p_btm_inq_info->results.remote_bd_addr);
1570 bta_dm_search_cb.services = 0;
1594 if( p_data->rem_name.result.disc_res.bd_name[0] && bta_dm_search_cb.p_btm_inq_info)
1596 bta_dm_search_cb.p_btm_inq_info->appl_knows_rem_name = TRUE;
1599 bta_dm_discover_device(bta_dm_search_cb.peer_bdaddr);
1650 tBT_UUID *p_uuid = bta_dm_search_cb.p_srvc_uuid;
1668 if( bta_dm_search_cb.service_index == (BTA_USER_SERVICE_ID+1) )
1670 p_sdp_rec = SDP_FindServiceUUIDInDb(bta_dm_search_cb.p_sdp_db, &bta_dm_search_cb.uuid, p_sdp_rec);
1674 bta_dm_search_cb.peer_scn = (UINT8) pe.params[0];
1680 service = bta_service_id_to_uuid_lkup_tbl[bta_dm_search_cb.service_index-1];
1681 p_sdp_rec = SDP_FindServiceInDb(bta_dm_search_cb.p_sdp_db, service, p_sdp_rec);
1685 if (bta_dm_search_cb.service_index == BTA_MAX_SERVICE_ID)
1687 if (bta_dm_search_cb.uuid_to_search != 0 && p_uuid != NULL)
1689 p_uuid += (bta_dm_search_cb.num_uuid - bta_dm_search_cb.uuid_to_search);
1698 p_sdp_rec = SDP_FindServiceInDb(bta_dm_search_cb.p_sdp_db,
1705 bdcpy (result.disc_ble_res.bd_addr, bta_dm_search_cb.peer_bdaddr);
1711 bta_dm_search_cb.p_search_cback(BTA_DM_DISC_BLE_RES_EVT, &result);
1715 if (bta_dm_search_cb.uuid_to_search > 0)
1726 bta_dm_search_cb.services != BTA_ALL_SERVICE_MASK) ||
1748 bta_dm_search_cb.services_found |=
1749 (tBTA_SERVICE_MASK)(BTA_SERVICE_ID_TO_SERVICE_MASK(bta_dm_search_cb.service_index-1));
1750 tmp_svc = bta_service_id_to_uuid_lkup_tbl[bta_dm_search_cb.service_index-1];
1758 if(bta_dm_search_cb.services == BTA_ALL_SERVICE_MASK &&
1759 bta_dm_search_cb.services_to_search == 0)
1762 if ( bta_dm_search_cb.service_index == BTA_BLE_SERVICE_ID &&
1763 bta_dm_search_cb.uuid_to_search > 0)
1764 bta_dm_search_cb.uuid_to_search --;
1766 if (bta_dm_search_cb.uuid_to_search == 0 ||
1767 bta_dm_search_cb.service_index != BTA_BLE_SERVICE_ID)
1769 bta_dm_search_cb.service_index++;
1775 while(bta_dm_search_cb.service_index <= BTA_MAX_SERVICE_ID);
1777 // GKI_freebuf(bta_dm_search_cb.p_sdp_db);
1778 // bta_dm_search_cb.p_sdp_db = NULL;
1779 APPL_TRACE_DEBUG("bta_dm_sdp_result services_found = %04x", bta_dm_search_cb.services_found);
1782 if(bta_dm_search_cb.services == BTA_ALL_SERVICE_MASK)
1789 p_sdp_rec = SDP_FindServiceInDb_128bit(bta_dm_search_cb.p_sdp_db, p_sdp_rec);
1801 if(bta_dm_search_cb.services_to_search)
1805 bta_dm_find_services(bta_dm_search_cb.peer_bdaddr);
1835 APPL_TRACE_DEBUG("bta_dm_sdp_result (raw_data used = 0x%x raw_data_ptr = 0x%x)\r\n",bta_dm_search_cb.p_sdp_db->raw_used, bta_dm_search_cb.p_sdp_db->raw_data);
1837 if ( bta_dm_search_cbbta_dm_search_cb.p_sdp_db->raw_used != 0 &&
1838 bta_dm_search_cb.p_sdp_db->raw_data != NULL) {
1840 p_msg->disc_result.result.disc_res.p_raw_data = GKI_getbuf(bta_dm_search_cb.p_sdp_db->raw_used);
1843 bta_dm_search_cb.p_sdp_db->raw_data,
1844 bta_dm_search_cb.p_sdp_db->raw_used );
1847 bta_dm_search_cb.p_sdp_db->raw_used;
1850 APPL_TRACE_DEBUG("bta_dm_sdp_result GKI Alloc failed to allocate %d bytes !!\r\n",bta_dm_search_cb.p_sdp_db->raw_used);
1853 bta_dm_search_cb.p_sdp_db->raw_data = NULL; //no need to free this - it is a global assigned.
1854 bta_dm_search_cb.p_sdp_db->raw_used = 0;
1855 bta_dm_search_cb.p_sdp_db->raw_size = 0;
1862 p_msg->disc_result.result.disc_res.services = bta_dm_search_cb.services_found;
1867 p_msg->disc_result.result.disc_res.result = (3 + bta_dm_search_cb.peer_scn);
1870 APPL_TRACE_EVENT(" Piggy back the SCN over result field SCN=%d", bta_dm_search_cb.peer_scn);
1873 bdcpy (p_msg->disc_result.result.disc_res.bd_addr, bta_dm_search_cb.peer_bdaddr);
1891 bta_dm_search_cb.wait_disc = FALSE;
1894 GKI_freebuf(bta_dm_search_cb.p_sdp_db);
1895 bta_dm_search_cb.p_sdp_db = NULL;
1903 p_msg->disc_result.result.disc_res.services = bta_dm_search_cb.services_found;
1904 bdcpy (p_msg->disc_result.result.disc_res.bd_addr, bta_dm_search_cb.peer_bdaddr);
1930 utl_freebuf((void **)&bta_dm_search_cb.p_srvc_uuid);
1936 bta_dm_search_cb.p_search_cback(BTA_DM_DISC_CMPL_EVT, NULL);
1956 if ((bta_dm_search_cb.services & ((BTA_ALL_SERVICE_MASK | BTA_USER_SERVICE_MASK ) & ~BTA_BLE_SERVICE_MASK)))
1958 bta_dm_search_cb.p_search_cback(BTA_DM_DISC_RES_EVT, &p_data->disc_result.result);
1981 bta_dm_search_cb.services,
1985 if (( !bta_dm_search_cb.services )
1986 ||(( bta_dm_search_cb.services ) && ( p_data->disc_result.result.disc_res.services )))
1988 bta_dm_search_cb.p_search_cback(BTA_DM_DISC_RES_EVT, &p_data->disc_result.result);
1992 if(!bta_dm_search_cb.wait_disc )
1996 if( bta_dm_search_cb.p_btm_inq_info )
2003 bta_dm_search_cb.sdp_results = TRUE;
2004 bta_dm_search_cb.search_timer.p_cback = (TIMER_CBACK*)&bta_dm_search_timer_cback;
2005 bta_sys_start_timer(&bta_dm_search_cb.search_timer, 0, 1000*(L2CAP_LINK_INACTIVITY_TOUT+1) );
2025 bta_dm_search_cb.wait_disc = FALSE;
2045 if(bta_dm_search_cb.p_sdp_db)
2047 GKI_freebuf(bta_dm_search_cb.p_sdp_db);
2048 bta_dm_search_cb.p_sdp_db = NULL;
2064 if(bta_dm_search_cb.p_search_queue)
2066 GKI_freebuf(bta_dm_search_cb.p_search_queue);
2069 bta_dm_search_cb.p_search_queue = (tBTA_DM_MSG *)GKI_getbuf(sizeof(tBTA_DM_API_SEARCH));
2070 memcpy(bta_dm_search_cb.p_search_queue, p_data, sizeof(tBTA_DM_API_SEARCH));
2085 if(bta_dm_search_cb.p_search_queue)
2087 GKI_freebuf(bta_dm_search_cb.p_search_queue);
2090 bta_dm_search_cb.p_search_queue = (tBTA_DM_MSG *)GKI_getbuf(sizeof(tBTA_DM_API_DISCOVER));
2091 memcpy(bta_dm_search_cb.p_search_queue, p_data, sizeof(tBTA_DM_API_DISCOVER));
2107 if(bta_dm_search_cb.p_search_queue)
2109 GKI_freebuf(bta_dm_search_cb.p_search_queue);
2110 bta_dm_search_cb.p_search_queue = NULL;
2128 if(bta_dm_search_cb.p_search_queue)
2130 bta_sys_sendmsg(bta_dm_search_cb.p_search_queue);
2131 bta_dm_search_cb.p_search_queue = NULL;
2149 if(bta_dm_search_cb.p_sdp_db)
2151 GKI_freebuf(bta_dm_search_cb.p_sdp_db);
2152 bta_dm_search_cb.p_sdp_db = NULL;
2171 if (bta_dm_search_cb.p_search_cback)
2173 bta_dm_search_cb.p_search_cback(BTA_DM_SEARCH_CANCEL_CMPL_EVT, NULL);
2175 if (!bta_dm_search_cb.name_discover_done)
2180 if (bta_dm_search_cb.gatt_disc_active)
2182 bta_dm_cancel_gatt_discovery(bta_dm_search_cb.peer_bdaddr);
2207 while(bta_dm_search_cb.service_index < BTA_MAX_SERVICE_ID)
2209 if( bta_dm_search_cb.services_to_search
2210 & (tBTA_SERVICE_MASK)(BTA_SERVICE_ID_TO_SERVICE_MASK(bta_dm_search_cb.service_index)))
2212 if((bta_dm_search_cb.p_sdp_db = (tSDP_DISCOVERY_DB *)GKI_getbuf(BTA_DM_SDP_DB_SIZE)) != NULL)
2214 APPL_TRACE_DEBUG("bta_dm_search_cb.services = %04x***********", bta_dm_search_cb.services);
2216 if(bta_dm_search_cb.services == BTA_ALL_SERVICE_MASK )
2218 APPL_TRACE_ERROR("services_to_search = %08x",bta_dm_search_cb.services_to_search);
2219 if (bta_dm_search_cb.services_to_search & BTA_RES_SERVICE_MASK)
2222 bta_dm_search_cb.services_to_search &= ~BTA_RES_SERVICE_MASK;
2227 bta_dm_search_cb.services_to_search = 0;
2234 if (bta_dm_search_cb.service_index == BTA_BLE_SERVICE_ID)
2236 if (bta_dm_search_cb.uuid_to_search > 0 && bta_dm_search_cb.p_srvc_uuid)
2239 (const void *)(bta_dm_search_cb.p_srvc_uuid + \
2240 bta_dm_search_cb.num_uuid - bta_dm_search_cb.uuid_to_search),
2243 bta_dm_search_cb.uuid_to_search -- ;
2246 uuid.uu.uuid16 = bta_service_id_to_uuid_lkup_tbl[bta_dm_search_cb.service_index];
2249 if (bta_dm_search_cb.uuid_to_search == 0)
2250 bta_dm_search_cb.services_to_search &=
2251 (tBTA_SERVICE_MASK)(~(BTA_SERVICE_ID_TO_SERVICE_MASK(bta_dm_search_cb.service_index)));
2258 bta_dm_search_cb.services_to_search &=
2259 (tBTA_SERVICE_MASK)(~(BTA_SERVICE_ID_TO_SERVICE_MASK(bta_dm_search_cb.service_index)));
2260 uuid.uu.uuid16 = bta_service_id_to_uuid_lkup_tbl[bta_dm_search_cb.service_index];
2274 if (bta_dm_search_cb.service_index == BTA_USER_SERVICE_ID)
2276 memcpy(&uuid, &bta_dm_search_cb.uuid, sizeof(tSDP_UUID));
2281 //SDP_InitDiscoveryDb (bta_dm_search_cb.p_sdp_db, BTA_DM_SDP_DB_SIZE, 1, &uuid, num_attrs, attr_list);
2282 SDP_InitDiscoveryDb (bta_dm_search_cb.p_sdp_db, BTA_DM_SDP_DB_SIZE, 1, &uuid, 0, NULL);
2286 bta_dm_search_cb.p_sdp_db->raw_data = g_disc_raw_data_buf;
2288 bta_dm_search_cb.p_sdp_db->raw_size = MAX_DISC_RAW_DATA_BUF;
2290 if (!SDP_ServiceSearchAttributeRequest (bd_addr, bta_dm_search_cb.p_sdp_db, &bta_dm_sdp_callback))
2294 GKI_freebuf(bta_dm_search_cb.p_sdp_db);
2295 bta_dm_search_cb.p_sdp_db = NULL;
2296 bta_dm_search_cb.service_index = BTA_MAX_SERVICE_ID;
2302 if ((bta_dm_search_cb.service_index == BTA_BLE_SERVICE_ID &&
2303 bta_dm_search_cb.uuid_to_search == 0) ||
2304 bta_dm_search_cb.service_index != BTA_BLE_SERVICE_ID)
2306 bta_dm_search_cb.service_index++;
2316 bta_dm_search_cb.service_index++;
2320 if(bta_dm_search_cb.service_index >= BTA_MAX_SERVICE_ID)
2325 p_msg->disc_result.result.disc_res.services = bta_dm_search_cb.services_found;
2326 bdcpy (p_msg->disc_result.result.disc_res.bd_addr, bta_dm_search_cb.peer_bdaddr);
2355 if((bta_dm_search_cb.p_btm_inq_info = BTM_InqDbNext(bta_dm_search_cb.p_btm_inq_info)) != NULL)
2357 bta_dm_search_cb.name_discover_done = FALSE;
2358 bta_dm_search_cb.peer_name[0] = 0;
2359 bta_dm_discover_device(bta_dm_search_cb.p_btm_inq_info->results.remote_bd_addr);
2364 bta_dm_search_cb.services = 0;
2392 if (bta_dm_search_cb.transport == BTA_TRANSPORT_UNKNOWN)
2399 transport = bta_dm_search_cb.transport;
2408 bdcpy(bta_dm_search_cb.peer_bdaddr, remote_bd_addr);
2411 bta_dm_search_cb.name_discover_done,
2412 bta_dm_search_cb.p_btm_inq_info
2414 if ( bta_dm_search_cb.p_btm_inq_info ) {
2417 bta_dm_search_cb.p_btm_inq_info->appl_knows_rem_name
2422 if ((!bta_dm_search_cb.name_discover_done)
2423 && (( bta_dm_search_cb.p_btm_inq_info == NULL )
2424 ||(bta_dm_search_cb.p_btm_inq_info && (!bta_dm_search_cb.p_btm_inq_info->appl_knows_rem_name))))
2426 if(bta_dm_read_remote_device_name(bta_dm_search_cb.peer_bdaddr, transport) == TRUE)
2433 bta_dm_search_cb.name_discover_done = TRUE;
2438 if ( bta_dm_search_cb.services )
2441 bta_dm_search_cb.service_index = 0;
2442 bta_dm_search_cb.services_found = 0;
2443 bta_dm_search_cb.services_to_search = bta_dm_search_cb.services;
2445 bta_dm_search_cb.uuid_to_search = bta_dm_search_cb.num_uuid;
2448 if ((bta_dm_search_cb.p_btm_inq_info != NULL) &&
2449 bta_dm_search_cb.services != BTA_USER_SERVICE_MASK
2450 &&(bta_dm_search_cb.sdp_search == FALSE))
2453 bta_dm_eir_search_services( &bta_dm_search_cb.p_btm_inq_info->results,
2454 &bta_dm_search_cb.services_to_search,
2455 &bta_dm_search_cb.services_found );
2459 if(bta_dm_search_cb.services_to_search)
2465 if (BTM_IsAclConnectionUp(bta_dm_search_cb.peer_bdaddr, BT_TRANSPORT_BR_EDR))
2466 bta_dm_search_cb.wait_disc = FALSE;
2468 bta_dm_search_cb.wait_disc = TRUE;
2471 if ( bta_dm_search_cb.p_btm_inq_info )
2474 bta_dm_search_cb.p_btm_inq_info,
2475 bta_dm_search_cb.p_btm_inq_info->results.device_type,
2476 bta_dm_search_cb.services_to_search
2480 if ( bta_dm_search_cb.p_btm_inq_info != NULL &&
2481 bta_dm_search_cb.p_btm_inq_info->results.device_type == BT_DEVICE_TYPE_BLE &&
2482 (bta_dm_search_cb.services_to_search & BTA_BLE_SERVICE_MASK))*/
2484 if (bta_dm_search_cb.services_to_search & BTA_BLE_SERVICE_MASK)
2488 bta_dm_search_cb.p_ble_rawdata = g_disc_raw_data_buf;
2490 bta_dm_search_cb.ble_raw_size = MAX_DISC_RAW_DATA_BUF;
2491 bta_dm_search_cb.ble_raw_used = 0;
2494 btm_dm_start_gatt_discovery(bta_dm_search_cb.peer_bdaddr);
2501 bta_dm_search_cb.sdp_results = FALSE;
2502 bta_dm_find_services(bta_dm_search_cb.peer_bdaddr);
2516 p_msg->disc_result.result.disc_res.services = bta_dm_search_cb.services_found;
2517 bdcpy (p_msg->disc_result.result.disc_res.bd_addr, bta_dm_search_cb.peer_bdaddr);
2519 (char*)bta_dm_search_cb.peer_name, (BD_NAME_LEN-1));
2590 if(bta_dm_search_cb.p_search_cback)
2591 bta_dm_search_cb.p_search_cback(BTA_DM_INQ_RES_EVT, &result);
2650 if (!bdcmp( bta_dm_search_cb.peer_bdaddr, bd_addr))
2666 btm_status = BTM_ReadRemoteDeviceName (bta_dm_search_cb.peer_bdaddr,
2705 bta_dm_search_cb.name_discover_done = TRUE;
2706 BCM_STRNCPY_S((char*)bta_dm_search_cb.peer_name, sizeof(BD_NAME), (char*)p_remote_name->remote_bd_name, (BD_NAME_LEN));
2707 bta_dm_search_cb.peer_name[BD_NAME_LEN]=0;
2712 if (bta_dm_search_cb.transport == BT_TRANSPORT_LE )
2714 GAP_BleReadPeerPrefConnParams (bta_dm_search_cb.peer_bdaddr);
2719 bdcpy (p_msg->result.disc_res.bd_addr, bta_dm_search_cb.peer_bdaddr);
3606 if(bta_dm_search_cb.wait_disc && !bdcmp(bta_dm_search_cb.peer_bdaddr, p_bda))
3608 bta_dm_search_cb.wait_disc = FALSE;
3610 if(bta_dm_search_cb.sdp_results)
3613 bta_sys_stop_timer(&bta_dm_search_cb.search_timer);
4019 char *p_name = (char *)bta_dm_search_cb.peer_name;
4024 if ((p_temp = BTM_SecReadDevName(bta_dm_search_cb.peer_bdaddr)) != NULL)
4776 if(bta_dm_search_cb.p_scan_cback)
4777 bta_dm_search_cb.p_scan_cback(BTA_DM_INQ_RES_EVT, &result);
4805 if (bta_dm_search_cb.p_scan_cback)
4807 bta_dm_search_cb.p_scan_cback(BTA_DM_INQ_CMPL_EVT, &data);
5180 bta_dm_search_cb.p_scan_cback = p_data->ble_observe.p_cback;
5187 if (bta_dm_search_cb.p_scan_cback)
5189 bta_dm_search_cb.p_scan_cback(BTA_DM_INQ_CMPL_EVT, &data);
5195 bta_dm_search_cb.p_scan_cback = NULL;
5798 if (bta_dm_search_cb.client_if == BTA_GATTS_INVALID_IF)
5816 tBT_UUID *p_uuid = bta_dm_search_cb.p_srvc_uuid +
5817 bta_dm_search_cb.num_uuid - bta_dm_search_cb.uuid_to_search;
5819 p_uuid = bta_dm_search_cb.p_srvc_uuid +
5820 bta_dm_search_cb.num_uuid - bta_dm_search_cb.uuid_to_search;
5845 if ( bta_dm_search_cb.ble_raw_used + sizeof(tBTA_GATT_ID) < bta_dm_search_cb.ble_raw_size )
5847 APPL_TRACE_DEBUG("ADDING BLE SERVICE uuid=0x%x, ble_ptr = 0x%x, ble_raw_used = 0x%x", service_id.uuid.uu.uuid16,bta_dm_search_cb.p_ble_rawdata,bta_dm_search_cb.ble_raw_used);
5849 if(bta_dm_search_cb.p_ble_rawdata)
5851 memcpy((bta_dm_search_cb.p_ble_rawdata + bta_dm_search_cb.ble_raw_used), &service_id,
5854 bta_dm_search_cb.ble_raw_used += sizeof(service_id);
5864 APPL_TRACE_ERROR("%s out of room to accomodate more service ids ble_raw_size = %d ble_raw_used = %d", __FUNCTION__,bta_dm_search_cb.ble_raw_size, bta_dm_search_cb.ble_raw_used );
5868 if ( bta_dm_search_cb.state != BTA_DM_SEARCH_IDLE)
5872 bdcpy (result.disc_ble_res.bd_addr, bta_dm_search_cb.peer_bdaddr);
5877 bta_dm_search_cb.p_search_cback(BTA_DM_DISC_BLE_RES_EVT, &result);
5896 if (bta_dm_search_cb.uuid_to_search > 0) bta_dm_search_cb.uuid_to_search --;
5898 if (status == BTA_GATT_OK && bta_dm_search_cb.uuid_to_search > 0)
5904 bta_dm_search_cb.uuid_to_search = 0;
5911 p_msg->disc_result.result.disc_res.services = bta_dm_search_cb.services_found;
5914 bdcpy (p_msg->disc_result.result.disc_res.bd_addr, bta_dm_search_cb.peer_bdaddr);
5922 if ( bta_dm_search_cb.ble_raw_used > 0 )
5924 p_msg->disc_result.result.disc_res.p_raw_data = GKI_getbuf(bta_dm_search_cb.ble_raw_used);
5927 bta_dm_search_cb.p_ble_rawdata,
5928 bta_dm_search_cb.ble_raw_used );
5930 p_msg->disc_result.result.disc_res.raw_data_size = bta_dm_search_cb.ble_raw_used;
5935 bta_dm_search_cb.p_ble_rawdata = 0;
5944 bta_sys_start_timer(&bta_dm_search_cb.gatt_close_timer, BTA_DM_DISC_CLOSE_TOUT_EVT,
5950 bta_dm_search_cb.conn_id = BTA_GATT_INVALID_CONN_ID;
5954 bta_dm_search_cb.gatt_disc_active = FALSE;
5971 if (bta_dm_search_cb.conn_id != BTA_GATT_INVALID_CONN_ID)
5972 BTA_GATTC_Close(bta_dm_search_cb.conn_id);
5974 bta_dm_search_cb.conn_id = BTA_GATT_INVALID_CONN_ID;
5989 bta_dm_search_cb.gatt_disc_active = TRUE;
5992 if (bdcmp(bta_dm_search_cb.pending_close_bda, bd_addr) == 0 &&
5993 bta_dm_search_cb.conn_id != BTA_GATT_INVALID_CONN_ID)
5995 memset(bta_dm_search_cb.pending_close_bda, 0, BD_ADDR_LEN);
5996 bta_sys_stop_timer(&bta_dm_search_cb.gatt_close_timer);
5997 btm_dm_start_disc_gatt_services(bta_dm_search_cb.conn_id);
6000 BTA_GATTC_Open(bta_dm_search_cb.client_if, bd_addr, TRUE, BTA_GATT_TRANSPORT_LE);
6014 if (bta_dm_search_cb.conn_id == BTA_GATT_INVALID_CONN_ID)
6016 BTA_GATTC_CancelOpen(bta_dm_search_cb.client_if, bd_addr, TRUE);
6019 bta_dm_gatt_disc_complete(bta_dm_search_cb.conn_id, (tBTA_GATT_STATUS) BTA_GATT_ERROR);
6036 p1 = bta_dm_search_cb.peer_bdaddr;
6040 bta_dm_search_cb.state,
6051 bta_dm_search_cb.conn_id = p_data->conn_id;
6081 bta_dm_search_cb.client_if = p_data->reg_oper.client_if;
6083 bta_dm_search_cb.client_if = BTA_GATTS_INVALID_IF;
6095 if ( bta_dm_search_cb.state != BTA_DM_SEARCH_IDLE)
6102 if ( (bta_dm_search_cb.state != BTA_DM_SEARCH_IDLE) &&
6103 !memcmp(p_data->close.remote_bda, bta_dm_search_cb.peer_bdaddr, BD_ADDR_LEN))