Home | History | Annotate | Download | only in mcap

Lines Matching refs:p_ccb

48 void mca_ccb_rsp_tout(tMCA_CCB *p_ccb, tMCA_CCB_EVT *p_data)
53 mca_ccb_report_event(p_ccb, MCA_RSP_TOUT_IND_EVT, &evt_data);
65 void mca_ccb_report_event(tMCA_CCB *p_ccb, UINT8 event, tMCA_CTRL *p_data)
67 if (p_ccb && p_ccb->p_rcb && p_ccb->p_rcb->p_cback)
68 (*p_ccb->p_rcb->p_cback)(mca_rcb_to_handle(p_ccb->p_rcb), mca_ccb_to_hdl(p_ccb), event, p_data);
80 void mca_ccb_free_msg(tMCA_CCB *p_ccb, tMCA_CCB_EVT *p_data)
82 UNUSED(p_ccb);
96 void mca_ccb_snd_req(tMCA_CCB *p_ccb, tMCA_CCB_EVT *p_data)
104 MCA_TRACE_DEBUG ("mca_ccb_snd_req cong=%d req=%d", p_ccb->cong, p_msg->op_code);
106 if ((p_ccb->status == MCA_CCB_STAT_PENDING) && (p_msg->op_code == MCA_OP_MDL_ABORT_REQ))
108 p_dcb = mca_dcb_by_hdl(p_ccb->p_tx_req->dcb_idx);
113 mca_free_buf ((void **)&p_ccb->p_tx_req);
114 p_ccb->status = MCA_CCB_STAT_NORM;
119 if ((!p_ccb->p_tx_req) || is_abort)
121 p_ccb->p_tx_req = p_msg;
122 if (!p_ccb->cong)
138 L2CA_DataWrite (p_ccb->lcid, p_pkt);
139 p_ccb->timer_entry.param = (TIMER_PARAM_TYPE) p_ccb;
140 btu_start_timer(&p_ccb->timer_entry, BTU_TTYPE_MCA_CCB_RSP, p_ccb->p_rcb->reg.rsp_tout);
162 void mca_ccb_snd_rsp(tMCA_CCB *p_ccb, tMCA_CCB_EVT *p_data)
170 MCA_TRACE_DEBUG ("mca_ccb_snd_rsp cong=%d req=%d", p_ccb->cong, p_msg->op_code);
191 BTM_SetSecurityLevel(FALSE, "", BTM_SEC_SERVICE_MCAP_DATA, p_ccb->sec_mask,
192 p_ccb->p_rcb->reg.data_psm, BTM_SEC_PROTO_MCA, p_msg->dcb_idx);
193 p_ccb->status = MCA_CCB_STAT_PENDING;
195 mca_free_buf ((void **)&p_ccb->p_tx_req);
196 p_ccb->p_tx_req = p_ccb->p_rx_msg;
197 p_ccb->p_rx_msg = NULL;
198 p_ccb->p_tx_req->dcb_idx = p_msg->dcb_idx;
200 mca_free_buf ((void **)&p_ccb->p_rx_msg);
202 L2CA_DataWrite (p_ccb->lcid, p_pkt);
216 void mca_ccb_do_disconn (tMCA_CCB *p_ccb, tMCA_CCB_EVT *p_data)
220 mca_dcb_close_by_mdl_id (p_ccb, MCA_ALL_MDL_ID);
221 L2CA_DisconnectReq(p_ccb->lcid);
233 void mca_ccb_cong(tMCA_CCB *p_ccb, tMCA_CCB_EVT *p_data)
235 MCA_TRACE_DEBUG ("mca_ccb_cong cong=%d/%d", p_ccb->cong, p_data->llcong);
236 p_ccb->cong = p_data->llcong;
237 if (!p_ccb->cong)
240 if (p_ccb->p_tx_req && !p_ccb->p_tx_req->hdr.layer_specific)
242 p_data = (tMCA_CCB_EVT *)p_ccb->p_tx_req;
243 p_ccb->p_tx_req = NULL;
244 mca_ccb_snd_req (p_ccb, p_data);
260 void mca_ccb_hdl_req(tMCA_CCB *p_ccb, tMCA_CCB_EVT *p_data)
273 MCA_TRACE_DEBUG ("mca_ccb_hdl_req status:%d", p_ccb->status);
281 if (p_ccb->status == MCA_CCB_STAT_PENDING)
285 if ((p_ccb->status == MCA_CCB_STAT_PENDING) && (evt_data.hdr.op_code == MCA_OP_MDL_ABORT_REQ))
290 p_ccb->status = MCA_CCB_STAT_NORM;
291 if (p_ccb->p_tx_req && ((p_dcb = mca_dcb_by_hdl(p_ccb->p_tx_req->dcb_idx))!= NULL))
294 mca_free_buf ((void **)&p_ccb->p_tx_req);
300 else if (p_ccb->p_rx_msg)
306 else if (p_ccb->p_tx_req)
308 MCA_TRACE_DEBUG ("still waiting for a response ctrl_vpsm:0x%x", p_ccb->ctrl_vpsm);
310 if (p_ccb->ctrl_vpsm == 0)
317 if ((p_ccb->p_tx_req->op_code == MCA_OP_MDL_CREATE_REQ) &&
318 ((p_dcb = mca_dcb_by_hdl(p_ccb->p_tx_req->dcb_idx)) != NULL))
322 mca_free_buf ((void **)&p_ccb->p_tx_req);
323 mca_stop_timer(p_ccb);
367 if (!mca_is_valid_dep_id(p_ccb->p_rcb, p_rx_msg->mdep_id))
372 else if (mca_ccb_uses_mdl_id(p_ccb, evt_data.hdr.mdl_id))
375 mca_dcb_close_by_mdl_id(p_ccb, evt_data.hdr.mdl_id);
380 if (mca_dep_free_mdl(p_ccb, evt_data.create_ind.dep_id) == 0)
389 if (mca_ccb_uses_mdl_id(p_ccb, evt_data.hdr.mdl_id))
402 mca_dcb_close_by_mdl_id(p_ccb, evt_data.hdr.mdl_id);
429 L2CA_DataWrite (p_ccb->lcid, p_buf);
438 p_ccb->p_rx_msg = p_rx_msg;
442 p_ccb->p_rx_msg = NULL;
444 mca_ccb_report_event(p_ccb, evt_data.hdr.op_code, &evt_data);
461 void mca_ccb_hdl_rsp(tMCA_CCB *p_ccb, tMCA_CCB_EVT *p_data)
471 if (p_ccb
477 ((p_ccb->p_tx_req->op_code + 1) == evt_data.hdr.op_code))
480 mca_stop_timer(p_ccb);
492 p_dcb = mca_dcb_by_hdl(p_ccb->p_tx_req->dcb_idx);
503 p_ccb->status = MCA_CCB_STAT_PENDING;
504 MCA_Abort(mca_ccb_to_hdl(p_ccb));
510 BTM_SetSecurityLevel(TRUE, "", BTM_SEC_SERVICE_MCAP_DATA, p_ccb->sec_mask,
511 p_ccb->data_vpsm, BTM_SEC_PROTO_MCA, p_ccb->p_tx_req->dcb_idx);
512 p_dcb->lcid = mca_l2c_open_req(p_ccb->peer_addr, p_ccb->data_vpsm, p_dcb->p_chnl_cfg);
519 p_ccb->status = MCA_CCB_STAT_PENDING;
527 p_ccb->status = MCA_CCB_STAT_PENDING;
538 if (p_ccb->status != MCA_CCB_STAT_PENDING)
539 mca_free_buf ((void **)&p_ccb->p_tx_req);
540 mca_ccb_report_event(p_ccb, evt_data.hdr.op_code, &evt_data);
562 void mca_ccb_ll_open (tMCA_CCB *p_ccb, tMCA_CCB_EVT *p_data)
565 p_ccb->cong = FALSE;
567 memcpy (evt_data.connect_ind.bd_addr, p_ccb->peer_addr, BD_ADDR_LEN);
568 mca_ccb_report_event (p_ccb, MCA_CONNECT_IND_EVT, &evt_data);
581 void mca_ccb_dl_open (tMCA_CCB *p_ccb, tMCA_CCB_EVT *p_data)
585 mca_free_buf ((void **)&p_ccb->p_tx_req);
586 mca_free_buf ((void **)&p_ccb->p_rx_msg);
587 p_ccb->status = MCA_CCB_STAT_NORM;