bta_dm_int.h revision ed534e330bf63c72e778fc8daae09ddd63c395b2
15738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/****************************************************************************** 25738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 35738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Copyright (C) 2003-2012 Broadcom Corporation 45738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 55738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 65738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * you may not use this file except in compliance with the License. 75738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * You may obtain a copy of the License at: 85738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 95738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * See the License for the specific language governing permissions and 155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * limitations under the License. 165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/ 185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/****************************************************************************** 205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * This is the private interface file for the BTA device manager. 225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/ 245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_DM_INT_H 255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_INT_H 265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bt_target.h" 285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BLE_INCLUDED == TRUE && (defined BTA_GATT_INCLUDED) && (BTA_GATT_INCLUDED == TRUE)) 305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project #include "bta_gatt_api.h" 315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Constants and data types 375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/ 385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_COPY_DEVICE_CLASS(coddst, codsrc) {((UINT8 *)(coddst))[0] = ((UINT8 *)(codsrc))[0]; \ 415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ((UINT8 *)(coddst))[1] = ((UINT8 *)(codsrc))[1]; \ 425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ((UINT8 *)(coddst))[2] = ((UINT8 *)(codsrc))[2];} 435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_MSG_LEN 50 465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_SERVICE_ID_TO_SERVICE_MASK(id) (1 << (id)) 485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DM events */ 505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum 515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project /* device manager local device API events */ 535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_ENABLE_EVT = BTA_SYS_EVT_START(BTA_ID_DM), 545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_DISABLE_EVT, 555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_SET_NAME_EVT, 565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_SET_VISIBILITY_EVT, 575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_SET_AFH_CHANNELS_EVT, 585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_API_DM_SIG_STRENGTH_EVT, 595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_VENDOR_SPECIFIC_COMMAND_EVT, 605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_TX_INQPWR_EVT, 615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_ACL_CHANGE_EVT, 625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_ADD_DEVICE_EVT, 63ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta BTA_DM_API_REMOVE_ACL_EVT, 645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project /* security API events */ 665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_BOND_EVT, 675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_BOND_CANCEL_EVT, 685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_PIN_REPLY_EVT, 695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_LINK_POLICY_EVT, 705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_AUTH_REPLY_EVT, 715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project /* power manger events */ 735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_PM_BTM_STATUS_EVT, 745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_PM_TIMER_EVT, 755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project /* simple pairing events */ 775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_CONFIRM_EVT, 785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_SET_ENCRYPTION_EVT, 805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 81ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_LOCAL_IO_CAPS != BTM_IO_CAP_NONE) 835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_PASKY_CANCEL_EVT, 845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_OOB_INCLUDED == TRUE) 865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_LOC_OOB_EVT, 875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_CI_IO_REQ_EVT, 885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_CI_RMT_OOB_EVT, 895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BTM_OOB_INCLUDED */ 905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_REMOVE_DEVICE_EVT, 925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BLE_INCLUDED == TRUE 945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_ADD_BLEKEY_EVT, 955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_ADD_BLEDEVICE_EVT, 965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_BLE_PASSKEY_REPLY_EVT, 975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_BLE_SEC_GRANT_EVT, 985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_BLE_SET_BG_CONN_TYPE, 995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_BLE_CONN_PARAM_EVT, 1005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_BLE_SCAN_PARAM_EVT, 101ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta BTA_DM_API_BLE_OBSERVE_EVT, 1027fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta BTA_DM_API_UPDATE_CONN_PARAM_EVT, 103a6ce7751d84218c193eb90d390aef23217b1737eWei Wang 104a6ce7751d84218c193eb90d390aef23217b1737eWei Wang#if BLE_PRIVACY_SPT == TRUE 105a6ce7751d84218c193eb90d390aef23217b1737eWei Wang BTA_DM_API_LOCAL_PRIVACY_EVT, 106a6ce7751d84218c193eb90d390aef23217b1737eWei Wang#endif 107a6ce7751d84218c193eb90d390aef23217b1737eWei Wang 1085c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach BTA_DM_API_BLE_ADV_PARAM_EVT, 1095c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach BTA_DM_API_BLE_SET_ADV_CONFIG_EVT, 110eeeac99328c23304ab24698331b6600f3b545700Andre Eisenbach BTA_DM_API_BLE_SET_SCAN_RSP_EVT, 111eeeac99328c23304ab24698331b6600f3b545700Andre Eisenbach BTA_DM_API_BLE_BROADCAST_EVT, 112b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach 113b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#if BLE_ANDROID_CONTROLLER_SCAN_FILTER == TRUE 114b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach BTA_DM_API_CFG_FILTER_COND_EVT, 115b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach BTA_DM_API_ENABLE_SCAN_FILTER_EVT, 116b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#endif 117a6ce7751d84218c193eb90d390aef23217b1737eWei Wang BTA_DM_API_BLE_MULTI_ADV_ENB_EVT, 118a6ce7751d84218c193eb90d390aef23217b1737eWei Wang BTA_DM_API_BLE_MULTI_ADV_PARAM_UPD_EVT, 119a6ce7751d84218c193eb90d390aef23217b1737eWei Wang BTA_DM_API_BLE_MULTI_ADV_DATA_EVT, 120a6ce7751d84218c193eb90d390aef23217b1737eWei Wang BTA_DM_API_BLE_MULTI_ADV_DISABLE_EVT, 1215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 1225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )&&( BTA_EIR_CANNED_UUID_LIST != TRUE )&&(BTA_EIR_SERVER_NUM_CUSTOM_UUID > 0) 1245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_UPDATE_EIR_UUID_EVT, 1255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 1265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_EIR_SERVER_INCLUDED == TRUE) 1275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_SET_EIR_CONFIG_EVT, 1285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 1295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_ENABLE_TEST_MODE_EVT, 1315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_DISABLE_TEST_MODE_EVT, 1325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_EXECUTE_CBACK_EVT, 1335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_SET_AFH_CHANNEL_ASSESMENT_EVT, 1345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_MAX_EVT 1355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}; 1365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DM search events */ 1395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum 1405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project /* DM search API events */ 1425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_SEARCH_EVT = BTA_SYS_EVT_START(BTA_ID_DM_SEARCH), 1435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_SEARCH_CANCEL_EVT, 1445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_API_DISCOVER_EVT, 1455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_INQUIRY_CMPL_EVT, 1465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_REMT_NAME_EVT, 1475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_SDP_RESULT_EVT, 1485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_SEARCH_CMPL_EVT, 1495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_DISCOVERY_RESULT_EVT, 1506975b4d711142b885af479721cada448952c6b41Andre Eisenbach BTA_DM_API_DI_DISCOVER_EVT, 1516975b4d711142b885af479721cada448952c6b41Andre Eisenbach BTA_DM_DISC_CLOSE_TOUT_EVT 1525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}; 1535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_ENABLE_EVT */ 1555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 1565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 1585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_SEC_CBACK *p_sec_cback; 1595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_ENABLE; 1605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_SET_NAME_EVT */ 1625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 1635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 165ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta BD_NAME name; /* max 248 bytes name, plus must be Null terminated */ 1665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_SET_NAME; 1675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_SET_VISIBILITY_EVT */ 1695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 1705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 1725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_DISC disc_mode; 1735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_CONN conn_mode; 1745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pair_mode; 1755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 conn_paired_only; 1765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_SET_VISIBILITY; 1775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_SET_AFH_CHANNELS_EVT */ 1795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 1805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 1825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 first; 1835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 last; 1845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_SET_AFH_CHANNELS_EVT; 1855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_VENDOR_SPECIFIC_COMMAND_EVT */ 1875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 1885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 1905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 opcode; 1915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 param_len; 1925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_param_buf; 1935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_VENDOR_CMPL_CBACK *p_cback; 1945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_VENDOR_SPECIFIC_COMMAND; 1965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum 1985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_RS_NONE, /* straight API call */ 2005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_RS_OK, /* the role switch result - successful */ 2015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_RS_FAIL /* the role switch result - failed */ 2025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}; 2035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_DM_RS_RES; 2045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_SEARCH_EVT */ 2065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 2095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_INQ inq_params; 2105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_SERVICE_MASK services; 2115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_SEARCH_CBACK * p_cback; 2125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_RS_RES rs_res; 2135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BLE_INCLUDED == TRUE && BTA_GATT_INCLUDED == TRUE 2145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_uuid; 2155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID *p_uuid; 2165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 2175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_SEARCH; 2185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_DISCOVER_EVT */ 2205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 2235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; 2245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_SERVICE_MASK services; 2255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_SEARCH_CBACK * p_cback; 2265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN sdp_search; 2277fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta tBTA_TRANSPORT transport; 2285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BLE_INCLUDED == TRUE && BTA_GATT_INCLUDED == TRUE 2295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_uuid; 2305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID *p_uuid; 2315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 2325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tSDP_UUID uuid; 2335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_DISCOVER; 2345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_DI_DISC_EVT */ 2365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 2395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; 2405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DISCOVERY_DB *p_sdp_db; 2415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 len; 2425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_SEARCH_CBACK * p_cback; 2435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_DI_DISC; 2445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_BOND_EVT */ 2465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 2495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; 2507fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta tBTA_TRANSPORT transport; 2515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_BOND; 2525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_BOND_CANCEL_EVT */ 2545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 2575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; 2587fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta tBTA_TRANSPORT transport; 2595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_BOND_CANCEL; 2605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_PIN_REPLY_EVT */ 2625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 2655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; 2665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN accept; 2675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pin_len; 2685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 p_pin[PIN_CODE_LEN]; 2695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_PIN_REPLY; 2705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_LINK_POLICY_EVT */ 2725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 2755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; 2765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 policy_mask; 2775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN set; 2785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_LINK_POLICY; 2795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_AUTH_REPLY_EVT */ 2815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 2845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; 2855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_SERVICE_ID service; 2865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AUTH_RESP response; 2875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_AUTH_REPLY; 2885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_LOC_OOB_EVT */ 2905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 2935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_LOC_OOB; 2945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_CONFIRM_EVT */ 2965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 2995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; 3005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN accept; 3015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_CONFIRM; 3025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_PASKY_CANCEL_EVT*/ 3045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 3075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; 3085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_PASKY_CANCEL; 3095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_CI_IO_REQ_EVT */ 3115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 3145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; 3155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_IO_CAP io_cap; 3165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_OOB_DATA oob_data; 3175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_AUTH_REQ auth_req; 3185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_CI_IO_REQ; 3195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_CI_RMT_OOB_EVT */ 3215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 3245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; 3255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_OCTET16 c; 3265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_OCTET16 r; 3275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN accept; 3285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_CI_RMT_OOB; 3295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_REMT_NAME_EVT */ 3315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 3345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_SEARCH result; 3355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_REM_NAME; 3365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for tBTA_DM_DISC_RESULT */ 3385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 3415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_SEARCH result; 3425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_DISC_RESULT; 3435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_INQUIRY_CMPL_EVT */ 3465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 3495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num; 3505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_INQUIRY_CMPL; 3515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_SDP_RESULT_EVT */ 3535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 3565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 sdp_result; 3575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_SDP_RESULT; 3585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_API_DM_SIG_STRENGTH_EVT */ 3605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 3635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_SIG_STRENGTH_MASK mask; 3645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 period; 3655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN start; 3665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_API_DM_SIG_STRENGTH; 3675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for tBTA_API_DM_TX_INQPWR */ 3695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 3725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project INT8 tx_power; 3735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_API_DM_TX_INQPWR; 3745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_ACL_CHANGE_EVT */ 3765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 3795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTM_BL_EVENT event; 3805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 busy_level; 381ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta UINT8 busy_level_flags; 3825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN is_new; 3835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 new_role; 3845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; 3855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 hci_status; 3867fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#if BLE_INCLUDED == TRUE 3877fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta UINT16 handle; 3887fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta tBT_TRANSPORT transport; 3897fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#endif 3905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_ACL_CHANGE; 3915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_PM_BTM_STATUS_EVT */ 3935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 3945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 3975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; 3985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTM_PM_STATUS status; 3995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 value; 4005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 hci_status; 4015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_PM_BTM_STATUS; 4035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_PM_TIMER_EVT */ 4055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 4065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 4085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; 4095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_PM_TIMER; 4115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_ADD_DEVICE_EVT */ 4145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 4155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 4175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; 4185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project DEV_CLASS dc; 4195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project LINK_KEY link_key; 4205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_SERVICE_MASK tm; 4215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN is_trusted; 4225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 key_type; 4235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_IO_CAP io_cap; 4245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN link_key_known; 4255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN dc_known; 4265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_NAME bd_name; 4273aa60544585b5fb0f35c1165539a4a859fc0f25cAndre Eisenbach UINT8 features[BTA_FEATURE_BYTES_PER_PAGE * (BTA_EXT_FEATURES_PAGE_MAX + 1)]; 4285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_ADD_DEVICE; 4295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_REMOVE_ACL_EVT */ 4315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 4325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 4345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; 4355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_REMOVE_DEVICE; 4365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_EXECUTE_CBACK_EVT */ 4385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 4395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 4415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project void * p_param; 4425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_EXEC_CBACK *p_exec_cback; 4435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_EXECUTE_CBACK; 4445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for tBTA_DM_API_SET_ENCRYPTION */ 4465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 4475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 4497fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta tBTA_TRANSPORT transport; 4505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_ENCRYPT_CBACK *p_callback; 4515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_BLE_SEC_ACT sec_act; 4525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; 4535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_SET_ENCRYPTION; 4545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BLE_INCLUDED == TRUE 4565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 4575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 4595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; 4605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_LE_KEY_VALUE blekey; 4615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_LE_KEY_TYPE key_type; 4625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_ADD_BLEKEY; 4645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 4665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 4685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; 4695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_DEVICE_TYPE dev_type ; 4705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBLE_ADDR_TYPE addr_type; 4715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_ADD_BLE_DEVICE; 4735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 4755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 4775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; 4785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN accept; 4795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 passkey; 4805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_PASSKEY_REPLY; 4815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 4835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 4855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR bd_addr; 4865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_BLE_SEC_GRANT res; 4875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_BLE_SEC_GRANT; 4885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 4915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 4925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 4935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_BLE_CONN_TYPE bg_conn_type; 4945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_BLE_SEL_CBACK *p_select_cback; 4955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_BLE_SET_BG_CONN_TYPE; 4965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* set prefered BLE connection parameters for a device */ 4985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 4995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 5005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 5015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR peer_bda; 5025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 conn_int_min; 5035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 conn_int_max; 5045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 supervision_tout; 5055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 slave_latency; 5065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_BLE_CONN_PARAMS; 5085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 509ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battatypedef struct 510ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta{ 511ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta BT_HDR hdr; 512ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta BD_ADDR peer_bda; 513ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta BOOLEAN privacy_enable; 514ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 515ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta}tBTA_DM_API_ENABLE_PRIVACY; 516ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 517ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battatypedef struct 518ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta{ 519ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta BT_HDR hdr; 520ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta BOOLEAN privacy_enable; 521ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta}tBTA_DM_API_LOCAL_PRIVACY; 522ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 5235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* set scan parameter for BLE connections */ 5245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 5255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 5265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 5275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 scan_int; 5285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 scan_window; 5295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_BLE_SCAN_PARAMS; 5305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 531ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/* Data type for start/stop observe */ 532ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battatypedef struct 533ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta{ 534ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta BT_HDR hdr; 535ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta BOOLEAN start; 536ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta UINT16 duration; 537ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta tBTA_DM_SEARCH_CBACK * p_cback; 538ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta}tBTA_DM_API_BLE_OBSERVE; 5395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 540ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/* set adv parameter for BLE advertising */ 541ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battatypedef struct 542ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta{ 543ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta BT_HDR hdr; 544ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta UINT16 adv_int_min; 545ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta UINT16 adv_int_max; 546ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta tBLE_BD_ADDR *p_dir_bda; 547ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta}tBTA_DM_API_BLE_ADV_PARAMS; 548ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 549ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battatypedef struct 550ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta{ 551ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta BT_HDR hdr; 552a6ce7751d84218c193eb90d390aef23217b1737eWei Wang BOOLEAN enable; 553a6ce7751d84218c193eb90d390aef23217b1737eWei Wang 554a6ce7751d84218c193eb90d390aef23217b1737eWei Wang}tBTA_DM_API_BLE_FEATURE; 555a6ce7751d84218c193eb90d390aef23217b1737eWei Wang 556a6ce7751d84218c193eb90d390aef23217b1737eWei Wang/* multi adv data structure */ 557a6ce7751d84218c193eb90d390aef23217b1737eWei Wangtypedef struct 558a6ce7751d84218c193eb90d390aef23217b1737eWei Wang{ 559a6ce7751d84218c193eb90d390aef23217b1737eWei Wang BT_HDR hdr; 560a6ce7751d84218c193eb90d390aef23217b1737eWei Wang void *p_cback; 561a6ce7751d84218c193eb90d390aef23217b1737eWei Wang void *p_ref; 562a6ce7751d84218c193eb90d390aef23217b1737eWei Wang tBTA_BLE_ADV_PARAMS *p_params; 563a6ce7751d84218c193eb90d390aef23217b1737eWei Wang}tBTA_DM_API_BLE_MULTI_ADV_ENB; 564a6ce7751d84218c193eb90d390aef23217b1737eWei Wang 565a6ce7751d84218c193eb90d390aef23217b1737eWei Wangtypedef struct 566a6ce7751d84218c193eb90d390aef23217b1737eWei Wang{ 567a6ce7751d84218c193eb90d390aef23217b1737eWei Wang BT_HDR hdr; 568a6ce7751d84218c193eb90d390aef23217b1737eWei Wang UINT8 inst_id; 569a6ce7751d84218c193eb90d390aef23217b1737eWei Wang tBTA_BLE_ADV_PARAMS *p_params; 570a6ce7751d84218c193eb90d390aef23217b1737eWei Wang}tBTA_DM_API_BLE_MULTI_ADV_PARAM; 571a6ce7751d84218c193eb90d390aef23217b1737eWei Wang 572a6ce7751d84218c193eb90d390aef23217b1737eWei Wangtypedef struct 573a6ce7751d84218c193eb90d390aef23217b1737eWei Wang{ 574a6ce7751d84218c193eb90d390aef23217b1737eWei Wang BT_HDR hdr; 575a6ce7751d84218c193eb90d390aef23217b1737eWei Wang UINT8 inst_id; 576a6ce7751d84218c193eb90d390aef23217b1737eWei Wang BOOLEAN is_scan_rsp; 577a6ce7751d84218c193eb90d390aef23217b1737eWei Wang tBTA_BLE_AD_MASK data_mask; 578a6ce7751d84218c193eb90d390aef23217b1737eWei Wang tBTA_BLE_ADV_DATA *p_data; 579a6ce7751d84218c193eb90d390aef23217b1737eWei Wang}tBTA_DM_API_BLE_MULTI_ADV_DATA; 580a6ce7751d84218c193eb90d390aef23217b1737eWei Wang 581a6ce7751d84218c193eb90d390aef23217b1737eWei Wangtypedef struct 582a6ce7751d84218c193eb90d390aef23217b1737eWei Wang{ 583a6ce7751d84218c193eb90d390aef23217b1737eWei Wang BT_HDR hdr; 584a6ce7751d84218c193eb90d390aef23217b1737eWei Wang UINT8 inst_id; 585a6ce7751d84218c193eb90d390aef23217b1737eWei Wang}tBTA_DM_API_BLE_MULTI_ADV_DISABLE; 586a6ce7751d84218c193eb90d390aef23217b1737eWei Wang 587a6ce7751d84218c193eb90d390aef23217b1737eWei Wang 588a6ce7751d84218c193eb90d390aef23217b1737eWei Wangtypedef struct 589a6ce7751d84218c193eb90d390aef23217b1737eWei Wang{ 590a6ce7751d84218c193eb90d390aef23217b1737eWei Wang BT_HDR hdr; 591ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta UINT16 data_mask; 592ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta tBTA_BLE_ADV_DATA *p_adv_cfg; 593a6ce7751d84218c193eb90d390aef23217b1737eWei Wang tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback; 594ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta}tBTA_DM_API_SET_ADV_CONFIG; 595ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 596a6ce7751d84218c193eb90d390aef23217b1737eWei Wang#endif /* BLE_INCLUDED */ 597ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 598fc4b2f1953dbe60464d0f5ef7daaa10001fbc62fMatthew Xietypedef struct 599fc4b2f1953dbe60464d0f5ef7daaa10001fbc62fMatthew Xie{ 600fc4b2f1953dbe60464d0f5ef7daaa10001fbc62fMatthew Xie BT_HDR hdr; 601fc4b2f1953dbe60464d0f5ef7daaa10001fbc62fMatthew Xie BOOLEAN enable_or_disable; 602fc4b2f1953dbe60464d0f5ef7daaa10001fbc62fMatthew Xie}tBTA_DM_API_SET_AFH_CHANNEL_ASSESSMENT; 603fc4b2f1953dbe60464d0f5ef7daaa10001fbc62fMatthew Xie 6045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )&&( BTA_EIR_CANNED_UUID_LIST != TRUE )&&(BTA_EIR_SERVER_NUM_CUSTOM_UUID > 0) 6055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_UPDATE_EIR_UUID_EVT */ 6065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 6075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 6085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 6095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN is_add; 6105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID uuid; 6115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_UPDATE_EIR_UUID; 6125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 6135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_EIR_SERVER_INCLUDED == TRUE) 6155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_SET_EIR_CONFIG_EVT */ 6165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 6175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 6185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 6195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_EIR_CONF *p_eir_cfg; 6205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_SET_EIR_CONFIG; 6215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 6225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 623ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/* data type for BTA_DM_API_REMOVE_ACL_EVT */ 624ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battatypedef struct 625ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta{ 626ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta BT_HDR hdr; 627ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta BD_ADDR bd_addr; 628ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta BOOLEAN remove_dev; 6297fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta tBTA_TRANSPORT transport; 6307fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta 631ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta}tBTA_DM_API_REMOVE_ACL; 6327fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Battatypedef struct 6337fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta{ 6347fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta BT_HDR hdr; 6357fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta BD_ADDR bd_addr; 6367fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta UINT16 min_int; 6377fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta UINT16 max_int; 6387fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta UINT16 latency; 6397fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta UINT16 timeout; 6407fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta}tBTA_DM_API_UPDATE_CONN_PARAM; 641ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 642b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#if BLE_ANDROID_CONTROLLER_SCAN_FILTER == TRUE 643b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbachtypedef struct 644b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach{ 645b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach BT_HDR hdr; 646b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach tBTA_DM_BLE_SCAN_COND_OP action; 647b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach tBTA_DM_BLE_PF_COND_TYPE cond_type; 648b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach tBTA_DM_BLE_PF_COND_PARAM *p_cond_param; 649b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach void *p_cmpl_cback; 650b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach}tBTA_DM_API_CFG_FILTER_COND; 651b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach 652b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbachtypedef struct 653b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach{ 654b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach BT_HDR hdr; 655b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach BOOLEAN enable; 656b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach tBLE_BD_ADDR *p_target; 657b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach void *p_cmpl_cback; 658b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach}tBTA_DM_API_ENABLE_SCAN_FILTER; 659b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#endif 660b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach 6615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* union of all data types */ 6625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef union 6635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 6645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project /* GKI event buffer header */ 6655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BT_HDR hdr; 6665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_ENABLE enable; 6675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_SET_NAME set_name; 6695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_SET_VISIBILITY set_visibility; 6715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_SET_AFH_CHANNELS_EVT set_afhchannels; 6735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_VENDOR_SPECIFIC_COMMAND vendor_command; 6755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_ADD_DEVICE add_dev; 6775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_REMOVE_DEVICE remove_dev; 6795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_SEARCH search; 6815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_DISCOVER discover; 6835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_BOND bond; 6855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_BOND_CANCEL bond_cancel; 6875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_PIN_REPLY pin_reply; 6895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_LINK_POLICY link_policy; 6905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_LOC_OOB loc_oob; 6925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_CONFIRM confirm; 6935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_PASKY_CANCEL passkey_cancel; 6945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_CI_IO_REQ ci_io_req; 6955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_CI_RMT_OOB ci_rmt_oob; 6965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_AUTH_REPLY auth_reply; 6985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_REM_NAME rem_name; 7005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_DISC_RESULT disc_result; 7025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_INQUIRY_CMPL inq_cmpl; 7045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_SDP_RESULT sdp_event; 7065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_API_DM_SIG_STRENGTH sig_strength; 7085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_API_DM_TX_INQPWR tx_inq_pwr; 7105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_ACL_CHANGE acl_change; 7125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_PM_BTM_STATUS pm_status; 7145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_PM_TIMER pm_timer; 7165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_DI_DISC di_disc; 7185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_EXECUTE_CBACK exec_cback; 7205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_SET_ENCRYPTION set_encryption; 7225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BLE_INCLUDED == TRUE 7245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_ADD_BLEKEY add_ble_key; 7255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_ADD_BLE_DEVICE add_ble_device; 7265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_PASSKEY_REPLY ble_passkey_reply; 7275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_BLE_SEC_GRANT ble_sec_grant; 7285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_BLE_SET_BG_CONN_TYPE ble_set_bd_conn_type; 7295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_BLE_CONN_PARAMS ble_set_conn_params; 7305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_BLE_SCAN_PARAMS ble_set_scan_params; 731ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta tBTA_DM_API_BLE_OBSERVE ble_observe; 732ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta tBTA_DM_API_ENABLE_PRIVACY ble_remote_privacy; 733ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta tBTA_DM_API_LOCAL_PRIVACY ble_local_privacy; 734ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta tBTA_DM_API_BLE_ADV_PARAMS ble_set_adv_params; 735ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta tBTA_DM_API_SET_ADV_CONFIG ble_set_adv_data; 736b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#if BLE_ANDROID_CONTROLLER_SCAN_FILTER == TRUE 737b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach tBTA_DM_API_ENABLE_SCAN_FILTER ble_enable_scan_filter; 738b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach tBTA_DM_API_CFG_FILTER_COND ble_cfg_filter_cond; 739b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#endif 7407fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta tBTA_DM_API_UPDATE_CONN_PARAM ble_update_conn_params; 741a6ce7751d84218c193eb90d390aef23217b1737eWei Wang tBTA_DM_API_BLE_MULTI_ADV_ENB ble_multi_adv_enb; 742a6ce7751d84218c193eb90d390aef23217b1737eWei Wang tBTA_DM_API_BLE_MULTI_ADV_PARAM ble_multi_adv_param; 743a6ce7751d84218c193eb90d390aef23217b1737eWei Wang tBTA_DM_API_BLE_MULTI_ADV_DATA ble_multi_adv_data; 744a6ce7751d84218c193eb90d390aef23217b1737eWei Wang tBTA_DM_API_BLE_MULTI_ADV_DISABLE ble_multi_adv_disable; 7455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 7465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_SET_AFH_CHANNEL_ASSESSMENT set_afh_channel_assessment; 7485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )&&( BTA_EIR_CANNED_UUID_LIST != TRUE )&&(BTA_EIR_SERVER_NUM_CUSTOM_UUID > 0) 7505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_UPDATE_EIR_UUID update_eir_uuid; 7515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 7525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_EIR_SERVER_INCLUDED == TRUE) 7535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_SET_EIR_CONFIG set_eir_cfg; 7545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 755ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta tBTA_DM_API_REMOVE_ACL remove_acl; 7565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_MSG; 7585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_NUM_PEER_DEVICE 7 7615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_NOT_CONNECTED 0 7635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_CONNECTED 1 7645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_UNPAIRING 2 7655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_DM_CONN_STATE; 7665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_DI_NONE 0x00 /* nothing special */ 7695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_DI_USE_SSR 0x10 /* set this bit if ssr is supported for this link */ 7705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_DI_AV_ACTIVE 0x20 /* set this bit if AV is active for this link */ 7715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_DI_SET_SNIFF 0x01 /* set this bit if call BTM_SetPowerMode(sniff) */ 7725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_DI_INT_SNIFF 0x02 /* set this bit if call BTM_SetPowerMode(sniff) & enter sniff mode */ 7735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_DI_ACP_SNIFF 0x04 /* set this bit if peer init sniff */ 7745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_DM_DEV_INFO; 7755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 7775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 7785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR peer_bdaddr; 7795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 link_policy; 7805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_CONN_STATE conn_state; 7815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_PREF_ROLES pref_role; 7825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN in_use; 7835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_DEV_INFO info; 7847fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta tBTA_DM_ENCRYPT_CBACK *p_encrypt_cback; 7855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_SSR_INCLUDED == TRUE) 7865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTM_PM_STATUS prev_low; /* previous low power mode used */ 7875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 7885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_PM_ACTTION pm_mode_attempted; 7895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_PM_ACTTION pm_mode_failed; 790ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta BOOLEAN remove_dev_pending; 7917fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta UINT16 conn_handle; 7927fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta tBT_TRANSPORT transport; 7935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_PEER_DEVICE; 7945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* structure to store list of 7985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project active connections */ 7995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 8005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 8015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_PEER_DEVICE peer_device[BTA_DM_NUM_PEER_DEVICE]; 8025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 count; 8037fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#if BLE_INCLUDED == TRUE 8047fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta UINT8 le_count; 8057fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#endif 8065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_ACTIVE_LINK; 8075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 8105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 8115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR peer_bdaddr; 8125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_SYS_ID id; 8135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 app_id; 8145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_SYS_CONN_STATUS state; 8155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_SRVCS; 8185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_NUM_CONN_SRVS 5 8205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 8225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 8235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 count; 8255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_SRVCS conn_srvc[BTA_DM_NUM_CONN_SRVS]; 8265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_CONNECTED_SRVCS; 8285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 8305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 8315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project TIMER_LIST_ENT timer; 8325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR peer_bdaddr; 8335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN in_use; 8345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_PM_TIMER; 8365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_CONNECTED_SRVCS bta_dm_conn_srvcs; 8385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_NUM_PM_TIMER 3 8405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DM control block */ 8425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 8435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 8445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN is_bta_dm_active; 8455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_ACTIVE_LINK device_list; 8465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_SEC_CBACK *p_sec_cback; 8475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project TIMER_LIST_ENT signal_strength_timer; 8485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_SIG_STRENGTH_MASK signal_strength_mask; 8495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 state; 8505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 signal_strength_period; 8515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN disabling; 8525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project TIMER_LIST_ENT disable_timer; 8535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 wbt_sdp_handle; /* WIDCOMM Extensions SDP record handle */ 8545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 wbt_scn; /* WIDCOMM Extensions SCN */ 8555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_master_only; 8565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 pm_id; 8575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_PM_TIMER pm_timer[BTA_DM_NUM_PM_TIMER]; 8585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 role_policy_mask; /* the bits set indicates the modules that wants to remove role switch from the default link policy */ 8595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 cur_policy; /* current default link policy */ 8605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 rs_event; /* the event waiting for role switch */ 8615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 cur_av_count; /* current AV connecions */ 8625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN disable_pair_mode; /* disable pair mode or not */ 8635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN conn_paired_only; /* allow connectable to paired device only or not */ 8645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_API_SEARCH search_msg; 8655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 page_scan_interval; 8665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 page_scan_window; 8675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 inquiry_scan_interval; 8685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 inquiry_scan_window; 8695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project /* Storage for pin code request parameters */ 8715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR pin_bd_addr; 8725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project DEV_CLASS pin_dev_class; 8735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_SEC_EVT pin_evt; 8745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 num_val; /* the numeric value for comparison. If just_works, do not show this number to UI */ 8755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN just_works; /* TRUE, if "Just Works" association model */ 8765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )&&( BTA_EIR_CANNED_UUID_LIST != TRUE ) 8775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project /* store UUID list for EIR */ 8785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project TIMER_LIST_ENT app_ready_timer; 8795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 eir_uuid[BTM_EIR_SERVICE_ARRAY_SIZE]; 8805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTA_EIR_SERVER_NUM_CUSTOM_UUID > 0) 8815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID custom_uuid[BTA_EIR_SERVER_NUM_CUSTOM_UUID]; 8825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 8835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 8855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project TIMER_LIST_ENT switch_delay_timer; 8875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_CB; 8895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_DM_SDP_DB_SIZE 8915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_SDP_DB_SIZE 250 8925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 8935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DM search control block */ 8955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 8965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 8975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_SEARCH_CBACK * p_search_cback; 8995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTM_INQ_INFO * p_btm_inq_info; 9005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_SERVICE_MASK services; 9015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_SERVICE_MASK services_to_search; 9025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_SERVICE_MASK services_found; 9035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tSDP_DISCOVERY_DB * p_sdp_db; 9045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 state; 9055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BD_ADDR peer_bdaddr; 9065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN name_discover_done; 907ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta BD_NAME peer_name; 9085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project TIMER_LIST_ENT search_timer; 9095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 service_index; 9105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_MSG * p_search_queue; /* search or discover commands during search cancel stored here */ 9115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN wait_disc; 9125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN sdp_results; 9135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tSDP_UUID uuid; 9145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 peer_scn; 9155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN sdp_search; 9167fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta tBTA_TRANSPORT transport; 9175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ((defined BLE_INCLUDED) && (BLE_INCLUDED == TRUE)) 918ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta tBTA_DM_SEARCH_CBACK * p_scan_cback; 9195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ((defined BTA_GATT_INCLUDED) && (BTA_GATT_INCLUDED == TRUE)) 9205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_GATTC_IF client_if; 9215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_uuid; 9225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_UUID *p_srvc_uuid; 9235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 uuid_to_search; 9245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN gatt_disc_active; 9255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 conn_id; 9265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 * p_ble_rawdata; 9275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 ble_raw_size; 9285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 ble_raw_used; 9296975b4d711142b885af479721cada448952c6b41Andre Eisenbach TIMER_LIST_ENT gatt_close_timer; 9306975b4d711142b885af479721cada448952c6b41Andre Eisenbach BD_ADDR pending_close_bda; 9315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 9325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 9335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_SEARCH_CB; 9365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DI control block */ 9385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 9395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 9405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tSDP_DISCOVERY_DB * p_di_db; /* pointer to the DI discovery database */ 9415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 di_num; /* total local DI record number */ 9425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT32 di_handle[BTA_DI_NUM_MAX]; /* local DI record handle, the first one is primary record */ 9435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_DI_CB; 9445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DM search state */ 9465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum 9475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 9485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_SEARCH_IDLE, 9505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_SEARCH_ACTIVE, 9515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_SEARCH_CANCELLING, 9525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTA_DM_DISCOVER_ACTIVE 9535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}; 9555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 9595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 9605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project DEV_CLASS dev_class; /* local device class */ 9615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 policy_settings; /* link policy setting hold, sniff, park, MS switch */ 9625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 page_timeout; /* timeout for page in slots */ 9635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 link_timeout; /* link supervision timeout in slots */ 9645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN avoid_scatter; /* TRUE to avoid scatternet when av is streaming (be the master) */ 9655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_CFG; 9675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern const UINT32 bta_service_id_to_btm_srv_id_lkup_tbl[]; 9695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern const tBTA_DM_CFG bta_dm_cfg; 9715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 9745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 9755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 id; 9765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 app_id; 9775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 cfg; 9785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_RM ; 9805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_CFG *p_bta_dm_cfg; 9825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_RM *p_bta_dm_rm_cfg; 9835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 9855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 9865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 id; 9885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 app_id; 9895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 spec_idx; /* index of spec table to use */ 9905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_PM_CFG; 9925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 9955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 9965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_PM_ACTTION power_mode; 9985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 timeout; 9995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_PM_ACTN; 10015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 10035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 10045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 allow_mask; /* mask of sniff/hold/park modes to allow */ 10065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_SSR_INCLUDED == TRUE) 10075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 ssr; /* set SSR on conn open/unpark */ 10085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 10095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTA_DM_PM_ACTN actn_tbl [BTA_DM_PM_NUM_EVTS][2]; 10105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_PM_SPEC; 10125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 10145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 10155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 max_lat; 10165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 min_rmt_to; 10175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 min_loc_to; 10185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_SSR_SPEC; 10195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 10215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 10225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 manufacturer; 10235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 lmp_sub_version; 10245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 lmp_version; 10255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_LMP_VER_INFO; 10265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_PM_CFG *p_bta_dm_pm_cfg; 10285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_PM_SPEC *p_bta_dm_pm_spec; 10295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTM_PM_PWR_MD *p_bta_dm_pm_md; 10305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_SSR_INCLUDED == TRUE) 10315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_SSR_SPEC *p_bta_dm_ssr_spec; 10325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 10335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE ) 10355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* update dynamic BRCM Aware EIR data */ 10365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern const tBTA_DM_EIR_CONF bta_dm_eir_cfg; 10375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_EIR_CONF *p_bta_dm_eir_cfg; 10385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 10395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DM control block */ 10415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BTA_DYNAMIC_MEMORY == FALSE 10425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_CB bta_dm_cb; 10435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else 10445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_CB *bta_dm_cb_ptr; 10455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define bta_dm_cb (*bta_dm_cb_ptr) 10465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 10475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DM search control block */ 10495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BTA_DYNAMIC_MEMORY == FALSE 10505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_SEARCH_CB bta_dm_search_cb; 10515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else 10525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_SEARCH_CB *bta_dm_search_cb_ptr; 10535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define bta_dm_search_cb (*bta_dm_search_cb_ptr) 10545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 10555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DI control block */ 10575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BTA_DYNAMIC_MEMORY == FALSE 10585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_DI_CB bta_dm_di_cb; 10595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else 10605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_DI_CB *bta_dm_di_cb_ptr; 10615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define bta_dm_di_cb (*bta_dm_di_cb_ptr) 10625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 10635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern BOOLEAN bta_dm_sm_execute(BT_HDR *p_msg); 10655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_sm_disable( void ); 10665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern BOOLEAN bta_dm_search_sm_execute(BT_HDR *p_msg); 10675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_sm_disable( void ); 10685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_enable (tBTA_DM_MSG *p_data); 10715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_disable (tBTA_DM_MSG *p_data); 10725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_set_dev_name (tBTA_DM_MSG *p_data); 10735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_set_visibility (tBTA_DM_MSG *p_data); 10745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_set_afhchannels (tBTA_DM_MSG *p_data); 10755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_vendor_spec_command(tBTA_DM_MSG *p_data); 10765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_bond (tBTA_DM_MSG *p_data); 10775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_bond_cancel (tBTA_DM_MSG *p_data); 10785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_pin_reply (tBTA_DM_MSG *p_data); 10795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_link_policy (tBTA_DM_MSG *p_data); 10805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_auth_reply (tBTA_DM_MSG *p_data); 10815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_signal_strength(tBTA_DM_MSG *p_data); 10825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_tx_inqpower(tBTA_DM_MSG *p_data); 10835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_acl_change(tBTA_DM_MSG *p_data); 10845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_add_device (tBTA_DM_MSG *p_data); 10855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_remove_device (tBTA_DM_MSG *p_data); 1086ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battaextern void bta_dm_close_acl(tBTA_DM_MSG *p_data); 10875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_pm_btm_status(tBTA_DM_MSG *p_data); 10905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_pm_timer(tBTA_DM_MSG *p_data); 10915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_add_ampkey (tBTA_DM_MSG *p_data); 10925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BLE_INCLUDED == TRUE 10945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_add_blekey (tBTA_DM_MSG *p_data); 10955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_add_ble_device (tBTA_DM_MSG *p_data); 10965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_ble_passkey_reply (tBTA_DM_MSG *p_data); 10975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_security_grant (tBTA_DM_MSG *p_data); 10985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_ble_set_bg_conn_type (tBTA_DM_MSG *p_data); 10995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_ble_set_conn_params (tBTA_DM_MSG *p_data); 11005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_ble_set_scan_params (tBTA_DM_MSG *p_data); 11016975b4d711142b885af479721cada448952c6b41Andre Eisenbachextern void bta_dm_close_gatt_conn(tBTA_DM_MSG *p_data); 1102ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battaextern void bta_dm_ble_observe (tBTA_DM_MSG *p_data); 11037fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Battaextern void bta_dm_ble_update_conn_params (tBTA_DM_MSG *p_data); 1104ed534e330bf63c72e778fc8daae09ddd63c395b2Wei Wang#if BLE_PRIVACY_SPT == TRUE 1105ed534e330bf63c72e778fc8daae09ddd63c395b2Wei Wangextern void bta_dm_ble_config_local_privacy (tBTA_DM_MSG *p_data); 1106ed534e330bf63c72e778fc8daae09ddd63c395b2Wei Wang#endif 11075c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbachextern void bta_dm_ble_set_adv_params (tBTA_DM_MSG *p_data); 11085c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbachextern void bta_dm_ble_set_adv_config (tBTA_DM_MSG *p_data); 1109eeeac99328c23304ab24698331b6600f3b545700Andre Eisenbachextern void bta_dm_ble_set_scan_rsp (tBTA_DM_MSG *p_data); 1110eeeac99328c23304ab24698331b6600f3b545700Andre Eisenbachextern void bta_dm_ble_broadcast (tBTA_DM_MSG *p_data); 11115c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach 1112b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#if BLE_ANDROID_CONTROLLER_SCAN_FILTER == TRUE 1113b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbachextern void bta_dm_enable_scan_filter (tBTA_DM_MSG *p_data); 1114b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbachextern void bta_dm_cfg_filter_cond (tBTA_DM_MSG *p_data); 1115b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#endif 1116a6ce7751d84218c193eb90d390aef23217b1737eWei Wangextern void btm_dm_ble_multi_adv_disable(tBTA_DM_MSG *p_data); 1117a6ce7751d84218c193eb90d390aef23217b1737eWei Wangextern void bta_dm_ble_multi_adv_data(tBTA_DM_MSG *p_data); 1118a6ce7751d84218c193eb90d390aef23217b1737eWei Wangextern void bta_dm_ble_multi_adv_upd_param(tBTA_DM_MSG *p_data); 1119a6ce7751d84218c193eb90d390aef23217b1737eWei Wangextern void bta_dm_ble_multi_adv_enb(tBTA_DM_MSG *p_data); 1120b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach 11215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 11225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_set_encryption(tBTA_DM_MSG *p_data); 11235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_confirm(tBTA_DM_MSG *p_data); 11245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_passkey_cancel(tBTA_DM_MSG *p_data); 11255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_OOB_INCLUDED == TRUE) 11265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_loc_oob(tBTA_DM_MSG *p_data); 11275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_ci_io_req_act(tBTA_DM_MSG *p_data); 11285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_ci_rmt_oob_act(tBTA_DM_MSG *p_data); 11295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BTM_OOB_INCLUDED */ 11305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_init_pm(void); 11325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_disable_pm(void); 11335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_start (tBTA_DM_MSG *p_data); 11355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_cancel (tBTA_DM_MSG *p_data); 11365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_discover (tBTA_DM_MSG *p_data); 11375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_di_disc (tBTA_DM_MSG *p_data); 11385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_inq_cmpl (tBTA_DM_MSG *p_data); 11395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_rmt_name (tBTA_DM_MSG *p_data); 11405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_sdp_result (tBTA_DM_MSG *p_data); 11415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_cmpl (tBTA_DM_MSG *p_data); 11425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_free_sdp_db (tBTA_DM_MSG *p_data); 11435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_disc_result (tBTA_DM_MSG *p_data); 11445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_result (tBTA_DM_MSG *p_data); 11455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_discovery_cmpl (tBTA_DM_MSG *p_data); 11465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_queue_search (tBTA_DM_MSG *p_data); 11475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_queue_disc (tBTA_DM_MSG *p_data); 11485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_clear_queue (tBTA_DM_MSG *p_data); 11495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_cancel_cmpl (tBTA_DM_MSG *p_data); 11505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_cancel_notify (tBTA_DM_MSG *p_data); 11515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_cancel_transac_cmpl(tBTA_DM_MSG *p_data); 11525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_disc_rmt_name (tBTA_DM_MSG *p_data); 11535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_PEER_DEVICE * bta_dm_find_peer_device(BD_ADDR peer_addr); 11545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11557fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#if BLE_PRIVACY_SPT == TRUE 11567fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Battaextern void bta_dm_ble_config_local_privacy (tBTA_DM_MSG *p_data); 11577fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#endif 11587fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta 11595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_pm_active(BD_ADDR peer_addr); 11605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE ) 11625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid bta_dm_eir_update_uuid(UINT16 uuid16, BOOLEAN adding); 11635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else 11645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define bta_dm_eir_update_uuid(x, y) 11655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 11665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )&&( BTA_EIR_CANNED_UUID_LIST != TRUE )&&(BTA_EIR_SERVER_NUM_CUSTOM_UUID > 0) 11685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_update_eir_uuid (tBTA_DM_MSG *p_data); 11695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 11705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_EIR_SERVER_INCLUDED == TRUE) 11715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_set_eir_config (tBTA_DM_MSG *p_data); 11725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 11735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_enable_test_mode(tBTA_DM_MSG *p_data); 11745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_disable_test_mode(tBTA_DM_MSG *p_data); 11755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_execute_callback(tBTA_DM_MSG *p_data); 11765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_set_afh_channel_assesment(tBTA_DM_MSG *p_data); 11785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BTA_DM_INT_H */ 11805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1181