Home | History | Annotate | Download | only in gatt

Lines Matching defs:p_clcb

51 static void gatt_cl_start_config_ccc(tGATT_PROFILE_CLCB *p_clcb);
93 tGATT_PROFILE_CLCB *p_clcb = NULL;
95 for (i_clcb = 0, p_clcb= gatt_cb.profile_clcb; i_clcb < GATT_MAX_APPS; i_clcb++, p_clcb++)
97 if (p_clcb->in_use && p_clcb->conn_id == conn_id)
98 return p_clcb;
116 tGATT_PROFILE_CLCB *p_clcb = NULL;
118 for (i_clcb = 0, p_clcb= gatt_cb.profile_clcb; i_clcb < GATT_MAX_APPS; i_clcb++, p_clcb++)
120 if (p_clcb->in_use && p_clcb->transport == transport &&
121 p_clcb->connected && !memcmp(p_clcb->bda, bda, BD_ADDR_LEN))
122 return p_clcb;
140 tGATT_PROFILE_CLCB *p_clcb = NULL;
142 for (i_clcb = 0, p_clcb= gatt_cb.profile_clcb; i_clcb < GATT_MAX_APPS; i_clcb++, p_clcb++)
144 if (!p_clcb->in_use)
146 p_clcb->in_use = TRUE;
147 p_clcb->conn_id = conn_id;
148 p_clcb->connected = TRUE;
149 p_clcb->transport = tranport;
150 memcpy (p_clcb->bda, bda, BD_ADDR_LEN);
155 return p_clcb;
169 void gatt_profile_clcb_dealloc (tGATT_PROFILE_CLCB *p_clcb)
171 memset(p_clcb, 0, sizeof(tGATT_PROFILE_CLCB));
242 tGATT_PROFILE_CLCB *p_clcb = gatt_profile_find_clcb_by_bd_addr(bda, transport);
243 if (p_clcb == NULL)
248 p_clcb->conn_id = conn_id;
249 p_clcb->connected = TRUE;
251 if (p_clcb->ccc_stage == GATT_SVC_CHANGED_CONNECTING)
253 p_clcb->ccc_stage ++;
254 gatt_cl_start_config_ccc(p_clcb);
257 gatt_profile_clcb_dealloc(p_clcb);
311 static void gatt_config_ccc_complete(tGATT_PROFILE_CLCB *p_clcb)
313 GATT_Disconnect(p_clcb->conn_id);
314 gatt_profile_clcb_dealloc(p_clcb);
328 tGATT_PROFILE_CLCB *p_clcb = gatt_profile_find_clcb_by_conn_id(conn_id);
330 if (p_clcb == NULL)
336 p_clcb->e_handle = p_data->value.group_value.e_handle;
337 p_clcb->ccc_result ++;
341 p_clcb->s_handle = p_data->value.dclr_value.val_handle;
342 p_clcb->ccc_result ++;
348 p_clcb->s_handle = p_data->handle;
349 p_clcb->ccc_result ++;
366 tGATT_PROFILE_CLCB *p_clcb = gatt_profile_find_clcb_by_conn_id(conn_id);
368 if (p_clcb == NULL)
371 if (status == GATT_SUCCESS && p_clcb->ccc_result > 0)
373 p_clcb->ccc_result = 0;
374 p_clcb->ccc_stage ++;
375 gatt_cl_start_config_ccc(p_clcb);
379 gatt_config_ccc_complete (p_clcb);
395 tGATT_PROFILE_CLCB *p_clcb = gatt_profile_find_clcb_by_conn_id(conn_id);
397 if (p_clcb == NULL)
406 gatt_config_ccc_complete (p_clcb);
418 static void gatt_cl_start_config_ccc(tGATT_PROFILE_CLCB *p_clcb)
423 GATT_TRACE_DEBUG("%s() - stage: %d", __FUNCTION__, p_clcb->ccc_stage);
428 switch(p_clcb->ccc_stage)
435 if (GATTC_Discover (p_clcb->conn_id, GATT_DISC_SRVC_BY_UUID, &srvc_disc_param) != GATT_SUCCESS)
438 gatt_config_ccc_complete(p_clcb);
444 srvc_disc_param.e_handle = p_clcb->e_handle;
447 if (GATTC_Discover (p_clcb->conn_id, GATT_DISC_CHAR, &srvc_disc_param) != GATT_SUCCESS)
450 gatt_config_ccc_complete(p_clcb);
455 srvc_disc_param.s_handle = p_clcb->s_handle;
456 srvc_disc_param.e_handle = p_clcb->e_handle;
457 if (GATTC_Discover (p_clcb->conn_id, GATT_DISC_CHAR_DSCPT, &srvc_disc_param) != GATT_SUCCESS)
460 gatt_config_ccc_complete(p_clcb);
465 ccc_value.handle = p_clcb->s_handle;
468 if (GATTC_Write (p_clcb->conn_id, GATT_WRITE, &ccc_value) != GATT_SUCCESS)
471 gatt_config_ccc_complete(p_clcb);
489 tGATT_PROFILE_CLCB *p_clcb = gatt_profile_find_clcb_by_bd_addr (remote_bda, transport);
491 if (p_clcb == NULL)
492 p_clcb = gatt_profile_clcb_alloc (0, remote_bda, transport);
494 if (p_clcb == NULL)
497 if (GATT_GetConnIdIfConnected (gatt_cb.gatt_if, remote_bda, &p_clcb->conn_id, transport))
499 p_clcb->connected = TRUE;
503 p_clcb->ccc_stage = GATT_SVC_CHANGED_CONNECTING;
505 if (!p_clcb->connected)
511 p_clcb->ccc_stage ++;
512 gatt_cl_start_config_ccc(p_clcb);