Loading system/bta/hl/bta_hl_act.cc +9 −8 Original line number Diff line number Diff line Loading @@ -1254,7 +1254,7 @@ void bta_hl_dch_mca_create_ind(uint8_t app_idx, uint8_t mcl_idx, evt_data.dch_create_ind.local_mdep_id = p_dcb->local_mdep_id; evt_data.dch_create_ind.mdl_id = p_dcb->mdl_id; evt_data.dch_create_ind.cfg = p_dcb->remote_cfg; bdcpy(evt_data.dch_create_ind.bd_addr, p_mcb->bd_addr); evt_data.dch_create_ind.bd_addr = p_mcb->bd_addr; p_acb->p_cback(BTA_HL_DCH_CREATE_IND_EVT, (tBTA_HL*)&evt_data); } else { if (MCA_CreateMdlRsp((tMCA_CL)p_mcb->mcl_handle, p_dcb->local_mdep_id, Loading Loading @@ -1848,8 +1848,8 @@ tBTA_HL_STATUS bta_hl_init_sdp(tBTA_HL_SDP_OPER sdp_oper, uint8_t app_idx, SDP_InitDiscoveryDb(p_cb->p_db, BTA_HL_DISC_SIZE, 1, &uuid_list, num_attrs, attr_list); if (!SDP_ServiceSearchAttributeRequest(p_cb->bd_addr, p_cb->p_db, p_cb->sdp_cback)) { if (!SDP_ServiceSearchAttributeRequest(to_BD_ADDR(p_cb->bd_addr), p_cb->p_db, p_cb->sdp_cback)) { status = BTA_HL_STATUS_FAIL; } else { status = BTA_HL_STATUS_OK; Loading Loading @@ -1920,8 +1920,9 @@ void bta_hl_cch_mca_open(uint8_t app_idx, uint8_t mcl_idx, &sdp_idx)) { p_mcb->ctrl_psm = p_mcb->sdp.sdp_rec[sdp_idx].ctrl_psm; p_mcb->data_psm = p_mcb->sdp.sdp_rec[sdp_idx].data_psm; if (MCA_ConnectReq((tMCA_HANDLE)p_acb->app_handle, p_mcb->bd_addr, p_mcb->ctrl_psm, p_mcb->sec_mask) != MCA_SUCCESS) { if (MCA_ConnectReq((tMCA_HANDLE)p_acb->app_handle, to_BD_ADDR(p_mcb->bd_addr), p_mcb->ctrl_psm, p_mcb->sec_mask) != MCA_SUCCESS) { bta_hl_cch_sm_execute(app_idx, mcl_idx, BTA_HL_CCH_CLOSE_CMPL_EVT, p_data); } Loading Loading @@ -1986,7 +1987,7 @@ void bta_hl_cch_close_cmpl(uint8_t app_idx, uint8_t mcl_idx, #if (BTA_HL_DEBUG == TRUE) APPL_TRACE_DEBUG("bta_hl_cch_close_cmpl"); #endif bta_sys_conn_close(BTA_ID_HL, p_acb->app_id, p_mcb->bd_addr); bta_sys_conn_close(BTA_ID_HL, p_acb->app_id, to_BD_ADDR(p_mcb->bd_addr)); if (p_mcb->cch_oper == BTA_HL_CCH_OP_LOCAL_CLOSE && p_mcb->force_close_local_cch_opening) { Loading Loading @@ -2131,10 +2132,10 @@ void bta_hl_cch_mca_connect(uint8_t app_idx, uint8_t mcl_idx, #endif p_mcb->mcl_handle = p_data->mca_evt.mcl_handle; bdcpy(p_mcb->bd_addr, p_data->mca_evt.mca_data.connect_ind.bd_addr); p_mcb->bd_addr = from_BD_ADDR(p_data->mca_evt.mca_data.connect_ind.bd_addr); p_mcb->cch_mtu = p_data->mca_evt.mca_data.connect_ind.mtu; bta_sys_conn_open(BTA_ID_HL, p_acb->app_id, p_mcb->bd_addr); bta_sys_conn_open(BTA_ID_HL, p_acb->app_id, to_BD_ADDR(p_mcb->bd_addr)); switch (p_mcb->cch_oper) { case BTA_HL_CCH_OP_LOCAL_OPEN: bta_hl_build_cch_open_cfm(&evt_data, p_mcb->app_id, p_acb->app_handle, Loading system/bta/hl/bta_hl_api.cc +3 −3 Original line number Diff line number Diff line Loading @@ -227,7 +227,7 @@ void BTA_HlCchOpen(uint8_t app_id, tBTA_HL_APP_HANDLE app_handle, p_buf->app_handle = app_handle; p_buf->sec_mask = (p_open_param->sec_mask | BTA_SEC_AUTHENTICATE | BTA_SEC_ENCRYPT); bdcpy(p_buf->bd_addr, p_open_param->bd_addr); p_buf->bd_addr = p_open_param->bd_addr; p_buf->ctrl_psm = p_open_param->ctrl_psm; bta_sys_sendmsg(p_buf); Loading Loading @@ -443,14 +443,14 @@ void BTA_HlDchEchoTest(tBTA_HL_MCL_HANDLE mcl_handle, * ******************************************************************************/ void BTA_HlSdpQuery(uint8_t app_id, tBTA_HL_APP_HANDLE app_handle, BD_ADDR bd_addr) { const bt_bdaddr_t& bd_addr) { tBTA_HL_API_SDP_QUERY* p_buf = (tBTA_HL_API_SDP_QUERY*)osi_malloc(sizeof(tBTA_HL_API_SDP_QUERY)); p_buf->hdr.event = BTA_HL_API_SDP_QUERY_EVT; p_buf->app_id = app_id; p_buf->app_handle = app_handle; bdcpy(p_buf->bd_addr, bd_addr); p_buf->bd_addr = bd_addr; bta_sys_sendmsg(p_buf); } Loading system/bta/hl/bta_hl_int.h +14 −11 Original line number Diff line number Diff line Loading @@ -267,7 +267,7 @@ typedef struct { uint8_t app_id; tBTA_HL_APP_HANDLE app_handle; uint16_t ctrl_psm; BD_ADDR bd_addr; /* Address of peer device */ bt_bdaddr_t bd_addr; /* Address of peer device */ tBTA_SEC sec_mask; /* security mask for initiating connection*/ } tBTA_HL_API_CCH_OPEN; Loading Loading @@ -359,7 +359,7 @@ typedef struct { BT_HDR hdr; tBTA_HL_APP_HANDLE app_handle; uint8_t app_id; BD_ADDR bd_addr; /* Address of peer device */ bt_bdaddr_t bd_addr; /* Address of peer device */ } tBTA_HL_API_SDP_QUERY; typedef struct { Loading Loading @@ -455,7 +455,7 @@ typedef struct { uint16_t req_ctrl_psm; uint16_t ctrl_psm; uint16_t data_psm; BD_ADDR bd_addr; bt_bdaddr_t bd_addr; uint16_t cch_mtu; uint16_t sec_mask; tBTA_HL_MCL_HANDLE mcl_handle; Loading Loading @@ -720,7 +720,7 @@ extern bool bta_hl_find_app_idx_using_handle(tBTA_HL_APP_HANDLE app_handle, extern bool bta_hl_find_mcl_idx_using_handle(tBTA_HL_MCL_HANDLE mcl_handle, uint8_t* p_app_idx, uint8_t* p_mcl_idx); extern bool bta_hl_find_mcl_idx(uint8_t app_idx, BD_ADDR p_bd_addr, extern bool bta_hl_find_mcl_idx(uint8_t app_idx, const bt_bdaddr_t& p_bd_addr, uint8_t* p_mcl_idx); extern bool bta_hl_is_the_first_reliable_existed(uint8_t app_idx, uint8_t mcl_idx); Loading @@ -735,9 +735,10 @@ extern bool bta_hl_find_mdl_cfg_idx(uint8_t app_idx, uint8_t mcl_idx, extern bool bta_hl_get_cur_time(uint8_t app_idx, uint8_t* p_cur_time); extern void bta_hl_sort_cfg_time_idx(uint8_t app_idx, uint8_t* a, uint8_t n); extern void bta_hl_compact_mdl_cfg_time(uint8_t app_idx, uint8_t mdep_id); extern bool bta_hl_is_mdl_exsit_in_mcl(uint8_t app_idx, BD_ADDR bd_addr, extern bool bta_hl_is_mdl_exsit_in_mcl(uint8_t app_idx, const bt_bdaddr_t& bd_addr, tBTA_HL_MDL_ID mdl_id); extern bool bta_hl_delete_mdl_cfg(uint8_t app_idx, BD_ADDR bd_addr, extern bool bta_hl_delete_mdl_cfg(uint8_t app_idx, const bt_bdaddr_t& bd_addr, tBTA_HL_MDL_ID mdl_id); extern bool bta_hl_is_mdl_value_valid(tBTA_HL_MDL_ID mdl_id); extern bool bta_hl_find_mdep_cfg_idx(uint8_t app_idx, Loading Loading @@ -774,7 +775,7 @@ extern bool bta_hl_get_l2cap_cfg(tBTA_HL_MDL_HANDLE mdl_hnd, tBTA_HL_L2CAP_CFG_INFO* p_cfg); extern bool bta_hl_validate_chan_cfg(uint8_t app_idx, uint8_t mcl_idx, uint8_t mdl_idx); extern bool bta_hl_is_cong_on(uint8_t app_id, BD_ADDR bd_addr, extern bool bta_hl_is_cong_on(uint8_t app_id, const bt_bdaddr_t& bd_addr, tBTA_HL_MDL_ID mdl_id); extern void bta_hl_check_cch_close(uint8_t app_idx, uint8_t mcl_idx, tBTA_HL_DATA* p_data, bool check_dch_setup); Loading Loading @@ -810,11 +811,12 @@ extern void bta_hl_build_rcv_data_ind(tBTA_HL* p_evt_data, extern void bta_hl_build_cch_open_cfm(tBTA_HL* p_evt_data, uint8_t app_id, tBTA_HL_APP_HANDLE app_handle, tBTA_HL_MCL_HANDLE mcl_handle, BD_ADDR bd_addr, tBTA_HL_STATUS status); const bt_bdaddr_t& bd_addr, tBTA_HL_STATUS status); extern void bta_hl_build_cch_open_ind(tBTA_HL* p_evt_data, tBTA_HL_APP_HANDLE app_handle, tBTA_HL_MCL_HANDLE mcl_handle, BD_ADDR bd_addr); const bt_bdaddr_t& bd_addr); extern void bta_hl_build_cch_close_cfm(tBTA_HL* p_evt_data, tBTA_HL_APP_HANDLE app_handle, tBTA_HL_MCL_HANDLE mcl_handle, Loading Loading @@ -842,7 +844,8 @@ extern void bta_hl_build_echo_test_cfm(tBTA_HL* p_evt_data, tBTA_HL_STATUS status); extern void bta_hl_build_sdp_query_cfm(tBTA_HL* p_evt_data, uint8_t app_id, tBTA_HL_APP_HANDLE app_handle, BD_ADDR bd_addr, tBTA_HL_SDP* p_sdp, const bt_bdaddr_t& bd_addr, tBTA_HL_SDP* p_sdp, tBTA_HL_STATUS status); #if (BTA_HL_DEBUG == TRUE) Loading system/bta/hl/bta_hl_main.cc +2 −2 Original line number Diff line number Diff line Loading @@ -780,7 +780,7 @@ static void bta_hl_api_cch_open(UNUSED_ATTR tBTA_HL_CB* p_cb, p_mcb->in_use = true; p_mcb->req_ctrl_psm = p_data->api_cch_open.ctrl_psm; p_mcb->sec_mask = p_data->api_cch_open.sec_mask; bdcpy(p_mcb->bd_addr, p_data->api_cch_open.bd_addr); p_mcb->bd_addr = p_data->api_cch_open.bd_addr; p_mcb->cch_oper = BTA_HL_CCH_OP_LOCAL_OPEN; } else { status = BTA_HL_STATUS_NO_RESOURCE; Loading Loading @@ -1328,7 +1328,7 @@ static void bta_hl_api_sdp_query(UNUSED_ATTR tBTA_HL_CB* p_cb, if (bta_hl_find_avail_mcl_idx(app_idx, &mcl_idx)) { p_mcb = BTA_HL_GET_MCL_CB_PTR(app_idx, mcl_idx); p_mcb->in_use = true; bdcpy(p_mcb->bd_addr, p_data->api_sdp_query.bd_addr); p_mcb->bd_addr = p_data->api_sdp_query.bd_addr; APPL_TRACE_DEBUG( "bta_hl_api_sdp_query p_mcb->app_id %d app_idx %d mcl_idx %d", p_mcb->app_id, app_idx, mcl_idx); Loading system/bta/hl/bta_hl_utils.cc +28 −24 Original line number Diff line number Diff line Loading @@ -436,8 +436,9 @@ bool bta_hl_find_cch_cb_indexes(tBTA_HL_DATA* p_msg, uint8_t* p_app_idx, if (bta_hl_find_app_idx_using_handle(p_msg->mca_evt.app_handle, &app_idx)) { if (bta_hl_find_mcl_idx(app_idx, p_msg->mca_evt.mca_data.connect_ind.bd_addr, if (bta_hl_find_mcl_idx( app_idx, from_BD_ADDR(p_msg->mca_evt.mca_data.connect_ind.bd_addr), &mcl_idx)) { /* local initiated */ found = true; Loading @@ -461,7 +462,9 @@ bool bta_hl_find_cch_cb_indexes(tBTA_HL_DATA* p_msg, uint8_t* p_app_idx, } else if (bta_hl_find_app_idx_using_handle(p_msg->mca_evt.app_handle, &app_idx) && bta_hl_find_mcl_idx( app_idx, p_msg->mca_evt.mca_data.disconnect_ind.bd_addr, app_idx, from_BD_ADDR( p_msg->mca_evt.mca_data.disconnect_ind.bd_addr), &mcl_idx)) { found = true; } Loading Loading @@ -1026,15 +1029,14 @@ bool bta_hl_find_mcl_idx_using_handle(tBTA_HL_MCL_HANDLE mcl_handle, * Returns bool true-found * ******************************************************************************/ bool bta_hl_find_mcl_idx(uint8_t app_idx, BD_ADDR p_bd_addr, bool bta_hl_find_mcl_idx(uint8_t app_idx, const bt_bdaddr_t& p_bd_addr, uint8_t* p_mcl_idx) { bool found = false; uint8_t i; for (i = 0; i < BTA_HL_NUM_MCLS; i++) { if (bta_hl_cb.acb[app_idx].mcb[i].in_use && (!memcmp(bta_hl_cb.acb[app_idx].mcb[i].bd_addr, p_bd_addr, BD_ADDR_LEN))) { bta_hl_cb.acb[app_idx].mcb[i].bd_addr == p_bd_addr) { found = true; *p_mcl_idx = i; break; Loading Loading @@ -1155,8 +1157,7 @@ bool bta_hl_find_non_active_mdl_cfg(uint8_t app_idx, uint8_t start_mdl_cfg_idx, p_mdl = BTA_HL_GET_MDL_CFG_PTR(app_idx, i); for (j = 0; j < BTA_HL_NUM_MCLS; j++) { p_mcb = BTA_HL_GET_MCL_CB_PTR(app_idx, j); if (p_mcb->in_use && !memcmp(p_mdl->peer_bd_addr, p_mcb->bd_addr, BD_ADDR_LEN)) { if (p_mcb->in_use && p_mdl->peer_bd_addr == p_mcb->bd_addr) { for (k = 0; k < BTA_HL_NUM_MDLS_PER_MCL; k++) { p_dcb = BTA_HL_GET_MDL_CB_PTR(app_idx, j, k); Loading Loading @@ -1284,8 +1285,7 @@ bool bta_hl_find_mdl_cfg_idx(uint8_t app_idx, uint8_t mcl_idx, if (p_mdl->active) APPL_TRACE_DEBUG("bta_hl_find_mdl_cfg_idx: mdl_id =%d, p_mdl->mdl_id=%d", mdl_id, p_mdl->mdl_id); if (p_mdl->active && (!memcmp(p_mcb->bd_addr, p_mdl->peer_bd_addr, BD_ADDR_LEN)) && if (p_mdl->active && p_mcb->bd_addr == p_mdl->peer_bd_addr && (p_mdl->mdl_id == mdl_id)) { found = true; *p_mdl_cfg_idx = i; Loading Loading @@ -1434,7 +1434,7 @@ void bta_hl_compact_mdl_cfg_time(uint8_t app_idx, uint8_t mdep_id) { * false does not exist * ******************************************************************************/ bool bta_hl_is_mdl_exsit_in_mcl(uint8_t app_idx, BD_ADDR bd_addr, bool bta_hl_is_mdl_exsit_in_mcl(uint8_t app_idx, const bt_bdaddr_t& bd_addr, tBTA_HL_MDL_ID mdl_id) { tBTA_HL_MDL_CFG* p_mdl; bool found = false; Loading @@ -1442,7 +1442,7 @@ bool bta_hl_is_mdl_exsit_in_mcl(uint8_t app_idx, BD_ADDR bd_addr, for (i = 0; i < BTA_HL_NUM_MDL_CFGS; i++) { p_mdl = BTA_HL_GET_MDL_CFG_PTR(app_idx, i); if (p_mdl->active && !memcmp(p_mdl->peer_bd_addr, bd_addr, BD_ADDR_LEN)) { if (p_mdl->active && p_mdl->peer_bd_addr == bd_addr) { if (mdl_id != BTA_HL_DELETE_ALL_MDL_IDS) { if (p_mdl->mdl_id == mdl_id) { found = true; Loading @@ -1468,7 +1468,7 @@ bool bta_hl_is_mdl_exsit_in_mcl(uint8_t app_idx, BD_ADDR bd_addr, * false Failed * ******************************************************************************/ bool bta_hl_delete_mdl_cfg(uint8_t app_idx, BD_ADDR bd_addr, bool bta_hl_delete_mdl_cfg(uint8_t app_idx, const bt_bdaddr_t& bd_addr, tBTA_HL_MDL_ID mdl_id) { tBTA_HL_MDL_CFG* p_mdl; bool success = false; Loading @@ -1476,7 +1476,7 @@ bool bta_hl_delete_mdl_cfg(uint8_t app_idx, BD_ADDR bd_addr, for (i = 0; i < BTA_HL_NUM_MDL_CFGS; i++) { p_mdl = BTA_HL_GET_MDL_CFG_PTR(app_idx, i); if (p_mdl->active && !memcmp(p_mdl->peer_bd_addr, bd_addr, BD_ADDR_LEN)) { if (p_mdl->active && p_mdl->peer_bd_addr == bd_addr) { if (mdl_id != BTA_HL_DELETE_ALL_MDL_IDS) { if (p_mdl->mdl_id == mdl_id) { bta_hl_co_delete_mdl(p_mdl->local_mdep_id, i); Loading Loading @@ -2196,7 +2196,7 @@ void bta_hl_save_mdl_cfg(uint8_t app_idx, uint8_t mcl_idx, uint8_t mdl_idx) { mdl_cfg.mtu = l2cap_cfg.mtu; mdl_cfg.fcs = l2cap_cfg.fcs; bdcpy(mdl_cfg.peer_bd_addr, p_mcb->bd_addr); mdl_cfg.peer_bd_addr = p_mcb->bd_addr; mdl_cfg.local_mdep_id = p_dcb->local_mdep_id; p_mdep_cfg = &p_acb->sup_feature.mdep[p_dcb->local_mdep_cfg_idx]; mdl_cfg.local_mdep_role = p_mdep_cfg->mdep_cfg.mdep_role; Loading Loading @@ -2422,7 +2422,8 @@ bool bta_hl_validate_chan_cfg(uint8_t app_idx, uint8_t mcl_idx, * false not congested * ******************************************************************************/ bool bta_hl_is_cong_on(uint8_t app_id, BD_ADDR bd_addr, tBTA_HL_MDL_ID mdl_id) bool bta_hl_is_cong_on(uint8_t app_id, const bt_bdaddr_t& bd_addr, tBTA_HL_MDL_ID mdl_id) { tBTA_HL_MDL_CB* p_dcb; Loading Loading @@ -2723,12 +2724,13 @@ void bta_hl_build_rcv_data_ind(tBTA_HL* p_evt_data, ******************************************************************************/ void bta_hl_build_cch_open_cfm(tBTA_HL* p_evt_data, uint8_t app_id, tBTA_HL_APP_HANDLE app_handle, tBTA_HL_MCL_HANDLE mcl_handle, BD_ADDR bd_addr, tBTA_HL_MCL_HANDLE mcl_handle, const bt_bdaddr_t& bd_addr, tBTA_HL_STATUS status) { p_evt_data->cch_open_cfm.app_id = app_id; p_evt_data->cch_open_cfm.app_handle = app_handle; p_evt_data->cch_open_cfm.mcl_handle = mcl_handle; bdcpy(p_evt_data->cch_open_cfm.bd_addr, bd_addr); p_evt_data->cch_open_cfm.bd_addr = bd_addr; p_evt_data->cch_open_cfm.status = status; APPL_TRACE_DEBUG("bta_hl_build_cch_open_cfm: status=%d", status); } Loading @@ -2744,10 +2746,11 @@ void bta_hl_build_cch_open_cfm(tBTA_HL* p_evt_data, uint8_t app_id, ******************************************************************************/ void bta_hl_build_cch_open_ind(tBTA_HL* p_evt_data, tBTA_HL_APP_HANDLE app_handle, tBTA_HL_MCL_HANDLE mcl_handle, BD_ADDR bd_addr) { tBTA_HL_MCL_HANDLE mcl_handle, const bt_bdaddr_t& bd_addr) { p_evt_data->cch_open_ind.app_handle = app_handle; p_evt_data->cch_open_ind.mcl_handle = mcl_handle; bdcpy(p_evt_data->cch_open_ind.bd_addr, bd_addr); p_evt_data->cch_open_ind.bd_addr = bd_addr; } /******************************************************************************* Loading Loading @@ -2826,15 +2829,16 @@ void bta_hl_build_dch_open_cfm(tBTA_HL* p_evt_data, * ******************************************************************************/ void bta_hl_build_sdp_query_cfm(tBTA_HL* p_evt_data, uint8_t app_id, tBTA_HL_APP_HANDLE app_handle, BD_ADDR bd_addr, tBTA_HL_SDP* p_sdp, tBTA_HL_STATUS status) tBTA_HL_APP_HANDLE app_handle, const bt_bdaddr_t& bd_addr, tBTA_HL_SDP* p_sdp, tBTA_HL_STATUS status) { APPL_TRACE_DEBUG("bta_hl_build_sdp_query_cfm: app_id = %d, app_handle=%d", app_id, app_handle); p_evt_data->sdp_query_cfm.app_id = app_id; p_evt_data->sdp_query_cfm.app_handle = app_handle; bdcpy(p_evt_data->sdp_query_cfm.bd_addr, bd_addr); p_evt_data->sdp_query_cfm.bd_addr = bd_addr; p_evt_data->sdp_query_cfm.p_sdp = p_sdp; p_evt_data->sdp_query_cfm.status = status; } Loading Loading
system/bta/hl/bta_hl_act.cc +9 −8 Original line number Diff line number Diff line Loading @@ -1254,7 +1254,7 @@ void bta_hl_dch_mca_create_ind(uint8_t app_idx, uint8_t mcl_idx, evt_data.dch_create_ind.local_mdep_id = p_dcb->local_mdep_id; evt_data.dch_create_ind.mdl_id = p_dcb->mdl_id; evt_data.dch_create_ind.cfg = p_dcb->remote_cfg; bdcpy(evt_data.dch_create_ind.bd_addr, p_mcb->bd_addr); evt_data.dch_create_ind.bd_addr = p_mcb->bd_addr; p_acb->p_cback(BTA_HL_DCH_CREATE_IND_EVT, (tBTA_HL*)&evt_data); } else { if (MCA_CreateMdlRsp((tMCA_CL)p_mcb->mcl_handle, p_dcb->local_mdep_id, Loading Loading @@ -1848,8 +1848,8 @@ tBTA_HL_STATUS bta_hl_init_sdp(tBTA_HL_SDP_OPER sdp_oper, uint8_t app_idx, SDP_InitDiscoveryDb(p_cb->p_db, BTA_HL_DISC_SIZE, 1, &uuid_list, num_attrs, attr_list); if (!SDP_ServiceSearchAttributeRequest(p_cb->bd_addr, p_cb->p_db, p_cb->sdp_cback)) { if (!SDP_ServiceSearchAttributeRequest(to_BD_ADDR(p_cb->bd_addr), p_cb->p_db, p_cb->sdp_cback)) { status = BTA_HL_STATUS_FAIL; } else { status = BTA_HL_STATUS_OK; Loading Loading @@ -1920,8 +1920,9 @@ void bta_hl_cch_mca_open(uint8_t app_idx, uint8_t mcl_idx, &sdp_idx)) { p_mcb->ctrl_psm = p_mcb->sdp.sdp_rec[sdp_idx].ctrl_psm; p_mcb->data_psm = p_mcb->sdp.sdp_rec[sdp_idx].data_psm; if (MCA_ConnectReq((tMCA_HANDLE)p_acb->app_handle, p_mcb->bd_addr, p_mcb->ctrl_psm, p_mcb->sec_mask) != MCA_SUCCESS) { if (MCA_ConnectReq((tMCA_HANDLE)p_acb->app_handle, to_BD_ADDR(p_mcb->bd_addr), p_mcb->ctrl_psm, p_mcb->sec_mask) != MCA_SUCCESS) { bta_hl_cch_sm_execute(app_idx, mcl_idx, BTA_HL_CCH_CLOSE_CMPL_EVT, p_data); } Loading Loading @@ -1986,7 +1987,7 @@ void bta_hl_cch_close_cmpl(uint8_t app_idx, uint8_t mcl_idx, #if (BTA_HL_DEBUG == TRUE) APPL_TRACE_DEBUG("bta_hl_cch_close_cmpl"); #endif bta_sys_conn_close(BTA_ID_HL, p_acb->app_id, p_mcb->bd_addr); bta_sys_conn_close(BTA_ID_HL, p_acb->app_id, to_BD_ADDR(p_mcb->bd_addr)); if (p_mcb->cch_oper == BTA_HL_CCH_OP_LOCAL_CLOSE && p_mcb->force_close_local_cch_opening) { Loading Loading @@ -2131,10 +2132,10 @@ void bta_hl_cch_mca_connect(uint8_t app_idx, uint8_t mcl_idx, #endif p_mcb->mcl_handle = p_data->mca_evt.mcl_handle; bdcpy(p_mcb->bd_addr, p_data->mca_evt.mca_data.connect_ind.bd_addr); p_mcb->bd_addr = from_BD_ADDR(p_data->mca_evt.mca_data.connect_ind.bd_addr); p_mcb->cch_mtu = p_data->mca_evt.mca_data.connect_ind.mtu; bta_sys_conn_open(BTA_ID_HL, p_acb->app_id, p_mcb->bd_addr); bta_sys_conn_open(BTA_ID_HL, p_acb->app_id, to_BD_ADDR(p_mcb->bd_addr)); switch (p_mcb->cch_oper) { case BTA_HL_CCH_OP_LOCAL_OPEN: bta_hl_build_cch_open_cfm(&evt_data, p_mcb->app_id, p_acb->app_handle, Loading
system/bta/hl/bta_hl_api.cc +3 −3 Original line number Diff line number Diff line Loading @@ -227,7 +227,7 @@ void BTA_HlCchOpen(uint8_t app_id, tBTA_HL_APP_HANDLE app_handle, p_buf->app_handle = app_handle; p_buf->sec_mask = (p_open_param->sec_mask | BTA_SEC_AUTHENTICATE | BTA_SEC_ENCRYPT); bdcpy(p_buf->bd_addr, p_open_param->bd_addr); p_buf->bd_addr = p_open_param->bd_addr; p_buf->ctrl_psm = p_open_param->ctrl_psm; bta_sys_sendmsg(p_buf); Loading Loading @@ -443,14 +443,14 @@ void BTA_HlDchEchoTest(tBTA_HL_MCL_HANDLE mcl_handle, * ******************************************************************************/ void BTA_HlSdpQuery(uint8_t app_id, tBTA_HL_APP_HANDLE app_handle, BD_ADDR bd_addr) { const bt_bdaddr_t& bd_addr) { tBTA_HL_API_SDP_QUERY* p_buf = (tBTA_HL_API_SDP_QUERY*)osi_malloc(sizeof(tBTA_HL_API_SDP_QUERY)); p_buf->hdr.event = BTA_HL_API_SDP_QUERY_EVT; p_buf->app_id = app_id; p_buf->app_handle = app_handle; bdcpy(p_buf->bd_addr, bd_addr); p_buf->bd_addr = bd_addr; bta_sys_sendmsg(p_buf); } Loading
system/bta/hl/bta_hl_int.h +14 −11 Original line number Diff line number Diff line Loading @@ -267,7 +267,7 @@ typedef struct { uint8_t app_id; tBTA_HL_APP_HANDLE app_handle; uint16_t ctrl_psm; BD_ADDR bd_addr; /* Address of peer device */ bt_bdaddr_t bd_addr; /* Address of peer device */ tBTA_SEC sec_mask; /* security mask for initiating connection*/ } tBTA_HL_API_CCH_OPEN; Loading Loading @@ -359,7 +359,7 @@ typedef struct { BT_HDR hdr; tBTA_HL_APP_HANDLE app_handle; uint8_t app_id; BD_ADDR bd_addr; /* Address of peer device */ bt_bdaddr_t bd_addr; /* Address of peer device */ } tBTA_HL_API_SDP_QUERY; typedef struct { Loading Loading @@ -455,7 +455,7 @@ typedef struct { uint16_t req_ctrl_psm; uint16_t ctrl_psm; uint16_t data_psm; BD_ADDR bd_addr; bt_bdaddr_t bd_addr; uint16_t cch_mtu; uint16_t sec_mask; tBTA_HL_MCL_HANDLE mcl_handle; Loading Loading @@ -720,7 +720,7 @@ extern bool bta_hl_find_app_idx_using_handle(tBTA_HL_APP_HANDLE app_handle, extern bool bta_hl_find_mcl_idx_using_handle(tBTA_HL_MCL_HANDLE mcl_handle, uint8_t* p_app_idx, uint8_t* p_mcl_idx); extern bool bta_hl_find_mcl_idx(uint8_t app_idx, BD_ADDR p_bd_addr, extern bool bta_hl_find_mcl_idx(uint8_t app_idx, const bt_bdaddr_t& p_bd_addr, uint8_t* p_mcl_idx); extern bool bta_hl_is_the_first_reliable_existed(uint8_t app_idx, uint8_t mcl_idx); Loading @@ -735,9 +735,10 @@ extern bool bta_hl_find_mdl_cfg_idx(uint8_t app_idx, uint8_t mcl_idx, extern bool bta_hl_get_cur_time(uint8_t app_idx, uint8_t* p_cur_time); extern void bta_hl_sort_cfg_time_idx(uint8_t app_idx, uint8_t* a, uint8_t n); extern void bta_hl_compact_mdl_cfg_time(uint8_t app_idx, uint8_t mdep_id); extern bool bta_hl_is_mdl_exsit_in_mcl(uint8_t app_idx, BD_ADDR bd_addr, extern bool bta_hl_is_mdl_exsit_in_mcl(uint8_t app_idx, const bt_bdaddr_t& bd_addr, tBTA_HL_MDL_ID mdl_id); extern bool bta_hl_delete_mdl_cfg(uint8_t app_idx, BD_ADDR bd_addr, extern bool bta_hl_delete_mdl_cfg(uint8_t app_idx, const bt_bdaddr_t& bd_addr, tBTA_HL_MDL_ID mdl_id); extern bool bta_hl_is_mdl_value_valid(tBTA_HL_MDL_ID mdl_id); extern bool bta_hl_find_mdep_cfg_idx(uint8_t app_idx, Loading Loading @@ -774,7 +775,7 @@ extern bool bta_hl_get_l2cap_cfg(tBTA_HL_MDL_HANDLE mdl_hnd, tBTA_HL_L2CAP_CFG_INFO* p_cfg); extern bool bta_hl_validate_chan_cfg(uint8_t app_idx, uint8_t mcl_idx, uint8_t mdl_idx); extern bool bta_hl_is_cong_on(uint8_t app_id, BD_ADDR bd_addr, extern bool bta_hl_is_cong_on(uint8_t app_id, const bt_bdaddr_t& bd_addr, tBTA_HL_MDL_ID mdl_id); extern void bta_hl_check_cch_close(uint8_t app_idx, uint8_t mcl_idx, tBTA_HL_DATA* p_data, bool check_dch_setup); Loading Loading @@ -810,11 +811,12 @@ extern void bta_hl_build_rcv_data_ind(tBTA_HL* p_evt_data, extern void bta_hl_build_cch_open_cfm(tBTA_HL* p_evt_data, uint8_t app_id, tBTA_HL_APP_HANDLE app_handle, tBTA_HL_MCL_HANDLE mcl_handle, BD_ADDR bd_addr, tBTA_HL_STATUS status); const bt_bdaddr_t& bd_addr, tBTA_HL_STATUS status); extern void bta_hl_build_cch_open_ind(tBTA_HL* p_evt_data, tBTA_HL_APP_HANDLE app_handle, tBTA_HL_MCL_HANDLE mcl_handle, BD_ADDR bd_addr); const bt_bdaddr_t& bd_addr); extern void bta_hl_build_cch_close_cfm(tBTA_HL* p_evt_data, tBTA_HL_APP_HANDLE app_handle, tBTA_HL_MCL_HANDLE mcl_handle, Loading Loading @@ -842,7 +844,8 @@ extern void bta_hl_build_echo_test_cfm(tBTA_HL* p_evt_data, tBTA_HL_STATUS status); extern void bta_hl_build_sdp_query_cfm(tBTA_HL* p_evt_data, uint8_t app_id, tBTA_HL_APP_HANDLE app_handle, BD_ADDR bd_addr, tBTA_HL_SDP* p_sdp, const bt_bdaddr_t& bd_addr, tBTA_HL_SDP* p_sdp, tBTA_HL_STATUS status); #if (BTA_HL_DEBUG == TRUE) Loading
system/bta/hl/bta_hl_main.cc +2 −2 Original line number Diff line number Diff line Loading @@ -780,7 +780,7 @@ static void bta_hl_api_cch_open(UNUSED_ATTR tBTA_HL_CB* p_cb, p_mcb->in_use = true; p_mcb->req_ctrl_psm = p_data->api_cch_open.ctrl_psm; p_mcb->sec_mask = p_data->api_cch_open.sec_mask; bdcpy(p_mcb->bd_addr, p_data->api_cch_open.bd_addr); p_mcb->bd_addr = p_data->api_cch_open.bd_addr; p_mcb->cch_oper = BTA_HL_CCH_OP_LOCAL_OPEN; } else { status = BTA_HL_STATUS_NO_RESOURCE; Loading Loading @@ -1328,7 +1328,7 @@ static void bta_hl_api_sdp_query(UNUSED_ATTR tBTA_HL_CB* p_cb, if (bta_hl_find_avail_mcl_idx(app_idx, &mcl_idx)) { p_mcb = BTA_HL_GET_MCL_CB_PTR(app_idx, mcl_idx); p_mcb->in_use = true; bdcpy(p_mcb->bd_addr, p_data->api_sdp_query.bd_addr); p_mcb->bd_addr = p_data->api_sdp_query.bd_addr; APPL_TRACE_DEBUG( "bta_hl_api_sdp_query p_mcb->app_id %d app_idx %d mcl_idx %d", p_mcb->app_id, app_idx, mcl_idx); Loading
system/bta/hl/bta_hl_utils.cc +28 −24 Original line number Diff line number Diff line Loading @@ -436,8 +436,9 @@ bool bta_hl_find_cch_cb_indexes(tBTA_HL_DATA* p_msg, uint8_t* p_app_idx, if (bta_hl_find_app_idx_using_handle(p_msg->mca_evt.app_handle, &app_idx)) { if (bta_hl_find_mcl_idx(app_idx, p_msg->mca_evt.mca_data.connect_ind.bd_addr, if (bta_hl_find_mcl_idx( app_idx, from_BD_ADDR(p_msg->mca_evt.mca_data.connect_ind.bd_addr), &mcl_idx)) { /* local initiated */ found = true; Loading @@ -461,7 +462,9 @@ bool bta_hl_find_cch_cb_indexes(tBTA_HL_DATA* p_msg, uint8_t* p_app_idx, } else if (bta_hl_find_app_idx_using_handle(p_msg->mca_evt.app_handle, &app_idx) && bta_hl_find_mcl_idx( app_idx, p_msg->mca_evt.mca_data.disconnect_ind.bd_addr, app_idx, from_BD_ADDR( p_msg->mca_evt.mca_data.disconnect_ind.bd_addr), &mcl_idx)) { found = true; } Loading Loading @@ -1026,15 +1029,14 @@ bool bta_hl_find_mcl_idx_using_handle(tBTA_HL_MCL_HANDLE mcl_handle, * Returns bool true-found * ******************************************************************************/ bool bta_hl_find_mcl_idx(uint8_t app_idx, BD_ADDR p_bd_addr, bool bta_hl_find_mcl_idx(uint8_t app_idx, const bt_bdaddr_t& p_bd_addr, uint8_t* p_mcl_idx) { bool found = false; uint8_t i; for (i = 0; i < BTA_HL_NUM_MCLS; i++) { if (bta_hl_cb.acb[app_idx].mcb[i].in_use && (!memcmp(bta_hl_cb.acb[app_idx].mcb[i].bd_addr, p_bd_addr, BD_ADDR_LEN))) { bta_hl_cb.acb[app_idx].mcb[i].bd_addr == p_bd_addr) { found = true; *p_mcl_idx = i; break; Loading Loading @@ -1155,8 +1157,7 @@ bool bta_hl_find_non_active_mdl_cfg(uint8_t app_idx, uint8_t start_mdl_cfg_idx, p_mdl = BTA_HL_GET_MDL_CFG_PTR(app_idx, i); for (j = 0; j < BTA_HL_NUM_MCLS; j++) { p_mcb = BTA_HL_GET_MCL_CB_PTR(app_idx, j); if (p_mcb->in_use && !memcmp(p_mdl->peer_bd_addr, p_mcb->bd_addr, BD_ADDR_LEN)) { if (p_mcb->in_use && p_mdl->peer_bd_addr == p_mcb->bd_addr) { for (k = 0; k < BTA_HL_NUM_MDLS_PER_MCL; k++) { p_dcb = BTA_HL_GET_MDL_CB_PTR(app_idx, j, k); Loading Loading @@ -1284,8 +1285,7 @@ bool bta_hl_find_mdl_cfg_idx(uint8_t app_idx, uint8_t mcl_idx, if (p_mdl->active) APPL_TRACE_DEBUG("bta_hl_find_mdl_cfg_idx: mdl_id =%d, p_mdl->mdl_id=%d", mdl_id, p_mdl->mdl_id); if (p_mdl->active && (!memcmp(p_mcb->bd_addr, p_mdl->peer_bd_addr, BD_ADDR_LEN)) && if (p_mdl->active && p_mcb->bd_addr == p_mdl->peer_bd_addr && (p_mdl->mdl_id == mdl_id)) { found = true; *p_mdl_cfg_idx = i; Loading Loading @@ -1434,7 +1434,7 @@ void bta_hl_compact_mdl_cfg_time(uint8_t app_idx, uint8_t mdep_id) { * false does not exist * ******************************************************************************/ bool bta_hl_is_mdl_exsit_in_mcl(uint8_t app_idx, BD_ADDR bd_addr, bool bta_hl_is_mdl_exsit_in_mcl(uint8_t app_idx, const bt_bdaddr_t& bd_addr, tBTA_HL_MDL_ID mdl_id) { tBTA_HL_MDL_CFG* p_mdl; bool found = false; Loading @@ -1442,7 +1442,7 @@ bool bta_hl_is_mdl_exsit_in_mcl(uint8_t app_idx, BD_ADDR bd_addr, for (i = 0; i < BTA_HL_NUM_MDL_CFGS; i++) { p_mdl = BTA_HL_GET_MDL_CFG_PTR(app_idx, i); if (p_mdl->active && !memcmp(p_mdl->peer_bd_addr, bd_addr, BD_ADDR_LEN)) { if (p_mdl->active && p_mdl->peer_bd_addr == bd_addr) { if (mdl_id != BTA_HL_DELETE_ALL_MDL_IDS) { if (p_mdl->mdl_id == mdl_id) { found = true; Loading @@ -1468,7 +1468,7 @@ bool bta_hl_is_mdl_exsit_in_mcl(uint8_t app_idx, BD_ADDR bd_addr, * false Failed * ******************************************************************************/ bool bta_hl_delete_mdl_cfg(uint8_t app_idx, BD_ADDR bd_addr, bool bta_hl_delete_mdl_cfg(uint8_t app_idx, const bt_bdaddr_t& bd_addr, tBTA_HL_MDL_ID mdl_id) { tBTA_HL_MDL_CFG* p_mdl; bool success = false; Loading @@ -1476,7 +1476,7 @@ bool bta_hl_delete_mdl_cfg(uint8_t app_idx, BD_ADDR bd_addr, for (i = 0; i < BTA_HL_NUM_MDL_CFGS; i++) { p_mdl = BTA_HL_GET_MDL_CFG_PTR(app_idx, i); if (p_mdl->active && !memcmp(p_mdl->peer_bd_addr, bd_addr, BD_ADDR_LEN)) { if (p_mdl->active && p_mdl->peer_bd_addr == bd_addr) { if (mdl_id != BTA_HL_DELETE_ALL_MDL_IDS) { if (p_mdl->mdl_id == mdl_id) { bta_hl_co_delete_mdl(p_mdl->local_mdep_id, i); Loading Loading @@ -2196,7 +2196,7 @@ void bta_hl_save_mdl_cfg(uint8_t app_idx, uint8_t mcl_idx, uint8_t mdl_idx) { mdl_cfg.mtu = l2cap_cfg.mtu; mdl_cfg.fcs = l2cap_cfg.fcs; bdcpy(mdl_cfg.peer_bd_addr, p_mcb->bd_addr); mdl_cfg.peer_bd_addr = p_mcb->bd_addr; mdl_cfg.local_mdep_id = p_dcb->local_mdep_id; p_mdep_cfg = &p_acb->sup_feature.mdep[p_dcb->local_mdep_cfg_idx]; mdl_cfg.local_mdep_role = p_mdep_cfg->mdep_cfg.mdep_role; Loading Loading @@ -2422,7 +2422,8 @@ bool bta_hl_validate_chan_cfg(uint8_t app_idx, uint8_t mcl_idx, * false not congested * ******************************************************************************/ bool bta_hl_is_cong_on(uint8_t app_id, BD_ADDR bd_addr, tBTA_HL_MDL_ID mdl_id) bool bta_hl_is_cong_on(uint8_t app_id, const bt_bdaddr_t& bd_addr, tBTA_HL_MDL_ID mdl_id) { tBTA_HL_MDL_CB* p_dcb; Loading Loading @@ -2723,12 +2724,13 @@ void bta_hl_build_rcv_data_ind(tBTA_HL* p_evt_data, ******************************************************************************/ void bta_hl_build_cch_open_cfm(tBTA_HL* p_evt_data, uint8_t app_id, tBTA_HL_APP_HANDLE app_handle, tBTA_HL_MCL_HANDLE mcl_handle, BD_ADDR bd_addr, tBTA_HL_MCL_HANDLE mcl_handle, const bt_bdaddr_t& bd_addr, tBTA_HL_STATUS status) { p_evt_data->cch_open_cfm.app_id = app_id; p_evt_data->cch_open_cfm.app_handle = app_handle; p_evt_data->cch_open_cfm.mcl_handle = mcl_handle; bdcpy(p_evt_data->cch_open_cfm.bd_addr, bd_addr); p_evt_data->cch_open_cfm.bd_addr = bd_addr; p_evt_data->cch_open_cfm.status = status; APPL_TRACE_DEBUG("bta_hl_build_cch_open_cfm: status=%d", status); } Loading @@ -2744,10 +2746,11 @@ void bta_hl_build_cch_open_cfm(tBTA_HL* p_evt_data, uint8_t app_id, ******************************************************************************/ void bta_hl_build_cch_open_ind(tBTA_HL* p_evt_data, tBTA_HL_APP_HANDLE app_handle, tBTA_HL_MCL_HANDLE mcl_handle, BD_ADDR bd_addr) { tBTA_HL_MCL_HANDLE mcl_handle, const bt_bdaddr_t& bd_addr) { p_evt_data->cch_open_ind.app_handle = app_handle; p_evt_data->cch_open_ind.mcl_handle = mcl_handle; bdcpy(p_evt_data->cch_open_ind.bd_addr, bd_addr); p_evt_data->cch_open_ind.bd_addr = bd_addr; } /******************************************************************************* Loading Loading @@ -2826,15 +2829,16 @@ void bta_hl_build_dch_open_cfm(tBTA_HL* p_evt_data, * ******************************************************************************/ void bta_hl_build_sdp_query_cfm(tBTA_HL* p_evt_data, uint8_t app_id, tBTA_HL_APP_HANDLE app_handle, BD_ADDR bd_addr, tBTA_HL_SDP* p_sdp, tBTA_HL_STATUS status) tBTA_HL_APP_HANDLE app_handle, const bt_bdaddr_t& bd_addr, tBTA_HL_SDP* p_sdp, tBTA_HL_STATUS status) { APPL_TRACE_DEBUG("bta_hl_build_sdp_query_cfm: app_id = %d, app_handle=%d", app_id, app_handle); p_evt_data->sdp_query_cfm.app_id = app_id; p_evt_data->sdp_query_cfm.app_handle = app_handle; bdcpy(p_evt_data->sdp_query_cfm.bd_addr, bd_addr); p_evt_data->sdp_query_cfm.bd_addr = bd_addr; p_evt_data->sdp_query_cfm.p_sdp = p_sdp; p_evt_data->sdp_query_cfm.status = status; } Loading