Home | History | Annotate | Download | only in avdt

Lines Matching refs:p_ccb

48 static void avdt_ccb_clear_ccb(tAVDT_CCB *p_ccb)
53 p_ccb->cong = FALSE;
54 p_ccb->ret_count = 0;
57 if (p_ccb->p_curr_msg != NULL)
59 GKI_freebuf(p_ccb->p_curr_msg);
60 p_ccb->p_curr_msg = NULL;
64 if (p_ccb->p_rx_msg != NULL)
66 GKI_freebuf(p_ccb->p_rx_msg);
67 p_ccb->p_rx_msg = NULL;
71 while ((p_buf = (BT_HDR *) GKI_dequeue(&p_ccb->rsp_q)) != NULL)
88 void avdt_ccb_chan_open(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
92 BTM_SetOutService(p_ccb->peer_addr, BTM_SEC_SERVICE_AVDTP, AVDT_CHAN_SIG);
93 avdt_ad_open_req(AVDT_CHAN_SIG, p_ccb, NULL, AVDT_INT);
107 void avdt_ccb_chan_close(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
112 avdt_ad_close_req(AVDT_CHAN_SIG, p_ccb, NULL);
126 void avdt_ccb_chk_close(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
135 if ((p_scb->allocated) && (p_scb->p_ccb == p_ccb))
144 btu_start_timer(&p_ccb->timer_entry, BTU_TTYPE_AVDT_CCB_IDLE, avdt_cb.rcb.idle_tout);
161 void avdt_ccb_hdl_discover_cmd(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
186 avdt_ccb_event(p_ccb, AVDT_CCB_API_DISCOVER_RSP_EVT, p_data);
201 void avdt_ccb_hdl_discover_rsp(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
204 p_ccb->proc_busy = FALSE;
207 (*p_ccb->proc_cback)(0, p_ccb->peer_addr, AVDT_DISCOVER_CFM_EVT,
224 void avdt_ccb_hdl_getcap_cmd(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
233 avdt_ccb_event(p_ccb, AVDT_CCB_API_GETCAP_RSP_EVT, p_data);
248 void avdt_ccb_hdl_getcap_rsp(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
251 p_ccb->proc_busy = FALSE;
254 (*p_ccb->proc_cback)(0, p_ccb->peer_addr, AVDT_GETCAP_CFM_EVT,
271 void avdt_ccb_hdl_start_cmd(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
277 if ((seid = avdt_scb_verify(p_ccb, AVDT_VERIFY_START, p_data->msg.multi.seid_list,
281 avdt_ccb_event(p_ccb, AVDT_CCB_API_START_RSP_EVT, p_data);
288 avdt_msg_send_rej(p_ccb, AVDT_SIG_START, &p_data->msg);
305 void avdt_ccb_hdl_start_rsp(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
317 p = (UINT8 *)(p_ccb->p_curr_cmd + 1);
320 for (i = 0; i < p_ccb->p_curr_cmd->len; i++)
343 void avdt_ccb_hdl_suspend_cmd(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
349 if ((seid = avdt_scb_verify(p_ccb, AVDT_VERIFY_SUSPEND, p_data->msg.multi.seid_list,
353 avdt_ccb_event(p_ccb, AVDT_CCB_API_SUSPEND_RSP_EVT, p_data);
360 avdt_msg_send_rej(p_ccb, AVDT_SIG_SUSPEND, &p_data->msg);
378 void avdt_ccb_hdl_suspend_rsp(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
390 p = (UINT8 *)(p_ccb->p_curr_cmd + 1);
393 for (i = 0; i < p_ccb->p_curr_cmd->len; i++)
415 void avdt_ccb_snd_discover_cmd(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
418 p_ccb->p_proc_data = p_data->discover.p_sep_info;
419 p_ccb->proc_cback = p_data->discover.p_cback;
420 p_ccb->proc_param = p_data->discover.num_seps;
423 p_ccb->proc_busy = TRUE;
426 avdt_msg_send_cmd(p_ccb, NULL, AVDT_SIG_DISCOVER, NULL);
441 void avdt_ccb_snd_discover_rsp(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
444 avdt_msg_send_rsp(p_ccb, AVDT_SIG_DISCOVER, &p_data->msg);
460 void avdt_ccb_snd_getcap_cmd(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
465 p_ccb->p_proc_data = p_data->getcap.p_cfg;
466 p_ccb->proc_cback = p_data->getcap.p_cback;
469 p_ccb->proc_busy = TRUE;
475 avdt_msg_send_cmd(p_ccb, NULL, sig_id, (tAVDT_MSG *) &p_data->getcap.single);
490 void avdt_ccb_snd_getcap_rsp(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
498 avdt_msg_send_rsp(p_ccb, sig_id, &p_data->msg);
514 void avdt_ccb_snd_start_cmd(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
525 if ((avdt_msg.hdr.err_param = avdt_scb_verify(p_ccb, AVDT_VERIFY_OPEN, p_data->msg.multi.seid_list,
532 avdt_msg_send_cmd(p_ccb, seid_list, AVDT_SIG_START, &p_data->msg);
560 void avdt_ccb_snd_start_rsp(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
566 avdt_msg_send_rsp(p_ccb, AVDT_SIG_START, &p_data->msg);
592 void avdt_ccb_snd_suspend_cmd(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
603 if ((avdt_msg.hdr.err_param = avdt_scb_verify(p_ccb, AVDT_VERIFY_STREAMING, p_data->msg.multi.seid_list,
610 avdt_msg_send_cmd(p_ccb, seid_list, AVDT_SIG_SUSPEND, &p_data->msg);
638 void avdt_ccb_snd_suspend_rsp(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
644 avdt_msg_send_rsp(p_ccb, AVDT_SIG_SUSPEND, &p_data->msg);
670 void avdt_ccb_clear_cmds(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
678 avdt_ccb_clear_ccb(p_ccb);
687 avdt_ccb_cmd_fail(p_ccb, (tAVDT_CCB_EVT *) &err_code);
690 p_ccb->p_curr_cmd = (BT_HDR *) GKI_dequeue(&p_ccb->cmd_q);
692 } while (p_ccb->p_curr_cmd != NULL);
697 if ((p_scb->allocated) && (p_scb->p_ccb == p_ccb))
716 void avdt_ccb_cmd_fail(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
722 if (p_ccb->p_curr_cmd != NULL)
727 msg.hdr.ccb_idx = avdt_ccb_to_idx(p_ccb);
730 evt = avdt_msg_rej_2_evt[p_ccb->p_curr_cmd->event - 1];
734 avdt_ccb_event(p_ccb, (UINT8) (evt & ~AVDT_CCB_MKR), (tAVDT_CCB_EVT *) &msg);
739 p_scb = avdt_scb_by_hdl(*((UINT8 *)(p_ccb->p_curr_cmd + 1)));
746 GKI_freebuf(p_ccb->p_curr_cmd);
747 p_ccb->p_curr_cmd = NULL;
762 void avdt_ccb_free_cmd(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
766 if (p_ccb->p_curr_cmd != NULL)
768 GKI_freebuf(p_ccb->p_curr_cmd);
769 p_ccb->p_curr_cmd = NULL;
784 void avdt_ccb_cong_state(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
786 p_ccb->cong = p_data->llcong;
802 void avdt_ccb_ret_cmd(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
807 p_ccb->ret_count++;
808 if (p_ccb->ret_count == AVDT_RET_MAX)
811 p_ccb->ret_count = 0;
812 avdt_ccb_cmd_fail(p_ccb, (tAVDT_CCB_EVT *) &err_code);
815 avdt_ccb_snd_cmd(p_ccb, p_data);
820 if ((!p_ccb->cong) && (p_ccb->p_curr_msg == NULL) && (p_ccb->p_curr_cmd != NULL))
825 memcpy(p_msg, p_ccb->p_curr_cmd,
826 (sizeof(BT_HDR) + p_ccb->p_curr_cmd->offset + p_ccb->p_curr_cmd->len));
827 avdt_msg_send(p_ccb, p_msg);
832 btu_start_timer(&p_ccb->timer_entry, BTU_TTYPE_AVDT_CCB_RET, avdt_cb.rcb.ret_tout);
847 void avdt_ccb_snd_cmd(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
855 if ((!p_ccb->cong) && (p_ccb->p_curr_msg == NULL) && (p_ccb->p_curr_cmd == NULL))
857 if ((p_msg = (BT_HDR *) GKI_dequeue(&p_ccb->cmd_q)) != NULL)
860 if ((p_ccb->p_curr_cmd = (BT_HDR *) GKI_getpoolbuf(AVDT_CMD_POOL_ID)) != NULL)
862 memcpy(p_ccb->p_curr_cmd, p_msg, (sizeof(BT_HDR) + p_msg->offset + p_msg->len));
864 avdt_msg_send(p_ccb, p_msg);
880 void avdt_ccb_snd_msg(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
886 if (!p_ccb->cong)
889 if (p_ccb->p_curr_msg != NULL)
891 avdt_msg_send(p_ccb, NULL);
894 else if (!GKI_queue_is_empty(&p_ccb->rsp_q))
896 while ((p_msg = (BT_HDR *) GKI_dequeue(&p_ccb->rsp_q)) != NULL)
898 if (avdt_msg_send(p_ccb, p_msg) == TRUE)
907 avdt_ccb_snd_cmd(p_ccb, NULL);
923 void avdt_ccb_set_reconn(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
927 p_ccb->reconn = TRUE;
940 void avdt_ccb_clr_reconn(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
944 p_ccb->reconn = FALSE;
959 void avdt_ccb_chk_reconn(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
964 if (p_ccb->reconn)
966 p_ccb->reconn = FALSE;
969 avdt_ccb_clear_ccb(p_ccb);
972 avdt_ccb_cmd_fail(p_ccb, (tAVDT_CCB_EVT *) &err_code);
975 avdt_ccb_event(p_ccb, AVDT_CCB_UL_OPEN_EVT, NULL);
979 avdt_ccb_ll_closed(p_ccb, NULL);
994 void avdt_ccb_chk_timer(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
998 if (p_ccb->timer_entry.event == BTU_TTYPE_AVDT_CCB_IDLE)
1000 btu_stop_timer(&p_ccb->timer_entry);
1014 void avdt_ccb_set_conn(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
1017 p_ccb->p_conn_cback = p_data->connect.p_cback;
1034 void avdt_ccb_set_disconn(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
1038 p_ccb->p_conn_cback, p_data->disconnect.p_cback);
1042 p_ccb->p_conn_cback = p_data->disconnect.p_cback;
1055 void avdt_ccb_do_disconn(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
1060 avdt_ccb_clear_cmds(p_ccb, NULL);
1063 avdt_ccb_chan_close(p_ccb, NULL);
1076 void avdt_ccb_ll_closed(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
1084 avdt_ccb_clear_cmds(p_ccb, NULL);
1087 p_cback = p_ccb->p_conn_cback;
1090 memcpy(bd_addr, p_ccb->peer_addr, BD_ADDR_LEN);
1093 avdt_ccb_dealloc(p_ccb, NULL);
1113 void avdt_ccb_ll_opened(tAVDT_CCB *p_ccb, tAVDT_CCB_EVT *p_data)
1117 p_ccb->ll_opened = TRUE;
1119 if (!p_ccb->p_conn_cback)
1120 p_ccb->p_conn_cback = avdt_cb.p_conn_cback;
1123 if (p_ccb->p_conn_cback)
1127 (*p_ccb->p_conn_cback)(0, p_ccb->peer_addr, AVDT_CONNECT_IND_EVT, &avdt_ctrl);