Home | History | Annotate | Download | only in ag

Lines Matching refs:p_scb

94 typedef void (*tBTA_AG_ACTION)(tBTA_AG_SCB *p_scb, tBTA_AG_DATA *p_data);
310 tBTA_AG_SCB *p_scb = &bta_ag_cb.scb[0];
313 for (i = 0; i < BTA_AG_NUM_SCB; i++, p_scb++)
315 if (!p_scb->in_use)
318 p_scb->in_use = TRUE;
319 p_scb->sco_idx = BTM_INVALID_SCO_INDEX;
322 p_scb->act_timer.param = (UINT32) p_scb;
323 p_scb->act_timer.p_cback = bta_ag_timer_cback;
325 APPL_TRACE_DEBUG1("bta_ag_scb_alloc %d", bta_ag_scb_to_idx(p_scb));
333 p_scb = NULL;
336 return p_scb;
349 void bta_ag_scb_dealloc(tBTA_AG_SCB *p_scb)
354 APPL_TRACE_DEBUG1("bta_ag_scb_dealloc %d", bta_ag_scb_to_idx(p_scb));
357 bta_sys_stop_timer(&p_scb->act_timer);
359 bta_sys_stop_timer(&p_scb->cn_timer);
363 memset(p_scb, 0, sizeof(tBTA_AG_SCB));
364 p_scb->sco_idx = BTM_INVALID_SCO_INDEX;
396 UINT16 bta_ag_scb_to_idx(tBTA_AG_SCB *p_scb)
399 return ((UINT16) (p_scb - bta_ag_cb.scb)) + 1;
414 tBTA_AG_SCB *p_scb;
419 p_scb = &bta_ag_cb.scb[idx - 1];
420 if (!p_scb->in_use)
422 p_scb = NULL;
428 p_scb = NULL;
431 return p_scb;
468 tBTA_AG_SCB *p_scb = &bta_ag_cb.scb[0];
473 for (i = 0; i < BTA_AG_NUM_SCB; i++, p_scb++)
475 if (p_scb->in_use && !bdcmp(peer_addr, p_scb->peer_addr))
499 tBTA_AG_SCB *p_scb = &bta_ag_cb.scb[0];
502 for (i = 0; i < BTA_AG_NUM_SCB; i++, p_scb++)
504 if (p_scb->in_use && p_scb != p_curr_scb && p_scb->state == BTA_AG_OPEN_ST)
527 tBTA_AG_SCB *p_scb = &bta_ag_cb.scb[0];
530 for (xx = 0; xx < BTA_AG_NUM_SCB; xx++, p_scb++)
532 if (p_scb->in_use && (p_scb != p_curr_scb) && (p_scb->state == BTA_AG_INIT_ST))
534 return p_scb;
555 tBTA_AG_SCB *p_scb;
561 p_scb = (tBTA_AG_SCB *)p_tle->param;
563 if (p_scb)
565 p_scb->colli_tmr_on = FALSE;
569 bta_ag_resume_open (p_scb);
588 tBTA_AG_SCB *p_scb;
592 p_scb = bta_ag_scb_by_idx (handle);
594 if (p_scb && (p_scb->state == BTA_AG_OPENING_ST))
609 p_scb->state = BTA_AG_INIT_ST;
612 if(p_scb->p_disc_db)
614 (void)SDP_CancelServiceSearch (p_scb->p_disc_db);
615 bta_ag_free_db(p_scb, NULL);
620 if (bta_ag_is_server_closed (p_scb))
621 bta_ag_start_servers(p_scb, p_scb->reg_services);
624 p_scb->colli_timer.p_cback = (TIMER_CBACK*)&bta_ag_colli_timer_cback;
625 p_scb->colli_timer.param = (INT32)p_scb;
626 bta_sys_start_timer(&p_scb->colli_timer, 0, BTA_AG_COLLISION_TIMER);
627 p_scb->colli_tmr_on = TRUE;
642 void bta_ag_resume_open (tBTA_AG_SCB *p_scb)
644 if (p_scb)
646 APPL_TRACE_DEBUG1 ("bta_ag_resume_open, Handle(%d)", bta_ag_scb_to_idx(p_scb));
649 if (p_scb->state == BTA_AG_INIT_ST)
651 p_scb->state = BTA_AG_OPENING_ST;
652 bta_ag_start_open (p_scb, NULL);
657 APPL_TRACE_ERROR0 ("bta_ag_resume_open, Null p_scb");
702 tBTA_AG_SCB *p_scb = &bta_ag_cb.scb[0];
717 for (i = 0; i < BTA_AG_NUM_SCB; i++, p_scb++)
719 if (p_scb->in_use)
721 bta_ag_sm_execute(p_scb, BTA_AG_API_DEREGISTER_EVT, p_data);
747 tBTA_AG_SCB *p_scb;
751 if ((p_scb = bta_ag_scb_alloc()) != NULL)
753 bta_ag_sm_execute(p_scb, p_data->hdr.event, p_data);
774 tBTA_AG_SCB *p_scb;
779 if ((p_scb = bta_ag_scb_by_idx(p_data->hdr.layer_specific)) != NULL)
781 bta_ag_sm_execute(p_scb, BTA_AG_API_RESULT_EVT, p_data);
786 for (i = 0, p_scb = &bta_ag_cb.scb[0]; i < BTA_AG_NUM_SCB; i++, p_scb++)
788 if (p_scb->in_use)
790 bta_ag_sm_execute(p_scb, BTA_AG_API_RESULT_EVT, p_data);
806 void bta_ag_sm_execute(tBTA_AG_SCB *p_scb, UINT16 event, tBTA_AG_DATA *p_data)
814 UINT8 in_state = p_scb->state;
817 if (in_event != BTA_AG_API_RESULT_EVT || p_scb->state == BTA_AG_OPEN_ST)
820 bta_ag_scb_to_idx(p_scb),
821 p_scb->state, bta_ag_state_str(p_scb->state),
826 bta_ag_scb_to_idx(p_scb), p_scb->state, event);
837 state_table = bta_ag_st_tbl[p_scb->state];
840 p_scb->state = state_table[event][BTA_AG_NEXT_STATE];
847 (*bta_ag_action[action])(p_scb, p_data);
855 if (p_scb->state != in_state)
859 bta_ag_state_str(p_scb->state),
877 tBTA_AG_SCB *p_scb;
903 if ((p_scb = bta_ag_scb_by_idx(p_msg->layer_specific)) != NULL)
905 bta_ag_sm_execute(p_scb, p_msg->event, (tBTA_AG_DATA *) p_msg);