Home | History | Annotate | Download | only in avdt

Lines Matching refs:p_ccb

50 static void avdt_ccb_clear_ccb(tAVDT_CCB *p_ccb)
55 p_ccb->cong = FALSE;
56 p_ccb->ret_count = 0;
59 osi_free_and_reset((void **)&p_ccb->p_curr_msg);
62 osi_free_and_reset((void **)&p_ccb->p_rx_msg);
65 while ((p_buf = (BT_HDR *) fixed_queue_try_dequeue(p_ccb->rsp_q)) != NULL)
80 void avdt_ccb_chan_open(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
84 BTM_SetOutService(p_ccb->peer_addr, BTM_SEC_SERVICE_AVDTP, AVDT_CHAN_SIG);
85 avdt_ad_open_req(AVDT_CHAN_SIG, p_ccb, NULL, AVDT_INT);
99 void avdt_ccb_chan_close(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
104 avdt_ad_close_req(AVDT_CHAN_SIG, p_ccb, NULL);
118 void avdt_ccb_chk_close(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
127 if ((p_scb->allocated) && (p_scb->p_ccb == p_ccb))
136 alarm_cancel(p_ccb->ret_ccb_timer);
137 alarm_cancel(p_ccb->rsp_ccb_timer);
139 alarm_set_on_queue(p_ccb->idle_ccb_timer, interval_ms,
140 avdt_ccb_idle_ccb_timer_timeout, p_ccb,
158 void avdt_ccb_hdl_discover_cmd(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
183 avdt_ccb_event(p_ccb, AVDT_CCB_API_DISCOVER_RSP_EVT, p_data);
198 void avdt_ccb_hdl_discover_rsp(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
201 p_ccb->proc_busy = FALSE;
204 (*p_ccb->proc_cback)(0, p_ccb->peer_addr, AVDT_DISCOVER_CFM_EVT,
221 void avdt_ccb_hdl_getcap_cmd(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
230 avdt_ccb_event(p_ccb, AVDT_CCB_API_GETCAP_RSP_EVT, p_data);
245 void avdt_ccb_hdl_getcap_rsp(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
248 p_ccb->proc_busy = FALSE;
251 (*p_ccb->proc_cback)(0, p_ccb->peer_addr, AVDT_GETCAP_CFM_EVT,
268 void avdt_ccb_hdl_start_cmd(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
273 UINT8 seid = avdt_scb_verify(p_ccb, AVDT_VERIFY_START, p_data->msg.multi.seid_list,
278 avdt_ccb_event(p_ccb, AVDT_CCB_API_START_RSP_EVT, p_data);
283 avdt_msg_send_rej(p_ccb, AVDT_SIG_START, &p_data->msg);
300 void avdt_ccb_hdl_start_rsp(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
312 p = (UINT8 *)(p_ccb->p_curr_cmd + 1);
315 for (i = 0; i < p_ccb->p_curr_cmd->len; i++)
338 void avdt_ccb_hdl_suspend_cmd(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
344 if ((seid = avdt_scb_verify(p_ccb, AVDT_VERIFY_SUSPEND, p_data->msg.multi.seid_list,
349 avdt_ccb_event(p_ccb, AVDT_CCB_API_SUSPEND_RSP_EVT, p_data);
356 avdt_msg_send_rej(p_ccb, AVDT_SIG_SUSPEND, &p_data->msg);
374 void avdt_ccb_hdl_suspend_rsp(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
386 p = (UINT8 *)(p_ccb->p_curr_cmd + 1);
389 for (i = 0; i < p_ccb->p_curr_cmd->len; i++)
411 void avdt_ccb_snd_discover_cmd(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
414 p_ccb->p_proc_data = p_data->discover.p_sep_info;
415 p_ccb->proc_cback = p_data->discover.p_cback;
416 p_ccb->proc_param = p_data->discover.num_seps;
419 p_ccb->proc_busy = TRUE;
422 avdt_msg_send_cmd(p_ccb, NULL, AVDT_SIG_DISCOVER, NULL);
437 void avdt_ccb_snd_discover_rsp(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
440 avdt_msg_send_rsp(p_ccb, AVDT_SIG_DISCOVER, &p_data->msg);
456 void avdt_ccb_snd_getcap_cmd(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
461 p_ccb->p_proc_data = p_data->getcap.p_cfg;
462 p_ccb->proc_cback = p_data->getcap.p_cback;
465 p_ccb->proc_busy = TRUE;
471 avdt_msg_send_cmd(p_ccb, NULL, sig_id, (tAVDT_MSG *) &p_data->getcap.single);
486 void avdt_ccb_snd_getcap_rsp(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
494 avdt_msg_send_rsp(p_ccb, sig_id, &p_data->msg);
510 void avdt_ccb_snd_start_cmd(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
521 if ((avdt_msg.hdr.err_param = avdt_scb_verify(p_ccb, AVDT_VERIFY_OPEN, p_data->msg.multi.seid_list,
528 avdt_msg_send_cmd(p_ccb, seid_list, AVDT_SIG_START, &p_data->msg);
556 void avdt_ccb_snd_start_rsp(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
562 avdt_msg_send_rsp(p_ccb, AVDT_SIG_START, &p_data->msg);
588 void avdt_ccb_snd_suspend_cmd(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
599 if ((avdt_msg.hdr.err_param = avdt_scb_verify(p_ccb, AVDT_VERIFY_STREAMING, p_data->msg.multi.seid_list,
606 avdt_msg_send_cmd(p_ccb, seid_list, AVDT_SIG_SUSPEND, &p_data->msg);
634 void avdt_ccb_snd_suspend_rsp(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
640 avdt_msg_send_rsp(p_ccb, AVDT_SIG_SUSPEND, &p_data->msg);
666 void avdt_ccb_clear_cmds(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
674 avdt_ccb_clear_ccb(p_ccb);
683 avdt_ccb_cmd_fail(p_ccb, (tAVDT_CCB_EVT *) &err_code);
686 p_ccb->p_curr_cmd = (BT_HDR *) fixed_queue_try_dequeue(p_ccb->cmd_q);
688 } while (p_ccb->p_curr_cmd != NULL);
693 if ((p_scb->allocated) && (p_scb->p_ccb == p_ccb))
712 void avdt_ccb_cmd_fail(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
718 if (p_ccb->p_curr_cmd != NULL)
723 msg.hdr.ccb_idx = avdt_ccb_to_idx(p_ccb);
726 evt = avdt_msg_rej_2_evt[p_ccb->p_curr_cmd->event - 1];
730 avdt_ccb_event(p_ccb, (UINT8) (evt & ~AVDT_CCB_MKR), (tAVDT_CCB_EVT *) &msg);
735 p_scb = avdt_scb_by_hdl(*((UINT8 *)(p_ccb->p_curr_cmd + 1)));
742 osi_free_and_reset((void **)&p_ccb->p_curr_cmd);
757 void avdt_ccb_free_cmd(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
760 osi_free_and_reset((void **)&p_ccb->p_curr_cmd);
774 void avdt_ccb_cong_state(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
776 p_ccb->cong = p_data->llcong;
792 void avdt_ccb_ret_cmd(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
796 p_ccb->ret_count++;
797 if (p_ccb->ret_count == AVDT_RET_MAX)
800 p_ccb->ret_count = 0;
801 avdt_ccb_cmd_fail(p_ccb, (tAVDT_CCB_EVT *) &err_code);
804 avdt_ccb_snd_cmd(p_ccb, p_data);
809 if ((!p_ccb->cong) && (p_ccb->p_curr_msg == NULL) && (p_ccb->p_curr_cmd != NULL))
813 memcpy(p_msg, p_ccb->p_curr_cmd,
814 (sizeof(BT_HDR) + p_ccb->p_curr_cmd->offset + p_ccb->p_curr_cmd->len));
815 avdt_msg_send(p_ccb, p_msg);
819 alarm_cancel(p_ccb->idle_ccb_timer);
820 alarm_cancel(p_ccb->rsp_ccb_timer);
822 alarm_set_on_queue(p_ccb->ret_ccb_timer, interval_ms,
823 avdt_ccb_ret_ccb_timer_timeout, p_ccb,
839 void avdt_ccb_snd_cmd(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
847 if ((!p_ccb->cong) && (p_ccb->p_curr_msg == NULL) && (p_ccb->p_curr_cmd == NULL))
849 if ((p_msg = (BT_HDR *) fixed_queue_try_dequeue(p_ccb->cmd_q)) != NULL)
852 p_ccb->p_curr_cmd = (BT_HDR *)osi_malloc(AVDT_CMD_BUF_SIZE);
853 memcpy(p_ccb->p_curr_cmd, p_msg,
855 avdt_msg_send(p_ccb, p_msg);
870 void avdt_ccb_snd_msg(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
876 if (!p_ccb->cong)
879 if (p_ccb->p_curr_msg != NULL)
881 avdt_msg_send(p_ccb, NULL);
884 else if (!fixed_queue_is_empty(p_ccb->rsp_q))
886 while ((p_msg = (BT_HDR *)fixed_queue_try_dequeue(p_ccb->rsp_q)) != NULL)
888 if (avdt_msg_send(p_ccb, p_msg) == TRUE)
897 avdt_ccb_snd_cmd(p_ccb, NULL);
913 void avdt_ccb_set_reconn(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
917 p_ccb->reconn = TRUE;
930 void avdt_ccb_clr_reconn(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
934 p_ccb->reconn = FALSE;
949 void avdt_ccb_chk_reconn(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
954 if (p_ccb->reconn)
956 p_ccb->reconn = FALSE;
959 avdt_ccb_clear_ccb(p_ccb);
962 avdt_ccb_cmd_fail(p_ccb, (tAVDT_CCB_EVT *) &err_code);
965 avdt_ccb_event(p_ccb, AVDT_CCB_UL_OPEN_EVT, NULL);
969 avdt_ccb_ll_closed(p_ccb, NULL);
984 void avdt_ccb_chk_timer(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
988 alarm_cancel(p_ccb->idle_ccb_timer);
1001 void avdt_ccb_set_conn(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
1004 p_ccb->p_conn_cback = p_data->connect.p_cback;
1021 void avdt_ccb_set_disconn(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
1025 p_ccb->p_conn_cback, p_data->disconnect.p_cback);
1029 p_ccb->p_conn_cback = p_data->disconnect.p_cback;
1042 void avdt_ccb_do_disconn(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
1047 avdt_ccb_clear_cmds(p_ccb, NULL);
1050 avdt_ccb_chan_close(p_ccb, NULL);
1063 void avdt_ccb_ll_closed(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
1071 avdt_ccb_clear_cmds(p_ccb, NULL);
1074 p_cback = p_ccb->p_conn_cback;
1077 memcpy(bd_addr, p_ccb->peer_addr, BD_ADDR_LEN);
1080 avdt_ccb_dealloc(p_ccb, NULL);
1100 void avdt_ccb_ll_opened(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
1104 p_ccb->ll_opened = TRUE;
1106 if (!p_ccb->p_conn_cback)
1107 p_ccb->p_conn_cback = avdt_cb.p_conn_cback;
1110 if (p_ccb->p_conn_cback)
1114 (*p_ccb->p_conn_cback)(0, p_ccb->peer_addr, AVDT_CONNECT_IND_EVT, &avdt_ctrl);