Lines Matching full: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;
321 p_scb->codec_updated = FALSE;
324 p_scb->act_timer.param = (UINT32) p_scb;
325 p_scb->act_timer.p_cback = bta_ag_timer_cback;
328 p_scb->codec_msbc_settings = BTA_AG_SCO_MSBC_SETTINGS_T2;
330 APPL_TRACE_DEBUG("bta_ag_scb_alloc %d", bta_ag_scb_to_idx(p_scb));
338 p_scb = NULL;
341 return p_scb;
354 void bta_ag_scb_dealloc(tBTA_AG_SCB *p_scb)
359 APPL_TRACE_DEBUG("bta_ag_scb_dealloc %d", bta_ag_scb_to_idx(p_scb));
362 bta_sys_stop_timer(&p_scb->act_timer);
364 bta_sys_stop_timer(&p_scb->cn_timer);
366 bta_sys_stop_timer(&p_scb->colli_timer);
369 memset(p_scb, 0, sizeof(tBTA_AG_SCB));
370 p_scb->sco_idx = BTM_INVALID_SCO_INDEX;
402 UINT16 bta_ag_scb_to_idx(tBTA_AG_SCB *p_scb)
405 return ((UINT16) (p_scb - bta_ag_cb.scb)) + 1;
420 tBTA_AG_SCB *p_scb;
425 p_scb = &bta_ag_cb.scb[idx - 1];
426 if (!p_scb->in_use)
428 p_scb = NULL;
434 p_scb = NULL;
437 return p_scb;
474 tBTA_AG_SCB *p_scb = &bta_ag_cb.scb[0];
479 for (i = 0; i < BTA_AG_NUM_SCB; i++, p_scb++)
481 if (p_scb->in_use && !bdcmp(peer_addr, p_scb->peer_addr))
505 tBTA_AG_SCB *p_scb = &bta_ag_cb.scb[0];
508 for (i = 0; i < BTA_AG_NUM_SCB; i++, p_scb++)
510 if (p_scb->in_use && p_scb != p_curr_scb && p_scb->state == BTA_AG_OPEN_ST)
553 tBTA_AG_SCB *p_scb = &bta_ag_cb.scb[0];
556 for (xx = 0; xx < BTA_AG_NUM_SCB; xx++, p_scb++)
558 if (p_scb->in_use && (p_scb != p_curr_scb) && (p_scb->state == BTA_AG_INIT_ST))
560 return p_scb;
581 tBTA_AG_SCB *p_scb;
587 p_scb = (tBTA_AG_SCB *)p_tle->param;
589 if (p_scb)
591 p_scb->colli_tmr_on = FALSE;
595 bta_ag_resume_open (p_scb);
614 tBTA_AG_SCB *p_scb;
620 p_scb = bta_ag_scb_by_idx (handle);
622 if (p_scb && (p_scb->state == BTA_AG_OPENING_ST))
637 p_scb->state = BTA_AG_INIT_ST;
640 if(p_scb->p_disc_db)
642 (void)SDP_CancelServiceSearch (p_scb->p_disc_db);
643 bta_ag_free_db(p_scb, NULL);
648 if (bta_ag_is_server_closed (p_scb))
649 bta_ag_start_servers(p_scb, p_scb->reg_services);
652 p_scb->colli_timer.p_cback = (TIMER_CBACK*)&bta_ag_colli_timer_cback;
653 p_scb->colli_timer.param = (INT32)p_scb;
654 bta_sys_start_timer(&p_scb->colli_timer, 0, BTA_AG_COLLISION_TIMER);
655 p_scb->colli_tmr_on = TRUE;
670 void bta_ag_resume_open (tBTA_AG_SCB *p_scb)
672 if (p_scb)
674 APPL_TRACE_DEBUG ("bta_ag_resume_open, Handle(%d)", bta_ag_scb_to_idx(p_scb));
677 if (p_scb->state == BTA_AG_INIT_ST)
679 p_scb->state = BTA_AG_OPENING_ST;
680 bta_ag_start_open (p_scb, NULL);
685 APPL_TRACE_ERROR ("bta_ag_resume_open, Null p_scb");
730 tBTA_AG_SCB *p_scb = &bta_ag_cb.scb[0];
743 for (i = 0; i < BTA_AG_NUM_SCB; i++, p_scb++)
745 if (p_scb->in_use)
747 bta_ag_sm_execute(p_scb, BTA_AG_API_DEREGISTER_EVT, p_data);
773 tBTA_AG_SCB *p_scb;
777 if ((p_scb = bta_ag_scb_alloc()) != NULL)
779 APPL_TRACE_DEBUG("bta_ag_api_register: p_scb 0x%08x ", p_scb);
780 bta_ag_sm_execute(p_scb, p_data->hdr.event, p_data);
801 tBTA_AG_SCB *p_scb;
806 if ((p_scb = bta_ag_scb_by_idx(p_data->hdr.layer_specific)) != NULL)
808 APPL_TRACE_DEBUG("bta_ag_api_result: p_scb 0x%08x ", p_scb);
809 bta_ag_sm_execute(p_scb, BTA_AG_API_RESULT_EVT, p_data);
814 for (i = 0, p_scb = &bta_ag_cb.scb[0]; i < BTA_AG_NUM_SCB; i++, p_scb++)
816 if (p_scb->in_use && p_scb->svc_conn)
818 APPL_TRACE_DEBUG("bta_ag_api_result p_scb 0x%08x ", p_scb);
819 bta_ag_sm_execute(p_scb, BTA_AG_API_RESULT_EVT, p_data);
835 void bta_ag_sm_execute(tBTA_AG_SCB *p_scb, UINT16 event, tBTA_AG_DATA *p_data)
843 UINT8 in_state = p_scb->state;
846 if (in_event != BTA_AG_API_RESULT_EVT || p_scb->state == BTA_AG_OPEN_ST)
849 bta_ag_scb_to_idx(p_scb),
850 p_scb->state, bta_ag_state_str(p_scb->state),
855 bta_ag_scb_to_idx(p_scb), p_scb->state, event);
866 state_table = bta_ag_st_tbl[p_scb->state];
869 p_scb->state = state_table[event][BTA_AG_NEXT_STATE];
876 (*bta_ag_action[action])(p_scb, p_data);
884 if (p_scb->state != in_state)
888 bta_ag_state_str(p_scb->state),
906 tBTA_AG_SCB *p_scb;
933 if ((p_scb = bta_ag_scb_by_idx(p_msg->layer_specific)) != NULL)
935 APPL_TRACE_DEBUG("bta_ag_hdl_event: p_scb 0x%08x ", p_scb);
936 bta_ag_sm_execute(p_scb, p_msg->event, (tBTA_AG_DATA *) p_msg);