Home | History | Annotate | Download | only in gatt

Lines Matching defs:p_clcb

335     tBTA_GATTC_CLCB *p_clcb = NULL;
343 if ((p_clcb = bta_gattc_find_alloc_clcb(p_msg->api_conn.client_if,
347 bta_gattc_sm_execute(p_clcb, event, p_msg);
383 tBTA_GATTC_CLCB *p_clcb = NULL;
390 if ((p_clcb = bta_gattc_find_clcb_by_cif(p_msg->api_cancel_conn.client_if,
394 bta_gattc_sm_execute(p_clcb, event, p_msg);
453 void bta_gattc_cancel_open_error(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
460 if ( p_clcb && p_clcb->p_rcb && p_clcb->p_rcb->p_cback )
461 (*p_clcb->p_rcb->p_cback)(BTA_GATTC_CANCEL_OPEN_EVT, &cb_data);
473 void bta_gattc_open_error(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
479 bta_gattc_send_open_cback(p_clcb->p_rcb,
481 p_clcb->bda,
482 p_clcb->bta_conn_id,
483 p_clcb->transport,
495 void bta_gattc_open_fail(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
499 bta_gattc_send_open_cback(p_clcb->p_rcb,
501 p_clcb->bda,
502 p_clcb->bta_conn_id,
503 p_clcb->transport,
506 bta_gattc_clcb_dealloc(p_clcb);
518 void bta_gattc_open(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
523 if (!GATT_Connect(p_clcb->p_rcb->client_if, p_data->api_conn.remote_bda,
528 bta_gattc_sm_execute(p_clcb, BTA_GATTC_INT_OPEN_FAIL_EVT, p_data);
533 if (GATT_GetConnIdIfConnected(p_clcb->p_rcb->client_if,
535 &p_clcb->bta_conn_id,
538 gattc_data.int_conn.hdr.layer_specific = p_clcb->bta_conn_id;
540 bta_gattc_sm_execute(p_clcb, BTA_GATTC_INT_CONN_EVT, &gattc_data);
558 tBTA_GATTC_CLCB *p_clcb;
579 if ((p_clcb = bta_gattc_find_alloc_clcb(p_data->client_if, p_data->remote_bda,
582 gattc_data.hdr.layer_specific = p_clcb->bta_conn_id = conn_id;
585 bta_gattc_sm_execute(p_clcb, BTA_GATTC_INT_CONN_EVT, &gattc_data);
643 void bta_gattc_cancel_open_ok(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
648 if ( p_clcb->p_rcb->p_cback )
651 (*p_clcb->p_rcb->p_cback)(BTA_GATTC_CANCEL_OPEN_EVT, &cb_data);
654 bta_gattc_clcb_dealloc(p_clcb);
665 void bta_gattc_cancel_open(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
669 if (GATT_CancelConnect(p_clcb->p_rcb->client_if, p_data->api_cancel_conn.remote_bda, TRUE))
671 bta_gattc_sm_execute(p_clcb, BTA_GATTC_INT_CANCEL_OPEN_OK_EVT, p_data);
675 if ( p_clcb->p_rcb->p_cback )
678 (*p_clcb->p_rcb->p_cback)(BTA_GATTC_CANCEL_OPEN_EVT, &cb_data);
691 void bta_gattc_conn(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
694 APPL_TRACE_DEBUG("bta_gattc_conn server cache state=%d",p_clcb->p_srcb->state);
699 p_clcb->bta_conn_id = p_data->int_conn.hdr.layer_specific;
702 &gatt_if, p_clcb->bda, &p_clcb->transport);
705 p_clcb->p_srcb->connected = TRUE;
707 if (p_clcb->p_srcb->mtu == 0)
708 p_clcb->p_srcb->mtu = GATT_DEF_BLE_MTU_SIZE;
711 if (p_clcb->p_srcb->p_srvc_cache == NULL ||
712 p_clcb->p_srcb->state != BTA_GATTC_SERV_IDLE)
714 if (p_clcb->p_srcb->state == BTA_GATTC_SERV_IDLE)
716 p_clcb->p_srcb->state = BTA_GATTC_SERV_LOAD;
717 bta_gattc_sm_execute(p_clcb, BTA_GATTC_START_CACHE_EVT, NULL);
720 p_clcb->state = BTA_GATTC_DISCOVER_ST;
726 if (p_clcb->p_srcb->srvc_hdl_chg)
728 p_clcb->p_srcb->srvc_hdl_chg = FALSE;
730 bta_gattc_sm_execute(p_clcb, BTA_GATTC_INT_DISCOVER_EVT, NULL);
734 if (p_clcb->p_rcb)
737 if (p_clcb->transport == BTA_TRANSPORT_BR_EDR)
738 bta_sys_conn_open(BTA_ID_GATTC, BTA_ALL_APP_ID, p_clcb->bda);
740 bta_gattc_send_open_cback(p_clcb->p_rcb,
742 p_clcb->bda,
743 p_clcb->bta_conn_id,
744 p_clcb->transport,
745 p_clcb->p_srcb->mtu);
757 void bta_gattc_close_fail(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
761 if ( p_clcb->p_rcb->p_cback )
764 cb_data.close.client_if = p_clcb->p_rcb->client_if;
766 bdcpy(cb_data.close.remote_bda, p_clcb->bda);
771 (*p_clcb->p_rcb->p_cback)(BTA_GATTC_CLOSE_EVT, &cb_data);
783 void bta_gattc_close(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
785 tBTA_GATTC_CBACK *p_cback = p_clcb->p_rcb->p_cback;
786 tBTA_GATTC_RCB *p_clreg = p_clcb->p_rcb;
789 APPL_TRACE_DEBUG("bta_gattc_close conn_id=%d",p_clcb->bta_conn_id);
791 cb_data.close.client_if = p_clcb->p_rcb->client_if;
792 cb_data.close.conn_id = p_clcb->bta_conn_id;
793 cb_data.close.reason = p_clcb->reason;
794 cb_data.close.status = p_clcb->status;
795 bdcpy(cb_data.close.remote_bda, p_clcb->bda);
797 if (p_clcb->transport == BTA_TRANSPORT_BR_EDR)
798 bta_sys_conn_close( BTA_ID_GATTC ,BTA_ALL_APP_ID, p_clcb->bda);
800 bta_gattc_clcb_dealloc(p_clcb);
851 void bta_gattc_disc_close(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
853 APPL_TRACE_DEBUG("Discovery cancel conn_id=%d",p_clcb->bta_conn_id);
854 if (p_clcb->disc_active)
855 bta_gattc_reset_discover_st(p_clcb->p_srcb, BTA_GATT_ERROR);
857 p_clcb->state = BTA_GATTC_CONN_ST;
897 void bta_gattc_restart_discover(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
901 p_clcb->status = BTA_GATT_CANCEL;
902 p_clcb->auto_update = BTA_GATTC_DISC_WAITING;
914 void bta_gattc_cfg_mtu(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
919 if (bta_gattc_enqueue(p_clcb, p_data))
921 status = GATTC_ConfigureMTU (p_clcb->bta_conn_id, p_data->api_mtu.mtu);
932 bta_gattc_sm_execute(p_clcb, BTA_GATTC_OP_CMPL_EVT, (tBTA_GATTC_DATA *)&op_cmpl);
945 void bta_gattc_start_discover(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
949 APPL_TRACE_DEBUG("bta_gattc_start_discover conn_id=%d p_clcb->p_srcb->state = %d ",
950 p_clcb->bta_conn_id, p_clcb->p_srcb->state);
952 if (((p_clcb->p_q_cmd == NULL || p_clcb->auto_update == BTA_GATTC_REQ_WAITING) &&
953 p_clcb->p_srcb->state == BTA_GATTC_SERV_IDLE) ||
954 p_clcb->p_srcb->state == BTA_GATTC_SERV_DISC)
957 p_clcb->auto_update = BTA_GATTC_NO_SCHEDULE;
959 if (p_clcb->p_srcb != NULL)
962 p_clcb->p_srcb->srvc_hdl_chg = FALSE;
963 p_clcb->p_srcb->update_count = 0;
964 p_clcb->p_srcb->state = BTA_GATTC_SERV_DISC_ACT;
966 if (p_clcb->transport == BTA_TRANSPORT_LE)
967 L2CA_EnableUpdateBleConnParams(p_clcb->p_srcb->server_bda, FALSE);
970 bta_gattc_set_discover_st(p_clcb->p_srcb);
972 if ((p_clcb->status = bta_gattc_init_cache(p_clcb->p_srcb)) == BTA_GATT_OK)
974 p_clcb->status = bta_gattc_discover_pri_service(p_clcb->bta_conn_id,
975 p_clcb->p_srcb, GATT_DISC_SRVC_ALL);
977 if (p_clcb->status != BTA_GATT_OK)
980 bta_gattc_reset_discover_st(p_clcb->p_srcb, p_clcb->status);
983 p_clcb->disc_active = TRUE;
993 p_clcb->auto_update = BTA_GATTC_DISC_WAITING;
995 if (p_clcb->p_srcb->state == BTA_GATTC_SERV_IDLE)
996 p_clcb->state = BTA_GATTC_CONN_ST; /* set clcb state */
1009 void bta_gattc_disc_cmpl(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1011 tBTA_GATTC_DATA *p_q_cmd = p_clcb->p_q_cmd;
1014 APPL_TRACE_DEBUG("bta_gattc_disc_cmpl conn_id=%d",p_clcb->bta_conn_id);
1017 if(p_clcb->transport == BTA_TRANSPORT_LE)
1018 L2CA_EnableUpdateBleConnParams(p_clcb->p_srcb->server_bda, TRUE);
1020 p_clcb->p_srcb->state = BTA_GATTC_SERV_IDLE;
1021 p_clcb->disc_active = FALSE;
1023 if (p_clcb->status != GATT_SUCCESS)
1026 if(p_clcb->p_srcb && p_clcb->p_srcb->p_srvc_cache)
1028 while (p_clcb->p_srcb->cache_buffer.p_first)
1030 GKI_freebuf (GKI_dequeue (&p_clcb->p_srcb->cache_buffer));
1032 p_clcb->p_srcb->p_srvc_cache = NULL;
1036 bta_gattc_co_cache_reset(p_clcb->p_srcb->server_bda);
1039 utl_freebuf((void **)&p_clcb->p_srcb->p_srvc_list);
1041 if (p_clcb->auto_update == BTA_GATTC_DISC_WAITING)
1044 bta_gattc_sm_execute(p_clcb, BTA_GATTC_INT_DISCOVER_EVT, NULL);
1049 p_clcb->p_q_cmd = NULL;
1051 bta_gattc_sm_execute(p_clcb, p_q_cmd->hdr.event, p_q_cmd);
1054 * referenced by p_clcb->p_q_cmd
1056 if (p_q_cmd != p_clcb->p_q_cmd) {
1070 void bta_gattc_read(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1079 if (bta_gattc_enqueue(p_clcb, p_data))
1081 if ((handle = bta_gattc_id2handle(p_clcb->p_srcb,
1093 op_cmpl.status = GATTC_Read(p_clcb->bta_conn_id, GATT_READ_BY_HANDLE, &read_param);
1102 bta_gattc_sm_execute(p_clcb, BTA_GATTC_OP_CMPL_EVT, (tBTA_GATTC_DATA *)&op_cmpl);
1114 void bta_gattc_read_multi(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1122 if (bta_gattc_enqueue(p_clcb, p_data))
1134 handle = bta_gattc_id2handle(p_clcb->p_srcb,
1141 handle = bta_gattc_id2handle(p_clcb->p_srcb,
1162 status = GATTC_Read(p_clcb->bta_conn_id, GATT_READ_MULTIPLE, &read_param);
1174 bta_gattc_sm_execute(p_clcb, BTA_GATTC_OP_CMPL_EVT, (tBTA_GATTC_DATA *)&op_cmpl);
1187 void bta_gattc_write(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1194 if (bta_gattc_enqueue(p_clcb, p_data))
1196 if ((handle = bta_gattc_id2handle(p_clcb->p_srcb,
1213 status = GATTC_Write(p_clcb->bta_conn_id, p_data->api_write.write_type, &attr);
1225 bta_gattc_sm_execute(p_clcb, BTA_GATTC_OP_CMPL_EVT, (tBTA_GATTC_DATA *)&op_cmpl);
1237 void bta_gattc_execute(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1242 if (bta_gattc_enqueue(p_clcb, p_data))
1244 status = GATTC_ExecuteWrite(p_clcb->bta_conn_id, p_data->api_exec.is_execute);
1254 bta_gattc_sm_execute(p_clcb, BTA_GATTC_OP_CMPL_EVT, (tBTA_GATTC_DATA *)&op_cmpl);
1267 void bta_gattc_confirm(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1271 if ((handle = bta_gattc_id2handle(p_clcb->p_srcb,
1288 if (p_clcb->transport == BTA_TRANSPORT_BR_EDR)
1290 bta_sys_busy(BTA_ID_GATTC, BTA_ALL_APP_ID, p_clcb->bda);
1291 bta_sys_idle(BTA_ID_GATTC, BTA_ALL_APP_ID, p_clcb->bda);
1305 void bta_gattc_read_cmpl(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_OP_CMPL *p_data)
1318 if (bta_gattc_handle2id(p_clcb->p_srcb,
1330 cb_data.read.status = bta_gattc_pack_read_cb_data(p_clcb->p_srcb,
1339 cb_data.read.srvc_id = p_clcb->p_q_cmd->api_read.srvc_id;
1340 cb_data.read.char_id = p_clcb->p_q_cmd->api_read.char_id;
1341 if (p_clcb->p_q_cmd->api_read.p_descr_type)
1342 memcpy(&cb_data.read.descr_type, p_clcb->p_q_cmd->api_read.p_descr_type,
1346 event = (p_clcb->p_q_cmd->api_read.p_descr_type == NULL) ?
1348 cb_data.read.conn_id = p_clcb->bta_conn_id;
1350 utl_freebuf((void **)&p_clcb->p_q_cmd);
1352 ( *p_clcb->p_rcb->p_cback)(event, (tBTA_GATTC *)&cb_data);
1364 void bta_gattc_write_cmpl(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_OP_CMPL *p_data)
1375 bta_gattc_handle2id(p_clcb->p_srcb, p_data->p_cmpl->handle,
1381 memcpy(&cb_data.write.srvc_id, &p_clcb->p_q_cmd->api_write.srvc_id,
1383 memcpy(&cb_data.write.char_id, &p_clcb->p_q_cmd->api_write.char_id,
1385 if (p_clcb->p_q_cmd->api_write.p_descr_type)
1386 memcpy(&cb_data.write.descr_type, p_clcb->p_q_cmd->api_write.p_descr_type,
1390 if (p_clcb->p_q_cmd->api_write.hdr.event == BTA_GATTC_API_WRITE_EVT &&
1391 p_clcb->p_q_cmd->api_write.write_type == BTA_GATTC_WRITE_PREPARE)
1395 else if (p_clcb->p_q_cmd->api_write.p_descr_type == NULL)
1402 utl_freebuf((void **)&p_clcb->p_q_cmd);
1403 cb_data.write.conn_id = p_clcb->bta_conn_id;
1405 ( *p_clcb->p_rcb->p_cback)(event, (tBTA_GATTC *)&cb_data);
1417 void bta_gattc_exec_cmpl(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_OP_CMPL *p_data)
1421 utl_freebuf((void **)&p_clcb->p_q_cmd);
1423 p_clcb->status = BTA_GATT_OK;
1426 cb_data.exec_cmpl.conn_id = p_clcb->bta_conn_id;
1429 ( *p_clcb->p_rcb->p_cback)(BTA_GATTC_EXEC_EVT, &cb_data);
1442 void bta_gattc_cfg_mtu_cmpl(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_OP_CMPL *p_data)
1446 utl_freebuf((void **)&p_clcb->p_q_cmd);
1450 p_clcb->p_srcb->mtu = p_data->p_cmpl->mtu;
1453 p_clcb->status = p_data->status;
1454 cb_data.cfg_mtu.conn_id = p_clcb->bta_conn_id;
1456 cb_data.cfg_mtu.mtu = p_clcb->p_srcb->mtu;
1458 (*p_clcb->p_rcb->p_cback) (BTA_GATTC_CFG_MTU_EVT, &cb_data);
1470 void bta_gattc_op_cmpl(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1483 if (p_clcb->p_q_cmd == NULL)
1488 if (p_clcb->p_q_cmd->hdr.event != bta_gattc_opcode_to_int_evt[op - GATTC_OPTYPE_READ])
1490 mapped_op = p_clcb->p_q_cmd->hdr.event - BTA_GATTC_API_READ_EVT + GATTC_OPTYPE_READ;
1495 p_clcb->p_q_cmd->hdr.event,
1499 mapped_op , p_clcb->p_q_cmd->hdr.event, op);
1505 if (p_clcb->auto_update == BTA_GATTC_DISC_WAITING && p_clcb->p_srcb->srvc_hdl_chg)
1513 bta_gattc_read_cmpl(p_clcb, &p_data->op_cmpl);
1516 bta_gattc_write_cmpl(p_clcb, &p_data->op_cmpl);
1519 bta_gattc_exec_cmpl(p_clcb, &p_data->op_cmpl);
1522 bta_gattc_cfg_mtu_cmpl(p_clcb, &p_data->op_cmpl);
1524 if (p_clcb->auto_update == BTA_GATTC_DISC_WAITING)
1526 p_clcb->auto_update = BTA_GATTC_REQ_WAITING;
1527 bta_gattc_sm_execute(p_clcb, BTA_GATTC_INT_DISCOVER_EVT, NULL);
1540 void bta_gattc_ignore_op_cmpl(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1542 UNUSED(p_clcb);
1558 void bta_gattc_search(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1562 APPL_TRACE_DEBUG("bta_gattc_search conn_id=%d",p_clcb->bta_conn_id);
1563 if (p_clcb->p_srcb && p_clcb->p_srcb->p_srvc_cache)
1567 bta_gattc_search_service(p_clcb, p_data->api_search.p_srvc_uuid);
1570 cb_data.search_cmpl.conn_id = p_clcb->bta_conn_id;
1573 ( *p_clcb->p_rcb->p_cback)(BTA_GATTC_SEARCH_CMPL_EVT, &cb_data);
1585 void bta_gattc_q_cmd(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1587 bta_gattc_enqueue(p_clcb, p_data);
1598 void bta_gattc_cache_open(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1602 bta_gattc_set_discover_st(p_clcb->p_srcb);
1604 APPL_TRACE_DEBUG("bta_gattc_cache_open conn_id=%d",p_clcb->bta_conn_id);
1605 bta_gattc_co_cache_open(p_clcb->p_srcb->server_bda, BTA_GATTC_CI_CACHE_OPEN_EVT,
1606 p_clcb->bta_conn_id, FALSE);
1617 void bta_gattc_ci_open(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1620 p_clcb->bta_conn_id, p_clcb->p_srcb->state);
1621 if (p_clcb->p_srcb->state == BTA_GATTC_SERV_LOAD)
1625 p_clcb->p_srcb->attr_index = 0;
1626 bta_gattc_co_cache_load(p_clcb->p_srcb->server_bda,
1628 p_clcb->p_srcb->attr_index,
1629 p_clcb->bta_conn_id);
1633 p_clcb->p_srcb->state = BTA_GATTC_SERV_DISC;
1635 bta_gattc_start_discover(p_clcb, NULL);
1638 if (p_clcb->p_srcb->state == BTA_GATTC_SERV_SAVE)
1642 if (!bta_gattc_cache_save(p_clcb->p_srcb, p_clcb->bta_conn_id))
1649 p_clcb->p_srcb->attr_index = 0;
1650 bta_gattc_co_cache_close(p_clcb->p_srcb->server_bda, p_clcb->bta_conn_id);
1651 bta_gattc_reset_discover_st(p_clcb->p_srcb, p_clcb->status);
1665 void bta_gattc_ci_load(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1669 p_clcb->bta_conn_id, p_data->ci_load.status);
1675 bta_gattc_rebuild_cache(p_clcb->p_srcb, p_data->ci_load.num_attr,
1676 p_data->ci_load.attr, p_clcb->p_srcb->attr_index);
1680 p_clcb->p_srcb->attr_index = 0;
1681 bta_gattc_reset_discover_st(p_clcb->p_srcb, BTA_GATT_OK);
1682 bta_gattc_co_cache_close(p_clcb->p_srcb->server_bda, 0);
1686 p_clcb->p_srcb->attr_index += p_data->ci_load.num_attr;
1688 bta_gattc_co_cache_load(p_clcb->p_srcb->server_bda,
1690 p_clcb->p_srcb->attr_index,
1691 p_clcb->bta_conn_id);
1696 bta_gattc_co_cache_close(p_clcb->p_srcb->server_bda, 0);
1697 p_clcb->p_srcb->state = BTA_GATTC_SERV_DISC;
1698 p_clcb->p_srcb->attr_index = 0;
1700 bta_gattc_start_discover(p_clcb, NULL);
1712 void bta_gattc_ci_save(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1717 p_clcb->bta_conn_id );
1719 if (!bta_gattc_cache_save(p_clcb->p_srcb, p_clcb->bta_conn_id))
1721 p_clcb->p_srcb->attr_index = 0;
1722 bta_gattc_co_cache_close(p_clcb->p_srcb->server_bda, 0);
1723 bta_gattc_reset_discover_st(p_clcb->p_srcb, p_clcb->status);
1735 void bta_gattc_fail(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
1739 if (p_clcb->status == BTA_GATT_OK)
1741 APPL_TRACE_ERROR("operation not supported at current state [%d]", p_clcb->state);
1829 tBTA_GATTC_CLCB *p_clcb = NULL;
1831 if ((p_clcb = bta_gattc_find_clcb_by_cif(gattc_if, bda, BTA_GATT_TRANSPORT_LE)) == NULL)
1853 p_buf->enc_cmpl.hdr.layer_specific = p_clcb->bta_conn_id;
1874 tBTA_GATTC_CLCB *p_clcb = &bta_gattc_cb.clcb[0];
1884 for (i = 0; i < BTA_GATTC_CLCB_MAX; i ++, p_clcb ++)
1886 if (p_clcb->in_use && p_clcb->p_srcb == p_srvc_cb)
1894 bta_gattc_sm_execute(p_clcb, BTA_GATTC_INT_DISCOVER_EVT, NULL);
1923 tBTA_GATTC_CLCB *p_clcb,
1950 if (p_clcb == NULL || (p_clcb && p_clcb->p_q_cmd != NULL))
1958 p_clcb = &bta_gattc_cb.clcb[i];
1967 if (p_clcb != NULL)
1968 bta_gattc_sm_execute(p_clcb, BTA_GATTC_INT_DISCOVER_EVT, NULL);
1990 void bta_gattc_proc_other_indication(tBTA_GATTC_CLCB *p_clcb, UINT8 op,
2001 bdcpy(p_notify->bda, p_clcb->bda);
2003 p_notify->conn_id = p_clcb->bta_conn_id;
2005 if (p_clcb->p_rcb->p_cback)
2006 (*p_clcb->p_rcb->p_cback)(BTA_GATTC_NOTIF_EVT, (tBTA_GATTC *)p_notify);
2021 tBTA_GATTC_CLCB *p_clcb ;
2047 p_clcb = bta_gattc_find_clcb_by_conn_id(conn_id);
2055 if (!bta_gattc_process_srvc_chg_ind(conn_id, p_clrcb, p_srcb, p_clcb, &notify, handle))
2061 if (p_clcb == NULL)
2063 if ((p_clcb = bta_gattc_clcb_alloc(gatt_if, remote_bda, transport)) != NULL)
2065 p_clcb->bta_conn_id = conn_id;
2066 p_clcb->transport = transport;
2068 bta_gattc_sm_execute(p_clcb, BTA_GATTC_INT_CONN_EVT, NULL);
2076 if (p_clcb != NULL)
2077 bta_gattc_proc_other_indication(p_clcb, op, p_data, &notify);
2105 tBTA_GATTC_CLCB *p_clcb ;
2119 else if ((p_clcb = bta_gattc_find_clcb_by_conn_id(conn_id)) == NULL)
2126 if (p_clcb->transport == BTA_TRANSPORT_BR_EDR)
2128 bta_sys_busy(BTA_ID_GATTC, BTA_ALL_APP_ID, p_clcb->bda);
2129 bta_sys_idle(BTA_ID_GATTC, BTA_ALL_APP_ID, p_clcb->bda);
2163 tBTA_GATTC_CLCB *p_clcb;
2166 if ((p_clcb = bta_gattc_find_clcb_by_conn_id(conn_id)) != NULL)
2168 if (p_clcb->p_rcb->p_cback)
2173 (*p_clcb->p_rcb->p_cback)(BTA_GATTC_CONGEST_EVT, &cb_data);
2190 tBTA_GATTC_CLCB *p_clcb = NULL;
2202 if ((p_clcb = bta_gattc_clcb_alloc(cif, remote_bda, BTA_GATT_TRANSPORT_LE)) != NULL)
2204 gattc_data.hdr.layer_specific = p_clcb->bta_conn_id = conn_id;
2210 bta_gattc_sm_execute(p_clcb, BTA_GATTC_API_OPEN_EVT, &gattc_data);