Home | History | Annotate | Download | only in dm

Lines Matching refs:bta_dm_cb

265     if( bta_dm_cb.is_bta_dm_active == TRUE  )
281 bta_dm_cb.p_sec_cback = p_data->enable.p_sec_cback;
283 bta_dm_cb.is_bta_dm_active = TRUE;
298 ** Description Initializes or re-initializes the bta_dm_cb control block
307 * TODO: Should alarm_free() the bta_dm_cb timers during graceful
310 alarm_free(bta_dm_cb.disable_timer);
311 alarm_free(bta_dm_cb.switch_delay_timer);
314 alarm_free(bta_dm_cb.pm_timer[i].timer[j]);
317 memset(&bta_dm_cb, 0, sizeof(bta_dm_cb));
318 bta_dm_cb.disable_timer = alarm_new("bta_dm.disable_timer");
319 bta_dm_cb.switch_delay_timer = alarm_new("bta_dm.switch_delay_timer");
322 bta_dm_cb.pm_timer[i].timer[j] = alarm_new("bta_dm.pm_timer");
351 if( bta_dm_cb.p_sec_cback != NULL )
352 bta_dm_cb.p_sec_cback(BTA_DM_HW_ERROR_EVT, NULL);
358 if( bta_dm_cb.p_sec_cback != NULL )
359 bta_dm_cb.p_sec_cback(BTA_DM_DISABLE_EVT, NULL);
367 bta_dm_cb.is_bta_dm_active = FALSE;
377 temp_cback = bta_dm_cb.p_sec_cback;
381 bta_dm_cb.p_sec_cback=temp_cback;
382 bta_dm_cb.is_bta_dm_active = TRUE;
423 bta_dm_cb.cur_policy = p_bta_dm_cfg->policy_settings;
424 BTM_SetDefaultLinkPolicy(bta_dm_cb.cur_policy);
482 bta_dm_cb.disabling = TRUE;
496 alarm_set_on_queue(bta_dm_cb.disable_timer, BTA_DISABLE_DELAY,
505 alarm_set_on_queue(bta_dm_cb.disable_timer, BTA_DM_DISABLE_TIMER_MS,
534 for(i=0; i<bta_dm_cb.device_list.count; i++)
537 transport = bta_dm_cb.device_list.peer_device[i].transport;
539 btm_remove_acl(bta_dm_cb.device_list.peer_device[i].peer_bdaddr, transport);
547 alarm_set_on_queue(bta_dm_cb.disable_timer,
555 bta_dm_cb.disabling = FALSE;
558 bta_dm_cb.p_sec_cback(BTA_DM_DISABLE_EVT, NULL);
615 bta_dm_cb.inquiry_scan_window,
616 bta_dm_cb.inquiry_scan_interval);
631 bta_dm_cb.page_scan_window,
632 bta_dm_cb.page_scan_interval);
640 bta_dm_cb.disable_pair_mode = TRUE;
642 bta_dm_cb.disable_pair_mode = FALSE;
651 bta_dm_cb.conn_paired_only = FALSE;
653 bta_dm_cb.conn_paired_only = TRUE;
659 BTM_SetPairableMode((BOOLEAN)(!(bta_dm_cb.disable_pair_mode)),bta_dm_cb.conn_paired_only);
684 if (bta_dm_cb.p_sec_cback)
690 bta_dm_cb.p_sec_cback(BTA_DM_DEV_UNPAIRED_EVT, &sec_event);
718 APPL_TRACE_DEBUG("%s: ACL Up count %d", __func__, bta_dm_cb.device_list.count);
722 for(int i=0; i < bta_dm_cb.device_list.count; i++)
724 if (!bdcmp(bta_dm_cb.device_list.peer_device[i].peer_bdaddr, p_dev->bd_addr))
729 transport = bta_dm_cb.device_list.peer_device[i].transport;
731 bta_dm_cb.device_list.peer_device[i].conn_state = BTA_DM_UNPAIRING;
735 bta_dm_cb.device_list.peer_device[i].transport);
738 if(bta_dm_cb.device_list.peer_device[i].transport == BT_TRANSPORT_LE)
761 for(int i=0; i < bta_dm_cb.device_list.count; i++)
763 if (!bdcmp(bta_dm_cb.device_list.peer_device[i].peer_bdaddr, other_address))
765 bta_dm_cb.device_list.peer_device[i].conn_state = BTA_DM_UNPAIRING;
766 btm_remove_acl(other_address,bta_dm_cb.device_list.peer_device[i].transport);
860 for (index = 0; index < bta_dm_cb.device_list.count; index ++)
862 if (!bdcmp( bta_dm_cb.device_list.peer_device[index].peer_bdaddr, p_remove_acl->bd_addr))
865 if (index != bta_dm_cb.device_list.count)
868 bta_dm_cb.device_list.peer_device[index].remove_dev_pending = TRUE;
909 for (UINT8 i=0; i < bta_dm_cb.device_list.count; i++)
912 bdcpy(addr, bta_dm_cb.device_list.peer_device[i].peer_bdaddr);
914 transport = bta_dm_cb.device_list.peer_device[i].transport;
949 if (bta_dm_cb.p_sec_cback && (status != BTM_CMD_STARTED))
975 bta_dm_cb.p_sec_cback(BTA_DM_AUTH_CMPL_EVT, &sec_event);
998 if (bta_dm_cb.p_sec_cback && (status != BTM_CMD_STARTED && status != BTM_SUCCESS))
1002 bta_dm_cb.p_sec_cback(BTA_DM_BOND_CANCEL_CMPL_EVT, &sec_event);
1091 bta_dm_cb.role_policy_mask &= ~mask;
1092 if(0 == bta_dm_cb.role_policy_mask)
1095 bta_dm_cb.cur_policy |= HCI_ENABLE_MASTER_SLAVE_SWITCH;
1096 BTM_SetDefaultLinkPolicy(bta_dm_cb.cur_policy);
1102 bta_dm_cb.role_policy_mask |= mask;
1103 bta_dm_cb.cur_policy &= ~HCI_ENABLE_MASTER_SLAVE_SWITCH;
1104 BTM_SetDefaultLinkPolicy(bta_dm_cb.cur_policy);
1205 memcpy(&bta_dm_cb.search_msg, &p_data->search, sizeof(tBTA_DM_API_SEARCH));
2606 if(bta_dm_cb.p_sec_cback && (index < BTA_MAX_SERVICE_ID
2613 bta_dm_cb.p_sec_cback(BTA_DM_AUTHORIZE_EVT, &sec_event);
2640 tBTA_DM_SEC_EVT event = bta_dm_cb.pin_evt;
2645 bdcpy(sec_event.cfm_req.bd_addr, bta_dm_cb.pin_bd_addr);
2646 BTA_COPY_DEVICE_CLASS(sec_event.cfm_req.dev_class, bta_dm_cb.pin_dev_class);
2658 sec_event.key_notif.passkey = bta_dm_cb.num_val; /* get PIN code numeric number */
2661 sec_event.cfm_req.just_works = bta_dm_cb.just_works;
2666 bdcpy(sec_event.pin_req.bd_addr, bta_dm_cb.pin_bd_addr);
2667 BTA_COPY_DEVICE_CLASS(sec_event.pin_req.dev_class, bta_dm_cb.pin_dev_class);
2679 event = bta_dm_cb.pin_evt;
2680 bta_dm_cb.num_val; /* get PIN code numeric number */
2683 if( bta_dm_cb.p_sec_cback )
2684 bta_dm_cb.p_sec_cback(event, &sec_event);
2701 if (!bta_dm_cb.p_sec_cback)
2707 bta_dm_cb.pin_evt = BTA_DM_PIN_REQ_EVT;
2708 bdcpy(bta_dm_cb.pin_bd_addr, bd_addr);
2709 BTA_COPY_DEVICE_CLASS(bta_dm_cb.pin_dev_class, dev_class);
2721 bta_dm_cb.p_sec_cback(BTA_DM_PIN_REQ_EVT, &sec_event);
2766 if(bta_dm_cb.p_sec_cback)
2767 bta_dm_cb.p_sec_cback(event, &sec_event);
2772 if (bta_dm_cb.device_list.count)
2812 if(bta_dm_cb.p_sec_cback)
2813 bta_dm_cb.p_sec_cback(BTA_DM_AUTH_CMPL_EVT, &sec_event);
2837 if (!bta_dm_cb.p_sec_cback)
2860 bta_dm_cb.just_works = sec_event.cfm_req.just_works = p_data->cfm_req.just_works;
2879 bta_dm_cb.pin_evt = pin_evt;
2880 bdcpy(bta_dm_cb.pin_bd_addr, p_data->cfm_req.bd_addr);
2881 BTA_COPY_DEVICE_CLASS(bta_dm_cb.pin_dev_class, p_data->cfm_req.dev_class);
2898 bta_dm_cb.num_val = sec_event.key_notif.passkey = p_data->key_notif.passkey;
2905 bta_dm_cb.pin_evt = pin_evt;
2906 bdcpy(bta_dm_cb.pin_bd_addr, p_data->key_notif.bd_addr);
2907 BTA_COPY_DEVICE_CLASS(bta_dm_cb.pin_dev_class, p_data->key_notif.dev_class);
2923 bta_dm_cb.p_sec_cback(pin_evt, &sec_event);
2936 bta_dm_cb.pin_evt = BTA_DM_SP_RMT_OOB_EVT;
2937 bdcpy(bta_dm_cb.pin_bd_addr, p_data->rmt_oob.bd_addr);
2938 BTA_COPY_DEVICE_CLASS(bta_dm_cb.pin_dev_class, p_data->rmt_oob.dev_class);
2949 bta_dm_cb.p_sec_cback(BTA_DM_SP_RMT_OOB_EVT, &sec_event);
2960 bta_dm_cb.p_sec_cback(BTA_DM_SP_KEYPRESS_EVT, &sec_event);
2992 if(bta_dm_cb.p_sec_cback)
2993 bta_dm_cb.p_sec_cback(BTA_DM_ENABLE_EVT, &sec_event);
3061 APPL_TRACE_WARNING("bta_dm_rs_cback:%d", bta_dm_cb.rs_event);
3062 if(bta_dm_cb.rs_event == BTA_DM_API_SEARCH_EVT)
3064 bta_dm_cb.search_msg.rs_res = BTA_DM_RS_OK; /* do not care about the result for now */
3065 bta_dm_cb.rs_event = 0;
3066 bta_dm_search_start((tBTA_DM_MSG *)&bta_dm_cb.search_msg);
3097 APPL_TRACE_WARNING("bta_dm_check_av:%d", bta_dm_cb.cur_av_count);
3098 if(bta_dm_cb.cur_av_count)
3100 for(i=0; i<bta_dm_cb.device_list.count; i++)
3102 p_dev = &bta_dm_cb.device_list.peer_device[i];
3112 bta_dm_cb.rs_event = event;
3151 if( bta_dm_cb.p_sec_cback )
3155 bta_dm_cb.p_sec_cback(BTA_DM_BUSY_LEVEL_EVT, &conn);
3164 p_dev->info, p_data->acl_change.new_role, bta_dm_cb.device_list.count);
3168 if(p_data->acl_change.new_role == HCI_ROLE_SLAVE && bta_dm_cb.device_list.count > 1
3197 if( bta_dm_cb.p_sec_cback )
3198 bta_dm_cb.p_sec_cback(BTA_DM_ROLE_CHG_EVT, (tBTA_DM_SEC *)&conn);
3212 for(i=0; i<bta_dm_cb.device_list.count; i++)
3214 if (!bdcmp( bta_dm_cb.device_list.peer_device[i].peer_bdaddr, p_bda)
3216 && bta_dm_cb.device_list.peer_device[i].conn_handle == p_data->acl_change.handle
3223 if(i == bta_dm_cb.device_list.count)
3225 if (bta_dm_cb.device_list.count < BTA_DM_NUM_PEER_DEVICE)
3227 bdcpy(bta_dm_cb.device_list.peer_device[bta_dm_cb.device_list.count].peer_bdaddr, p_bda);
3228 bta_dm_cb.device_list.peer_device[bta_dm_cb.device_list.count].link_policy = bta_dm_cb.cur_policy;
3229 bta_dm_cb.device_list.count++;
3231 bta_dm_cb.device_list.peer_device[i].conn_handle = p_data->acl_change.handle;
3233 bta_dm_cb.device_list.le_count++;
3241 bta_dm_cb.device_list.peer_device[i].conn_state = BTA_DM_CONNECTED;
3242 bta_dm_cb.device_list.peer_device[i].pref_role = BTA_ANY_ROLE;
3244 bta_dm_cb.device_list.peer_device[i].info = BTA_DM_DI_NONE;
3247 bta_dm_cb.device_list.peer_device[i].transport = p_data->acl_change.transport;
3254 bta_dm_cb.device_list.peer_device[i].info = BTA_DM_DI_USE_SSR;
3256 APPL_TRACE_WARNING("%s info: 0x%x", __func__, bta_dm_cb.device_list.peer_device[i].info);
3258 if (bta_dm_cb.p_sec_cback)
3259 bta_dm_cb.p_sec_cback(BTA_DM_LINK_UP_EVT, (tBTA_DM_SEC *)&conn);
3261 for(i=0; i<bta_dm_cb.device_list.count; i++)
3263 if (bdcmp( bta_dm_cb.device_list.peer_device[i].peer_bdaddr, p_bda)
3265 ||bta_dm_cb.device_list.peer_device[i].transport != p_data->acl_change.transport
3270 if( bta_dm_cb.device_list.peer_device[i].conn_state == BTA_DM_UNPAIRING )
3272 if (BTM_SecDeleteDevice(bta_dm_cb.device_list.peer_device[i].peer_bdaddr))
3278 conn.link_down.is_removed = bta_dm_cb.device_list.peer_device[i].remove_dev_pending;
3280 for(; i<bta_dm_cb.device_list.count ; i++)
3282 memcpy(&bta_dm_cb.device_list.peer_device[i], &bta_dm_cb.device_list.peer_device[i+1], sizeof(bta_dm_cb.device_list.peer_device[i]));
3286 if(bta_dm_cb.device_list.count)
3287 bta_dm_cb.device_list.count--;
3290 (bta_dm_cb.device_list.le_count))
3291 bta_dm_cb.device_list.le_count--;
3308 if(bta_dm_cb.disabling)
3316 alarm_set_on_queue(bta_dm_cb.disable_timer,
3335 if( bta_dm_cb.p_sec_cback )
3337 bta_dm_cb.p_sec_cback(BTA_DM_LINK_DOWN_EVT, &conn);
3339 bta_dm_cb.p_sec_cback(BTA_DM_DEV_UNPAIRED_EVT, &conn);
3372 bta_dm_cb.disabling = FALSE;
3426 bta_dm_cb.cur_av_count = bta_dm_get_av_count();
3435 bta_dm_cb.cur_av_count = bta_dm_get_av_count();
3437 APPL_TRACE_WARNING("bta_dm_rm_cback:%d, status:%d", bta_dm_cb.cur_av_count, status);
3475 for (size_t i = 0; i < bta_dm_cb.device_list.count; i++)
3477 if (bdcmp(bta_dm_cb.device_list.peer_device[i].peer_bdaddr, remote_bd_addr) == 0)
3479 bta_dm_cb.device_list.peer_device[i].remove_dev_pending = FALSE;
3504 for (index = 0; index < bta_dm_cb.device_list.count; index ++)
3506 if (!bdcmp( bta_dm_cb.device_list.peer_device[index].peer_bdaddr, remote_bd_addr))
3509 if (index != bta_dm_cb.device_list.count)
3511 bta_dm_cb.device_list.peer_device[index].remove_dev_pending = TRUE;
3547 UINT8 br_count = bta_dm_cb.device_list.count - bta_dm_cb.device_list.le_count;
3549 UINT8 br_count = bta_dm_cb.device_list.count;
3557 (bta_dm_cb.cur_av_count && br_count > 1) )
3565 for(i=0; i<bta_dm_cb.device_list.count; i++)
3567 if (bta_dm_cb.device_list.peer_device[i].conn_state == BTA_DM_CONNECTED
3569 && bta_dm_cb.device_list.peer_device[i].transport == BT_TRANSPORT_BR_EDR
3573 if(!set_master_role && (bta_dm_cb.device_list.peer_device[i].pref_role != BTA_ANY_ROLE)
3580 if((bta_dm_cb.device_list.peer_device[i].pref_role == BTA_MASTER_ROLE_ONLY)
3590 if (bta_dm_cb.device_list.peer_device[i].pref_role != BTA_SLAVE_ROLE_ONLY &&
3593 BTM_SwitchRole (bta_dm_cb.device_list.peer_device[i].peer_bdaddr,
3598 alarm_set_on_queue(bta_dm_cb.switch_delay_timer,
3665 if(bta_dm_cb.p_sec_cback)
3667 bta_dm_cb.p_sec_cback(BTA_DM_BOND_CANCEL_CMPL_EVT, &sec_event);
3729 if (alarm_is_scheduled(bta_dm_cb.disable_timer))
3766 data_type = BTM_GetEirSupportedServices( bta_dm_cb.eir_uuid, &p,
3829 data_type = BTM_GetEirSupportedServices( bta_dm_cb.eir_uuid, &p, max_num_uuid, &num_uuid );
3840 if (bta_dm_cb.custom_uuid[custom_uuid_idx].len == LEN_UUID_16)
3844 UINT16_TO_STREAM(p, bta_dm_cb.custom_uuid[custom_uuid_idx].uu.uuid16);
3877 if (bta_dm_cb.custom_uuid[custom_uuid_idx].len == LEN_UUID_32)
3881 UINT32_TO_STREAM(p, bta_dm_cb.custom_uuid[custom_uuid_idx].uu.uuid32);
3910 if (bta_dm_cb.custom_uuid[custom_uuid_idx].len == LEN_UUID_128)
3914 ARRAY16_TO_STREAM(p, bta_dm_cb.custom_uuid[custom_uuid_idx].uu.uuid128);
4076 BTM_AddEirService( bta_dm_cb.eir_uuid, uuid16 );
4082 BTM_RemoveEirService( bta_dm_cb.eir_uuid, uuid16 );
4088 bta_dm_cb.eir_uuid[1], bta_dm_cb.eir_uuid[0] );
4161 for (i=0; i<bta_dm_cb.device_list.count; i++)
4163 if (bdcmp( bta_dm_cb.device_list.peer_device[i].peer_bdaddr, bd_addr) == 0 &&
4164 bta_dm_cb.device_list.peer_device[i].conn_state == BTA_DM_CONNECTED)
4168 if (i < bta_dm_cb.device_list.count)
4170 p_callback = bta_dm_cb.device_list.peer_device[i].p_encrypt_cback;
4171 bta_dm_cb.device_list.peer_device[i].p_encrypt_cback = NULL;
4219 for (i=0; i<bta_dm_cb.device_list.count; i++)
4221 if (bdcmp( bta_dm_cb.device_list.peer_device[i].peer_bdaddr, p_data->set_encryption.bd_addr) == 0 &&
4222 bta_dm_cb.device_list.peer_device[i].conn_state == BTA_DM_CONNECTED)
4225 if (i < bta_dm_cb.device_list.count)
4227 if (bta_dm_cb.device_list.peer_device[i].p_encrypt_cback)
4240 bta_dm_cb.device_list.peer_device[i].p_encrypt_cback = p_data->set_encryption.p_callback;
4331 if (!bta_dm_cb.p_sec_cback)
4359 bta_dm_cb.p_sec_cback(BTA_DM_BLE_SEC_REQ_EVT, &sec_event);
4370 bta_dm_cb.p_sec_cback(BTA_DM_BLE_PASSKEY_NOTIF_EVT, &sec_event);
4375 bta_dm_cb.p_sec_cback(BTA_DM_BLE_PASSKEY_REQ_EVT, &sec_event);
4380 bta_dm_cb.p_sec_cback(BTA_DM_BLE_OOB_REQ_EVT, &sec_event);
4387 bta_dm_cb.p_sec_cback(BTA_DM_BLE_NC_REQ_EVT, &sec_event);
4394 bta_dm_cb.p_sec_cback(BTA_DM_BLE_KEY_EVT, &sec_event);
4422 if (bta_dm_cb.p_sec_cback)
4424 //bta_dm_cb.p_sec_cback(BTA_DM_AUTH_CMPL_EVT, &sec_event);
4425 bta_dm_cb.p_sec_cback(BTA_DM_BLE_AUTH_CMPL_EVT, &sec_event);
4456 if (bta_dm_cb.p_sec_cback)
4462 bta_dm_cb.p_sec_cback(evt, &dm_key);
4827 bta_dm_cb.p_multi_adv_cback = p_data->ble_multi_adv_enb.p_cback;
4838 bta_dm_cb.p_multi_adv_cback(BTA_BLE_MULTI_ADV_ENB_EVT, 0xFF,
4866 bta_dm_cb.p_multi_adv_cback(BTA_BLE_MULTI_ADV_PARAM_EVT,
4897 bta_dm_cb.p_multi_adv_cback(BTA_BLE_MULTI_ADV_DATA_EVT,
4925 bta_dm_cb.p_multi_adv_cback(BTA_BLE_MULTI_ADV_DISABLE_EVT,
5117 if(NULL != bta_dm_cb.p_setup_cback)
5118 bta_dm_cb.p_setup_cback(bta_evt, ref_value, status);
5141 if(bta_dm_cb.p_scan_filt_cfg_cback)
5142 bta_dm_cb.p_scan_filt_cfg_cback(action, cfg_op, avbl_space, st, ref_value);
5172 bta_dm_cb.p_scan_filt_cfg_cback = p_data->ble_cfg_filter_cond.p_filt_cfg_cback;
5207 bta_dm_cb.p_scan_filt_status_cback = p_data->ble_enable_scan_filt.p_filt_status_cback;
5244 bta_dm_cb.p_scan_filt_param_cback = p_data->ble_scan_filt_param_setup.p_filt_param_cback;
5279 if (bta_dm_cb.p_energy_info_cback)
5280 bta_dm_cb.p_energy_info_cback(tx_time, rx_time, idle_time, energy_used, ctrl_state, st);
5296 bta_dm_cb.p_energy_info_cback = p_data->ble_energy_info.p_energy_info_cback;
5645 if(bta_dm_cb.p_sec_cback)
5646 bta_dm_cb.p_sec_cback(BTA_DM_LE_FEATURES_READ, NULL);