Home | History | Annotate | Download | only in gatt

Lines Matching defs:p_clcb

339     tBTA_GATTC_CLCB *p_clcb = NULL;
347 if ((p_clcb = bta_gattc_find_alloc_clcb(p_msg->api_conn.client_if,
351 bta_gattc_sm_execute(p_clcb, event, p_msg);
387 tBTA_GATTC_CLCB *p_clcb = NULL;
394 if ((p_clcb = bta_gattc_find_clcb_by_cif(p_msg->api_cancel_conn.client_if,
398 bta_gattc_sm_execute(p_clcb, event, p_msg);
457 void bta_gattc_cancel_open_error(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
464 if ( p_clcb && p_clcb->p_rcb && p_clcb->p_rcb->p_cback )
465 (*p_clcb->p_rcb->p_cback)(BTA_GATTC_CANCEL_OPEN_EVT, &cb_data);
477 void bta_gattc_open_error(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
483 bta_gattc_send_open_cback(p_clcb->p_rcb,
485 p_clcb->bda,
486 p_clcb->bta_conn_id,
487 p_clcb->transport,
499 void bta_gattc_open_fail(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
503 bta_gattc_send_open_cback(p_clcb->p_rcb,
505 p_clcb->bda,
506 p_clcb->bta_conn_id,
507 p_clcb->transport,
510 bta_gattc_clcb_dealloc(p_clcb);
522 void bta_gattc_open(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
527 if (!GATT_Connect(p_clcb->p_rcb->client_if, p_data->api_conn.remote_bda,
532 bta_gattc_sm_execute(p_clcb, BTA_GATTC_INT_OPEN_FAIL_EVT, p_data);
537 if (GATT_GetConnIdIfConnected(p_clcb->p_rcb->client_if,
539 &p_clcb->bta_conn_id,
542 gattc_data.int_conn.hdr.layer_specific = p_clcb->bta_conn_id;
544 bta_gattc_sm_execute(p_clcb, BTA_GATTC_INT_CONN_EVT, &gattc_data);
562 tBTA_GATTC_CLCB *p_clcb;
586 if ((p_clcb = bta_gattc_find_alloc_clcb(p_data->client_if, p_data->remote_bda,
589 gattc_data.hdr.layer_specific = p_clcb->bta_conn_id = conn_id;
592 bta_gattc_sm_execute(p_clcb, BTA_GATTC_INT_CONN_EVT, &gattc_data);
650 void bta_gattc_cancel_open_ok(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
655 if ( p_clcb->p_rcb->p_cback )
658 (*p_clcb->p_rcb->p_cback)(BTA_GATTC_CANCEL_OPEN_EVT, &cb_data);
661 bta_gattc_clcb_dealloc(p_clcb);
672 void bta_gattc_cancel_open(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
676 if (GATT_CancelConnect(p_clcb->p_rcb->client_if, p_data->api_cancel_conn.remote_bda, TRUE))
678 bta_gattc_sm_execute(p_clcb, BTA_GATTC_INT_CANCEL_OPEN_OK_EVT, p_data);
682 if ( p_clcb->p_rcb->p_cback )
685 (*p_clcb->p_rcb->p_cback)(BTA_GATTC_CANCEL_OPEN_EVT, &cb_data);
698 void bta_gattc_conn(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
701 APPL_TRACE_DEBUG("bta_gattc_conn server cache state=%d",p_clcb->p_srcb->state);
706 p_clcb->bta_conn_id = p_data->int_conn.hdr.layer_specific;
709 &gatt_if, p_clcb->bda, &p_clcb->transport);
712 p_clcb->p_srcb->connected = TRUE;
714 if (p_clcb->p_srcb->mtu == 0)
715 p_clcb->p_srcb->mtu = GATT_DEF_BLE_MTU_SIZE;
718 if (p_clcb->p_srcb->p_srvc_cache == NULL ||
719 p_clcb->p_srcb->state != BTA_GATTC_SERV_IDLE)
721 if (p_clcb->p_srcb->state == BTA_GATTC_SERV_IDLE)
723 p_clcb->p_srcb->state = BTA_GATTC_SERV_LOAD;
724 bta_gattc_sm_execute(p_clcb, BTA_GATTC_START_CACHE_EVT, NULL);
727 p_clcb->state = BTA_GATTC_DISCOVER_ST;
733 if (p_clcb->p_srcb->srvc_hdl_chg)
735 p_clcb->p_srcb->srvc_hdl_chg = FALSE;
737 bta_gattc_sm_execute(p_clcb, BTA_GATTC_INT_DISCOVER_EVT, NULL);
741 if (p_clcb->p_rcb)
744 if (p_clcb->transport == BTA_TRANSPORT_BR_EDR)
745 bta_sys_conn_open(BTA_ID_GATTC, BTA_ALL_APP_ID, p_clcb->bda);
747 bta_gattc_send_open_cback(p_clcb->p_rcb,
749 p_clcb->bda,
750 p_clcb->bta_conn_id,
751 p_clcb->transport,
752 p_clcb->p_srcb->mtu);
764 void bta_gattc_close_fail(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
768 if ( p_clcb->p_rcb->p_cback )
771 cb_data.close.client_if = p_clcb->p_rcb->client_if;
773 bdcpy(cb_data.close.remote_bda, p_clcb->bda);
778 (*p_clcb->p_rcb->p_cback)(BTA_GATTC_CLOSE_EVT, &cb_data);
790 void bta_gattc_close(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
792 tBTA_GATTC_CBACK *p_cback = p_clcb->p_rcb->p_cback;
793 tBTA_GATTC_RCB *p_clreg = p_clcb->p_rcb;
796 APPL_TRACE_DEBUG("bta_gattc_close conn_id=%d",p_clcb->bta_conn_id);
798 cb_data.close.client_if = p_clcb->p_rcb->client_if;
799 cb_data.close.conn_id = p_clcb->bta_conn_id;
800 cb_data.close.reason = p_clcb->reason;
801 cb_data.close.status = p_clcb->status;
802 bdcpy(cb_data.close.remote_bda, p_clcb->bda);
804 if (p_clcb->transport == BTA_TRANSPORT_BR_EDR)
805 bta_sys_conn_close( BTA_ID_GATTC ,BTA_ALL_APP_ID, p_clcb->bda);
807 bta_gattc_clcb_dealloc(p_clcb);
859 void bta_gattc_disc_close(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
862 p_clcb->bta_conn_id);
864 if (p_clcb->disc_active)
865 bta_gattc_reset_discover_st(p_clcb->p_srcb, BTA_GATT_ERROR);
867 p_clcb->state = BTA_GATTC_CONN_ST;
872 if (p_clcb->state == BTA_GATTC_CONN_ST)
876 bta_gattc_close(p_clcb, p_data);
917 void bta_gattc_restart_discover(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
921 p_clcb->status = BTA_GATT_CANCEL;
922 p_clcb->auto_update = BTA_GATTC_DISC_WAITING;
934 void bta_gattc_cfg_mtu(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
939 if (bta_gattc_enqueue(p_clcb, p_data))
941 status = GATTC_ConfigureMTU (p_clcb->bta_conn_id, p_data->api_mtu.mtu);
952 bta_gattc_sm_execute(p_clcb, BTA_GATTC_OP_CMPL_EVT, (tBTA_GATTC_DATA *)&op_cmpl);
965 void bta_gattc_start_discover(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
969 APPL_TRACE_DEBUG("bta_gattc_start_discover conn_id=%d p_clcb->p_srcb->state = %d ",
970 p_clcb->bta_conn_id, p_clcb->p_srcb->state);
972 if (((p_clcb->p_q_cmd == NULL || p_clcb->auto_update == BTA_GATTC_REQ_WAITING) &&
973 p_clcb->p_srcb->state == BTA_GATTC_SERV_IDLE) ||
974 p_clcb->p_srcb->state == BTA_GATTC_SERV_DISC)
977 p_clcb->auto_update = BTA_GATTC_NO_SCHEDULE;
979 if (p_clcb->p_srcb != NULL)
982 p_clcb->p_srcb->srvc_hdl_chg = FALSE;
983 p_clcb->p_srcb->update_count = 0;
984 p_clcb->p_srcb->state = BTA_GATTC_SERV_DISC_ACT;
986 if (p_clcb->transport == BTA_TRANSPORT_LE)
987 L2CA_EnableUpdateBleConnParams(p_clcb->p_srcb->server_bda, FALSE);
990 bta_gattc_set_discover_st(p_clcb->p_srcb);
992 if ((p_clcb->status = bta_gattc_init_cache(p_clcb->p_srcb)) == BTA_GATT_OK)
994 p_clcb->status = bta_gattc_discover_pri_service(p_clcb->bta_conn_id,
995 p_clcb->p_srcb, GATT_DISC_SRVC_ALL);
997 if (p_clcb->status != BTA_GATT_OK)
1000 bta_gattc_reset_discover_st(p_clcb->p_srcb, p_clcb->status);
1003 p_clcb->disc_active = TRUE;
1013 p_clcb->auto_update = BTA_GATTC_DISC_WAITING;
1015 if (p_clcb->p_srcb->state == BTA_GATTC_SERV_IDLE)
1016 p_clcb->state = BTA_GATTC_CONN_ST; /* set clcb state */
1029 void bta_gattc_disc_cmpl(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1031 tBTA_GATTC_DATA *p_q_cmd = p_clcb->p_q_cmd;
1034 APPL_TRACE_DEBUG("bta_gattc_disc_cmpl conn_id=%d",p_clcb->bta_conn_id);
1037 if(p_clcb->transport == BTA_TRANSPORT_LE)
1038 L2CA_EnableUpdateBleConnParams(p_clcb->p_srcb->server_bda, TRUE);
1040 p_clcb->p_srcb->state = BTA_GATTC_SERV_IDLE;
1041 p_clcb->disc_active = FALSE;
1043 if (p_clcb->status != GATT_SUCCESS)
1046 if(p_clcb->p_srcb && p_clcb->p_srcb->p_srvc_cache)
1048 while (!GKI_queue_is_empty(&p_clcb->p_srcb->cache_buffer))
1050 GKI_freebuf (GKI_dequeue (&p_clcb->p_srcb->cache_buffer));
1052 p_clcb->p_srcb->p_srvc_cache = NULL;
1056 bta_gattc_co_cache_reset(p_clcb->p_srcb->server_bda);
1059 utl_freebuf((void **)&p_clcb->p_srcb->p_srvc_list);
1061 if (p_clcb->auto_update == BTA_GATTC_DISC_WAITING)
1064 bta_gattc_sm_execute(p_clcb, BTA_GATTC_INT_DISCOVER_EVT, NULL);
1069 p_clcb->p_q_cmd = NULL;
1071 bta_gattc_sm_execute(p_clcb, p_q_cmd->hdr.event, p_q_cmd);
1074 * referenced by p_clcb->p_q_cmd
1076 if (p_q_cmd != p_clcb->p_q_cmd) {
1090 void bta_gattc_read(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1099 if (bta_gattc_enqueue(p_clcb, p_data))
1101 if ((handle = bta_gattc_id2handle(p_clcb->p_srcb,
1113 op_cmpl.status = GATTC_Read(p_clcb->bta_conn_id, GATT_READ_BY_HANDLE, &read_param);
1122 bta_gattc_sm_execute(p_clcb, BTA_GATTC_OP_CMPL_EVT, (tBTA_GATTC_DATA *)&op_cmpl);
1134 void bta_gattc_read_multi(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1142 if (bta_gattc_enqueue(p_clcb, p_data))
1154 handle = bta_gattc_id2handle(p_clcb->p_srcb,
1161 handle = bta_gattc_id2handle(p_clcb->p_srcb,
1182 status = GATTC_Read(p_clcb->bta_conn_id, GATT_READ_MULTIPLE, &read_param);
1194 bta_gattc_sm_execute(p_clcb, BTA_GATTC_OP_CMPL_EVT, (tBTA_GATTC_DATA *)&op_cmpl);
1207 void bta_gattc_write(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1214 if (bta_gattc_enqueue(p_clcb, p_data))
1216 if ((handle = bta_gattc_id2handle(p_clcb->p_srcb,
1233 status = GATTC_Write(p_clcb->bta_conn_id, p_data->api_write.write_type, &attr);
1245 bta_gattc_sm_execute(p_clcb, BTA_GATTC_OP_CMPL_EVT, (tBTA_GATTC_DATA *)&op_cmpl);
1257 void bta_gattc_execute(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1262 if (bta_gattc_enqueue(p_clcb, p_data))
1264 status = GATTC_ExecuteWrite(p_clcb->bta_conn_id, p_data->api_exec.is_execute);
1274 bta_gattc_sm_execute(p_clcb, BTA_GATTC_OP_CMPL_EVT, (tBTA_GATTC_DATA *)&op_cmpl);
1287 void bta_gattc_confirm(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1291 if ((handle = bta_gattc_id2handle(p_clcb->p_srcb,
1308 if (p_clcb->transport == BTA_TRANSPORT_BR_EDR)
1310 bta_sys_busy(BTA_ID_GATTC, BTA_ALL_APP_ID, p_clcb->bda);
1311 bta_sys_idle(BTA_ID_GATTC, BTA_ALL_APP_ID, p_clcb->bda);
1325 void bta_gattc_read_cmpl(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_OP_CMPL *p_data)
1338 if (bta_gattc_handle2id(p_clcb->p_srcb,
1350 cb_data.read.status = bta_gattc_pack_read_cb_data(p_clcb->p_srcb,
1359 cb_data.read.srvc_id = p_clcb->p_q_cmd->api_read.srvc_id;
1360 cb_data.read.char_id = p_clcb->p_q_cmd->api_read.char_id;
1361 if (p_clcb->p_q_cmd->api_read.p_descr_type)
1362 memcpy(&cb_data.read.descr_type, p_clcb->p_q_cmd->api_read.p_descr_type,
1366 event = (p_clcb->p_q_cmd->api_read.p_descr_type == NULL) ?
1368 cb_data.read.conn_id = p_clcb->bta_conn_id;
1370 utl_freebuf((void **)&p_clcb->p_q_cmd);
1372 ( *p_clcb->p_rcb->p_cback)(event, (tBTA_GATTC *)&cb_data);
1384 void bta_gattc_write_cmpl(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_OP_CMPL *p_data)
1395 bta_gattc_handle2id(p_clcb->p_srcb, p_data->p_cmpl->att_value.handle,
1401 memcpy(&cb_data.write.srvc_id, &p_clcb->p_q_cmd->api_write.srvc_id,
1403 memcpy(&cb_data.write.char_id, &p_clcb->p_q_cmd->api_write.char_id,
1405 if (p_clcb->p_q_cmd->api_write.p_descr_type)
1406 memcpy(&cb_data.write.descr_type, p_clcb->p_q_cmd->api_write.p_descr_type,
1410 if (p_clcb->p_q_cmd->api_write.hdr.event == BTA_GATTC_API_WRITE_EVT &&
1411 p_clcb->p_q_cmd->api_write.write_type == BTA_GATTC_WRITE_PREPARE)
1415 else if (p_clcb->p_q_cmd->api_write.p_descr_type == NULL)
1422 utl_freebuf((void **)&p_clcb->p_q_cmd);
1423 cb_data.write.conn_id = p_clcb->bta_conn_id;
1425 ( *p_clcb->p_rcb->p_cback)(event, (tBTA_GATTC *)&cb_data);
1437 void bta_gattc_exec_cmpl(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_OP_CMPL *p_data)
1441 utl_freebuf((void **)&p_clcb->p_q_cmd);
1443 p_clcb->status = BTA_GATT_OK;
1446 cb_data.exec_cmpl.conn_id = p_clcb->bta_conn_id;
1449 ( *p_clcb->p_rcb->p_cback)(BTA_GATTC_EXEC_EVT, &cb_data);
1462 void bta_gattc_cfg_mtu_cmpl(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_OP_CMPL *p_data)
1466 utl_freebuf((void **)&p_clcb->p_q_cmd);
1470 p_clcb->p_srcb->mtu = p_data->p_cmpl->mtu;
1473 p_clcb->status = p_data->status;
1474 cb_data.cfg_mtu.conn_id = p_clcb->bta_conn_id;
1476 cb_data.cfg_mtu.mtu = p_clcb->p_srcb->mtu;
1478 (*p_clcb->p_rcb->p_cback) (BTA_GATTC_CFG_MTU_EVT, &cb_data);
1490 void bta_gattc_op_cmpl(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1503 if (p_clcb->p_q_cmd == NULL)
1508 if (p_clcb->p_q_cmd->hdr.event != bta_gattc_opcode_to_int_evt[op - GATTC_OPTYPE_READ])
1510 mapped_op = p_clcb->p_q_cmd->hdr.event - BTA_GATTC_API_READ_EVT + GATTC_OPTYPE_READ;
1515 bta_gattc_op_code_name[mapped_op] , p_clcb->p_q_cmd->hdr.event,
1519 mapped_op , p_clcb->p_q_cmd->hdr.event, op);
1525 if (p_clcb->auto_update == BTA_GATTC_DISC_WAITING && p_clcb->p_srcb->srvc_hdl_chg)
1533 bta_gattc_read_cmpl(p_clcb, &p_data->op_cmpl);
1536 bta_gattc_write_cmpl(p_clcb, &p_data->op_cmpl);
1539 bta_gattc_exec_cmpl(p_clcb, &p_data->op_cmpl);
1542 bta_gattc_cfg_mtu_cmpl(p_clcb, &p_data->op_cmpl);
1544 if (p_clcb->auto_update == BTA_GATTC_DISC_WAITING)
1546 p_clcb->auto_update = BTA_GATTC_REQ_WAITING;
1547 bta_gattc_sm_execute(p_clcb, BTA_GATTC_INT_DISCOVER_EVT, NULL);
1560 void bta_gattc_ignore_op_cmpl(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1562 UNUSED(p_clcb);
1578 void bta_gattc_search(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1582 APPL_TRACE_DEBUG("bta_gattc_search conn_id=%d",p_clcb->bta_conn_id);
1583 if (p_clcb->p_srcb && p_clcb->p_srcb->p_srvc_cache)
1587 bta_gattc_search_service(p_clcb, p_data->api_search.p_srvc_uuid);
1590 cb_data.search_cmpl.conn_id = p_clcb->bta_conn_id;
1593 ( *p_clcb->p_rcb->p_cback)(BTA_GATTC_SEARCH_CMPL_EVT, &cb_data);
1605 void bta_gattc_q_cmd(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1607 bta_gattc_enqueue(p_clcb, p_data);
1618 void bta_gattc_cache_open(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1622 bta_gattc_set_discover_st(p_clcb->p_srcb);
1624 APPL_TRACE_DEBUG("bta_gattc_cache_open conn_id=%d",p_clcb->bta_conn_id);
1625 bta_gattc_co_cache_open(p_clcb->p_srcb->server_bda, BTA_GATTC_CI_CACHE_OPEN_EVT,
1626 p_clcb->bta_conn_id, FALSE);
1637 void bta_gattc_ci_open(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1640 p_clcb->bta_conn_id, p_clcb->p_srcb->state);
1641 if (p_clcb->p_srcb->state == BTA_GATTC_SERV_LOAD)
1645 p_clcb->p_srcb->attr_index = 0;
1646 bta_gattc_co_cache_load(p_clcb->p_srcb->server_bda,
1648 p_clcb->p_srcb->attr_index,
1649 p_clcb->bta_conn_id);
1653 p_clcb->p_srcb->state = BTA_GATTC_SERV_DISC;
1655 bta_gattc_start_discover(p_clcb, NULL);
1658 if (p_clcb->p_srcb->state == BTA_GATTC_SERV_SAVE)
1662 if (!bta_gattc_cache_save(p_clcb->p_srcb, p_clcb->bta_conn_id))
1669 p_clcb->p_srcb->attr_index = 0;
1670 bta_gattc_co_cache_close(p_clcb->p_srcb->server_bda, p_clcb->bta_conn_id);
1671 bta_gattc_reset_discover_st(p_clcb->p_srcb, p_clcb->status);
1685 void bta_gattc_ci_load(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1689 p_clcb->bta_conn_id, p_data->ci_load.status);
1695 bta_gattc_rebuild_cache(p_clcb->p_srcb, p_data->ci_load.num_attr,
1696 p_data->ci_load.attr, p_clcb->p_srcb->attr_index);
1700 p_clcb->p_srcb->attr_index = 0;
1701 bta_gattc_reset_discover_st(p_clcb->p_srcb, BTA_GATT_OK);
1702 bta_gattc_co_cache_close(p_clcb->p_srcb->server_bda, 0);
1706 p_clcb->p_srcb->attr_index += p_data->ci_load.num_attr;
1708 bta_gattc_co_cache_load(p_clcb->p_srcb->server_bda,
1710 p_clcb->p_srcb->attr_index,
1711 p_clcb->bta_conn_id);
1716 bta_gattc_co_cache_close(p_clcb->p_srcb->server_bda, 0);
1717 p_clcb->p_srcb->state = BTA_GATTC_SERV_DISC;
1718 p_clcb->p_srcb->attr_index = 0;
1720 bta_gattc_start_discover(p_clcb, NULL);
1732 void bta_gattc_ci_save(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1737 p_clcb->bta_conn_id );
1739 if (!bta_gattc_cache_save(p_clcb->p_srcb, p_clcb->bta_conn_id))
1741 p_clcb->p_srcb->attr_index = 0;
1742 bta_gattc_co_cache_close(p_clcb->p_srcb->server_bda, 0);
1743 bta_gattc_reset_discover_st(p_clcb->p_srcb, p_clcb->status);
1755 void bta_gattc_fail(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1759 if (p_clcb->status == BTA_GATT_OK)
1761 APPL_TRACE_ERROR("operation not supported at current state [%d]", p_clcb->state);
1856 tBTA_GATTC_CLCB *p_clcb = NULL;
1858 if ((p_clcb = bta_gattc_find_clcb_by_cif(gattc_if, bda, BTA_GATT_TRANSPORT_LE)) == NULL)
1880 p_buf->enc_cmpl.hdr.layer_specific = p_clcb->bta_conn_id;
1901 tBTA_GATTC_CLCB *p_clcb = &bta_gattc_cb.clcb[0];
1911 for (i = 0; i < BTA_GATTC_CLCB_MAX; i ++, p_clcb ++)
1913 if (p_clcb->in_use && p_clcb->p_srcb == p_srvc_cb)
1921 bta_gattc_sm_execute(p_clcb, BTA_GATTC_INT_DISCOVER_EVT, NULL);
1950 tBTA_GATTC_CLCB *p_clcb,
1977 if (p_clcb == NULL || (p_clcb && p_clcb->p_q_cmd != NULL))
1985 p_clcb = &bta_gattc_cb.clcb[i];
1994 if (p_clcb != NULL)
1995 bta_gattc_sm_execute(p_clcb, BTA_GATTC_INT_DISCOVER_EVT, NULL);
2017 void bta_gattc_proc_other_indication(tBTA_GATTC_CLCB *p_clcb, UINT8 op,
2028 bdcpy(p_notify->bda, p_clcb->bda);
2030 p_notify->conn_id = p_clcb->bta_conn_id;
2032 if (p_clcb->p_rcb->p_cback)
2033 (*p_clcb->p_rcb->p_cback)(BTA_GATTC_NOTIF_EVT, (tBTA_GATTC *)p_notify);
2048 tBTA_GATTC_CLCB *p_clcb ;
2080 p_clcb = bta_gattc_find_clcb_by_conn_id(conn_id);
2088 if (!bta_gattc_process_srvc_chg_ind(conn_id, p_clrcb, p_srcb, p_clcb, &notify, handle))
2094 if (p_clcb == NULL)
2096 if ((p_clcb = bta_gattc_clcb_alloc(gatt_if, remote_bda, transport)) != NULL)
2098 p_clcb->bta_conn_id = conn_id;
2099 p_clcb->transport = transport;
2101 bta_gattc_sm_execute(p_clcb, BTA_GATTC_INT_CONN_EVT, NULL);
2109 if (p_clcb != NULL)
2110 bta_gattc_proc_other_indication(p_clcb, op, p_data, &notify);
2140 tBTA_GATTC_CLCB *p_clcb ;
2154 else if ((p_clcb = bta_gattc_find_clcb_by_conn_id(conn_id)) == NULL)
2161 if (p_clcb->transport == BTA_TRANSPORT_BR_EDR)
2163 bta_sys_busy(BTA_ID_GATTC, BTA_ALL_APP_ID, p_clcb->bda);
2164 bta_sys_idle(BTA_ID_GATTC, BTA_ALL_APP_ID, p_clcb->bda);
2198 tBTA_GATTC_CLCB *p_clcb;
2201 if ((p_clcb = bta_gattc_find_clcb_by_conn_id(conn_id)) != NULL)
2203 if (p_clcb->p_rcb->p_cback)
2208 (*p_clcb->p_rcb->p_cback)(BTA_GATTC_CONGEST_EVT, &cb_data);
2225 tBTA_GATTC_CLCB *p_clcb = NULL;
2237 if ((p_clcb = bta_gattc_clcb_alloc(cif, remote_bda, BTA_GATT_TRANSPORT_LE)) != NULL)
2239 gattc_data.hdr.layer_specific = p_clcb->bta_conn_id = conn_id;
2245 bta_gattc_sm_execute(p_clcb, BTA_GATTC_API_OPEN_EVT, &gattc_data);