/system/bt/stack/l2cap/ |
D | l2c_link.cc | 45 static bool l2c_link_send_to_lower(tL2C_LCB* p_lcb, BT_HDR* p_buf, 59 tL2C_LCB* p_lcb; in l2c_link_hci_conn_req() local 65 p_lcb = l2cu_find_lcb_by_bd_addr(bd_addr, BT_TRANSPORT_BR_EDR); in l2c_link_hci_conn_req() 68 if (!p_lcb) { in l2c_link_hci_conn_req() 69 p_lcb = l2cu_allocate_lcb(bd_addr, false, BT_TRANSPORT_BR_EDR); in l2c_link_hci_conn_req() 70 if (!p_lcb) { in l2c_link_hci_conn_req() 81 if (p_lcb_cur == p_lcb) continue; in l2c_link_hci_conn_req() 85 p_lcb->link_role = HCI_ROLE_MASTER; in l2c_link_hci_conn_req() 92 p_lcb->link_role = HCI_ROLE_SLAVE; in l2c_link_hci_conn_req() 94 p_lcb->link_role = l2cu_get_conn_role(p_lcb); in l2c_link_hci_conn_req() [all …]
|
D | l2c_ble.cc | 43 static void l2cble_start_conn_update(tL2C_LCB* p_lcb); 57 tL2C_LCB* p_lcb; in L2CA_CancelBleConnectReq() local 76 p_lcb = l2cu_find_lcb_by_bd_addr(rem_bda, BT_TRANSPORT_LE); in L2CA_CancelBleConnectReq() 78 if (p_lcb != NULL && in L2CA_CancelBleConnectReq() 79 !(p_lcb->link_role == HCI_ROLE_SLAVE && in L2CA_CancelBleConnectReq() 81 p_lcb->disc_reason = L2CAP_CONN_CANCEL; in L2CA_CancelBleConnectReq() 82 l2cu_release_lcb(p_lcb); in L2CA_CancelBleConnectReq() 105 tL2C_LCB* p_lcb; in L2CA_UpdateBleConnParams() local 109 p_lcb = l2cu_find_lcb_by_bd_addr(rem_bda, BT_TRANSPORT_LE); in L2CA_UpdateBleConnParams() 112 if (!p_lcb || !p_acl_cb) { in L2CA_UpdateBleConnParams() [all …]
|
D | l2c_utils.cc | 70 tL2C_LCB* p_lcb = &l2cb.lcb_pool[0]; in l2cu_allocate_lcb() local 72 for (xx = 0; xx < MAX_L2CAP_LINKS; xx++, p_lcb++) { in l2cu_allocate_lcb() 73 if (!p_lcb->in_use) { in l2cu_allocate_lcb() 74 alarm_free(p_lcb->l2c_lcb_timer); in l2cu_allocate_lcb() 75 alarm_free(p_lcb->info_resp_timer); in l2cu_allocate_lcb() 76 memset(p_lcb, 0, sizeof(tL2C_LCB)); in l2cu_allocate_lcb() 78 p_lcb->remote_bd_addr = p_bd_addr; in l2cu_allocate_lcb() 80 p_lcb->in_use = true; in l2cu_allocate_lcb() 81 p_lcb->link_state = LST_DISCONNECTED; in l2cu_allocate_lcb() 82 p_lcb->handle = HCI_INVALID_HANDLE; in l2cu_allocate_lcb() [all …]
|
D | l2c_api.cc | 126 tL2C_LCB* p_lcb; in L2CA_Deregister() local 133 p_lcb = &l2cb.lcb_pool[0]; in L2CA_Deregister() 134 for (ii = 0; ii < MAX_L2CAP_LINKS; ii++, p_lcb++) { in L2CA_Deregister() 135 if (p_lcb->in_use) { in L2CA_Deregister() 136 p_ccb = p_lcb->ccb_queue.p_first_ccb; in L2CA_Deregister() 137 if ((p_ccb == NULL) || (p_lcb->link_state == LST_DISCONNECTING)) { in L2CA_Deregister() 300 tL2C_LCB* p_lcb; in L2CA_ErtmConnectReq() local 323 p_lcb = l2cu_find_lcb_by_bd_addr(p_bd_addr, BT_TRANSPORT_BR_EDR); in L2CA_ErtmConnectReq() 324 if (p_lcb == NULL) { in L2CA_ErtmConnectReq() 326 p_lcb = l2cu_allocate_lcb(p_bd_addr, false, BT_TRANSPORT_BR_EDR); in L2CA_ErtmConnectReq() [all …]
|
D | l2c_main.cc | 46 static void process_l2cap_cmd(tL2C_LCB* p_lcb, uint8_t* p, uint16_t pkt_len); 94 tL2C_LCB* p_lcb = l2cu_find_lcb_by_handle(handle); in l2c_rcv_acl_data() local 95 if (!p_lcb) { in l2c_rcv_acl_data() 139 if (p_lcb && p_lcb->transport == BT_TRANSPORT_LE && in l2c_rcv_acl_data() 140 p_lcb->link_state != LST_DISCONNECTING) { in l2c_rcv_acl_data() 143 l2cble_notify_le_connection(p_lcb->remote_bd_addr); in l2c_rcv_acl_data() 149 p_ccb = l2cu_find_ccb_by_cid(p_lcb, rcv_cid); in l2c_rcv_acl_data() 169 process_l2cap_cmd(p_lcb, p, l2cap_len); in l2c_rcv_acl_data() 184 l2cble_process_sig_cmd(p_lcb, p, l2cap_len); in l2c_rcv_acl_data() 196 if (!p_lcb || p_lcb->link_state == LST_DISCONNECTING || in l2c_rcv_acl_data() [all …]
|
D | l2c_csm.cc | 157 if (p_ccb->p_lcb->transport == BT_TRANSPORT_LE) { in l2c_csm_closed() 159 l2ble_sec_access_req(p_ccb->p_lcb->remote_bd_addr, p_ccb->p_rcb->psm, in l2c_csm_closed() 163 btm_sec_l2cap_access_req(p_ccb->p_lcb->remote_bd_addr, in l2c_csm_closed() 164 p_ccb->p_rcb->psm, p_ccb->p_lcb->handle, true, in l2c_csm_closed() 172 !btm_acl_notif_conn_collision(p_ccb->p_lcb->remote_bd_addr)) { in l2c_csm_closed() 182 if (p_ccb->p_lcb->transport == BT_TRANSPORT_LE) { in l2c_csm_closed() 184 l2ble_sec_access_req(p_ccb->p_lcb->remote_bd_addr, p_ccb->p_rcb->psm, in l2c_csm_closed() 192 BTM_SetPowerMode(BTM_PM_SET_ONLY_ID, p_ccb->p_lcb->remote_bd_addr, in l2c_csm_closed() 197 if (btm_sec_l2cap_access_req(p_ccb->p_lcb->remote_bd_addr, in l2c_csm_closed() 198 p_ccb->p_rcb->psm, p_ccb->p_lcb->handle, in l2c_csm_closed() [all …]
|
D | l2c_int.h | 281 struct t_l2c_linkcb* p_lcb; /* Link this CCB is assigned to */ member 591 extern void l2cu_release_lcb(tL2C_LCB* p_lcb); 606 extern tL2C_CCB* l2cu_allocate_ccb(tL2C_LCB* p_lcb, uint16_t cid); 608 extern tL2C_CCB* l2cu_find_ccb_by_cid(tL2C_LCB* p_lcb, uint16_t local_cid); 609 extern tL2C_CCB* l2cu_find_ccb_by_remote_cid(tL2C_LCB* p_lcb, 611 extern void l2cu_adj_id(tL2C_LCB* p_lcb, uint8_t adj_mask); 612 extern bool l2c_is_cmd_rejected(uint8_t cmd_code, uint8_t id, tL2C_LCB* p_lcb); 614 extern void l2cu_send_peer_cmd_reject(tL2C_LCB* p_lcb, uint16_t reason, 624 extern void l2cu_send_peer_disc_rsp(tL2C_LCB* p_lcb, uint8_t remote_id, 626 extern void l2cu_send_peer_echo_req(tL2C_LCB* p_lcb, uint8_t* p_data, [all …]
|
D | l2c_fcr.cc | 386 if ((p_ccb->p_lcb->sent_not_acked < 2) && in l2c_fcr_is_flow_controlled() 582 l2c_link_check_send_pkts(p_ccb->p_lcb, NULL, p_buf); in l2c_fcr_send_S_frame() 807 l2c_link_check_send_pkts(p_ccb->p_lcb, NULL, NULL); in l2c_fcr_proc_pdu() 1535 p_ccb->p_lcb->remote_bd_addr, p_buf); in do_sar_reassembly() 1614 for (list_node_t* node_tmp = list_begin(p_ccb->p_lcb->link_xmit_data_q); in retransmit_i_frames() 1615 node_tmp != list_end(p_ccb->p_lcb->link_xmit_data_q);) { in retransmit_i_frames() 1621 list_remove(p_ccb->p_lcb->link_xmit_data_q, p_tmp); in retransmit_i_frames() 1649 l2c_link_check_send_pkts(p_ccb->p_lcb, NULL, NULL); in retransmit_i_frames() 1906 if (!(p_ccb->p_lcb->peer_ext_fea & L2CAP_EXTFEA_ENH_RETRANS)) in l2c_fcr_chk_chan_modes() 1909 if (!(p_ccb->p_lcb->peer_ext_fea & L2CAP_EXTFEA_STREAM_MODE)) in l2c_fcr_chk_chan_modes() [all …]
|
/system/bt/stack/avct/ |
D | avct_l2c.cc | 74 static bool avct_l2c_is_passive(tAVCT_LCB* p_lcb) { in avct_l2c_is_passive() argument 80 if (p_ccb->allocated && (p_ccb->p_lcb == p_lcb)) { in avct_l2c_is_passive() 103 tAVCT_LCB* p_lcb; in avct_l2c_connect_ind_cback() local 108 p_lcb = avct_lcb_by_bd(bd_addr); in avct_l2c_connect_ind_cback() 109 if (p_lcb == NULL) { in avct_l2c_connect_ind_cback() 111 p_lcb = avct_lcb_alloc(bd_addr); in avct_l2c_connect_ind_cback() 112 if (p_lcb == NULL) { in avct_l2c_connect_ind_cback() 119 if (!avct_l2c_is_passive(p_lcb) || (p_lcb->ch_state == AVCT_CH_OPEN)) { in avct_l2c_connect_ind_cback() 125 p_lcb->conflict_lcid = p_lcb->ch_lcid; in avct_l2c_connect_ind_cback() 127 p_lcb->conflict_lcid); in avct_l2c_connect_ind_cback() [all …]
|
D | avct_lcb_act.cc | 51 static BT_HDR* avct_lcb_msg_asmbl(tAVCT_LCB* p_lcb, BT_HDR* p_buf) { in avct_lcb_msg_asmbl() argument 69 if (p_lcb->p_rx_msg != NULL) in avct_lcb_msg_asmbl() 72 osi_free_and_reset((void**)&p_lcb->p_rx_msg); in avct_lcb_msg_asmbl() 79 if (p_lcb->p_rx_msg != NULL) in avct_lcb_msg_asmbl() 82 osi_free(p_lcb->p_rx_msg); in avct_lcb_msg_asmbl() 89 p_lcb->p_rx_msg = (BT_HDR*)osi_malloc(BT_DEFAULT_BUFFER_SIZE); in avct_lcb_msg_asmbl() 90 memcpy(p_lcb->p_rx_msg, p_buf, sizeof(BT_HDR) + p_buf->offset + p_buf->len); in avct_lcb_msg_asmbl() 96 p = (uint8_t*)(p_lcb->p_rx_msg + 1) + p_lcb->p_rx_msg->offset; in avct_lcb_msg_asmbl() 102 p_lcb->p_rx_msg->offset += p_lcb->p_rx_msg->len; in avct_lcb_msg_asmbl() 105 p_lcb->p_rx_msg->len -= 1; in avct_lcb_msg_asmbl() [all …]
|
D | avct_l2c_br.cc | 121 tAVCT_LCB* p_lcb; in avct_l2c_br_connect_ind_cback() local 130 p_lcb = avct_lcb_by_bd(bd_addr); in avct_l2c_br_connect_ind_cback() 131 if (p_lcb != NULL) { in avct_l2c_br_connect_ind_cback() 133 p_bcb = avct_bcb_by_lcb(p_lcb); in avct_l2c_br_connect_ind_cback() 140 p_bcb->allocated = p_lcb->allocated; /* copy the index from lcb */ in avct_l2c_br_connect_ind_cback() 186 tAVCT_BCB* p_lcb; in avct_l2c_br_connect_cfm_cback() local 190 p_lcb = avct_bcb_by_lcid(lcid); in avct_l2c_br_connect_cfm_cback() 191 if ((p_lcb == NULL) || (p_lcb->ch_state != AVCT_CH_CONN)) return; in avct_l2c_br_connect_cfm_cback() 197 avct_bcb_event(p_lcb, AVCT_LCB_LL_CLOSE_EVT, &avct_lcb_evt); in avct_l2c_br_connect_cfm_cback() 203 p_lcb->ch_state = AVCT_CH_CFG; in avct_l2c_br_connect_cfm_cback() [all …]
|
D | avct_lcb.cc | 164 void avct_lcb_event(tAVCT_LCB* p_lcb, uint8_t event, tAVCT_LCB_EVT* p_data) { in avct_lcb_event() argument 169 AVCT_TRACE_EVENT("LCB lcb=%d event=%s state=%s", p_lcb->allocated, in avct_lcb_event() 170 avct_lcb_evt_str[event], avct_lcb_st_str[p_lcb->state]); in avct_lcb_event() 173 state_table = avct_lcb_st_tbl[p_lcb->state]; in avct_lcb_event() 176 p_lcb->state = state_table[event][AVCT_LCB_NEXT_STATE]; in avct_lcb_event() 182 (*avct_lcb_action[action])(p_lcb, p_data); in avct_lcb_event() 235 tAVCT_LCB* p_lcb = &avct_cb.lcb[0]; in avct_lcb_by_bd() local 238 for (i = 0; i < AVCT_NUM_LINKS; i++, p_lcb++) { in avct_lcb_by_bd() 240 if (p_lcb->allocated && p_lcb->peer_addr == bd_addr) { in avct_lcb_by_bd() 247 p_lcb = NULL; in avct_lcb_by_bd() [all …]
|
D | avct_int.h | 108 tAVCT_LCB* p_lcb; /* Associated LCB */ member 147 extern void avct_lcb_event(tAVCT_LCB* p_lcb, uint8_t event, 151 extern void avct_close_bcb(tAVCT_LCB* p_lcb, tAVCT_LCB_EVT* p_data); 153 extern tAVCT_BCB* avct_bcb_by_lcb(tAVCT_LCB* p_lcb); 159 extern void avct_lcb_dealloc(tAVCT_LCB* p_lcb, tAVCT_LCB_EVT* p_data); 161 extern tAVCT_CCB* avct_lcb_has_pid(tAVCT_LCB* p_lcb, uint16_t pid); 162 extern bool avct_lcb_last_ccb(tAVCT_LCB* p_lcb, tAVCT_CCB* p_ccb_last); 165 extern void avct_lcb_chnl_open(tAVCT_LCB* p_lcb, tAVCT_LCB_EVT* p_data); 166 extern void avct_lcb_unbind_disc(tAVCT_LCB* p_lcb, tAVCT_LCB_EVT* p_data); 167 extern void avct_lcb_open_ind(tAVCT_LCB* p_lcb, tAVCT_LCB_EVT* p_data); [all …]
|
D | avct_api.cc | 136 tAVCT_LCB* p_lcb; in AVCT_CreateConn() local 151 p_lcb = avct_lcb_by_bd(peer_addr); in AVCT_CreateConn() 152 if (p_lcb == NULL) { in AVCT_CreateConn() 153 p_lcb = avct_lcb_alloc(peer_addr); in AVCT_CreateConn() 154 if (p_lcb == NULL) { in AVCT_CreateConn() 161 else if (avct_lcb_has_pid(p_lcb, p_cc->pid)) { in AVCT_CreateConn() 168 p_ccb->p_lcb = p_lcb; in AVCT_CreateConn() 169 AVCT_TRACE_DEBUG("ch_state: %d", p_lcb->ch_state); in AVCT_CreateConn() 172 avct_lcb_event(p_lcb, AVCT_LCB_UL_BIND_EVT, &avct_lcb_evt); in AVCT_CreateConn() 204 else if (p_ccb->p_lcb == NULL) { in AVCT_RemoveConn() [all …]
|
D | avct_bcb_act.cc | 103 tAVCT_LCB* p_lcb = avct_lcb_by_bcb(p_bcb); in avct_bcb_chnl_open() local 106 BTM_SetOutService(p_lcb->peer_addr, BTM_SEC_SERVICE_AVCTP_BROWSE, 0); in avct_bcb_chnl_open() 119 L2CA_ErtmConnectReq(AVCT_BR_PSM, p_lcb->peer_addr, &ertm_info); in avct_bcb_chnl_open() 172 0, &p_ccb->p_lcb->peer_addr); in avct_bcb_open_ind() 177 (p_ccb->p_lcb != NULL) && in avct_bcb_open_ind() 178 p_bcb->peer_addr == p_ccb->p_lcb->peer_addr) { in avct_bcb_open_ind() 184 0, &p_ccb->p_lcb->peer_addr); in avct_bcb_open_ind() 246 tAVCT_LCB* p_lcb = avct_lcb_by_bcb(p_bcb); in avct_bcb_close_ind() local 253 &p_lcb->peer_addr); in avct_bcb_close_ind() 294 if (p_ccb->p_lcb == NULL) avct_ccb_dealloc(p_ccb, AVCT_NO_EVT, 0, NULL); in avct_bcb_close_cfm() [all …]
|
D | avct_ccb.cc | 87 p_ccb->p_lcb = NULL; in avct_ccb_dealloc()
|
/system/bt/bta/av/ |
D | bta_av_act.cc | 450 tBTA_AV_LCB* p_lcb = NULL; in bta_av_find_lcb() local 457 p_lcb = &p_cb->lcb[xx]; in bta_av_find_lcb() 465 return p_lcb; in bta_av_find_lcb() 482 tBTA_AV_LCB* p_lcb; in bta_av_rc_opened() local 542 p_lcb = &p_cb->lcb[BTA_AV_NUM_LINKS]; in bta_av_rc_opened() 543 p_lcb->addr = p_data->rc_conn_chg.peer_addr; in bta_av_rc_opened() 544 p_lcb->lidx = BTA_AV_NUM_LINKS + 1; in bta_av_rc_opened() 545 p_cb->rcb[i].lidx = p_lcb->lidx; in bta_av_rc_opened() 546 p_lcb->conn_msk = 1; in bta_av_rc_opened() 548 __func__, p_lcb->addr.ToString().c_str(), i, in bta_av_rc_opened() [all …]
|
/system/bt/stack/btm/ |
D | btm_ble_bgconn.cc | 611 tL2C_LCB* p_lcb = (tL2C_LCB*)p_req->p_param; in btm_ble_dequeue_direct_conn_req() local 612 if ((p_lcb == NULL) || (!p_lcb->in_use)) { in btm_ble_dequeue_direct_conn_req() 616 if (rem_bda == p_lcb->remote_bd_addr) { in btm_ble_dequeue_direct_conn_req() 642 tL2C_LCB* p_lcb = (tL2C_LCB*)(p_req->p_param); in btm_send_pending_direct_conn() local 644 if (p_lcb->in_use) rt = l2cble_init_direct_conn(p_lcb); in btm_send_pending_direct_conn()
|
D | btm_acl.cc | 827 tL2C_LCB* p_lcb = l2cu_find_lcb_by_bd_addr(bda, BT_TRANSPORT_LE); in btm_use_preferred_conn_params() local 838 ((p_lcb->min_interval < p_dev_rec->conn_params.min_conn_int && in btm_use_preferred_conn_params() 840 (p_lcb->min_interval > p_dev_rec->conn_params.max_conn_int) || in btm_use_preferred_conn_params() 841 (p_lcb->latency > p_dev_rec->conn_params.slave_latency) || in btm_use_preferred_conn_params() 842 (p_lcb->timeout > p_dev_rec->conn_params.supervision_tout))) { in btm_use_preferred_conn_params() 846 __func__, p_lcb->handle, p_dev_rec->conn_params.min_conn_int, in btm_use_preferred_conn_params() 851 p_lcb->min_interval = p_dev_rec->conn_params.min_conn_int; in btm_use_preferred_conn_params() 852 p_lcb->max_interval = p_dev_rec->conn_params.max_conn_int; in btm_use_preferred_conn_params() 853 p_lcb->timeout = p_dev_rec->conn_params.supervision_tout; in btm_use_preferred_conn_params() 854 p_lcb->latency = p_dev_rec->conn_params.slave_latency; in btm_use_preferred_conn_params() [all …]
|
D | btm_pm.cc | 756 tL2C_LCB* p_lcb; in btm_pm_proc_mode_change() local 773 p_lcb = l2cu_find_lcb_by_bd_addr(p->remote_addr, BT_TRANSPORT_BR_EDR); in btm_pm_proc_mode_change() 774 if (p_lcb != NULL) { in btm_pm_proc_mode_change() 780 l2c_link_check_send_pkts(p_lcb, NULL, NULL); in btm_pm_proc_mode_change()
|
D | btm_sec.cc | 2776 tL2C_LCB* p_lcb = in btm_sec_dd_create_conn() local 2778 if (p_lcb && (p_lcb->link_state == LST_CONNECTED || in btm_sec_dd_create_conn() 2779 p_lcb->link_state == LST_CONNECTING)) { in btm_sec_dd_create_conn() 2786 if (!p_lcb && (p_lcb = l2cu_allocate_lcb(p_dev_rec->bd_addr, true, in btm_sec_dd_create_conn() 2797 if (!l2cu_create_conn(p_lcb, BT_TRANSPORT_BR_EDR)) { in btm_sec_dd_create_conn() 2801 l2cu_release_lcb(p_lcb); in btm_sec_dd_create_conn()
|
D | btm_ble.cc | 1142 tL2C_LCB* p_lcb = l2cu_find_lcb_by_bd_addr(bd_addr, BT_TRANSPORT_LE); in btm_ble_start_sec_check() local 1143 p_lcb->sec_act = sec_act; in btm_ble_start_sec_check()
|