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#if BLE_PRIVACY_SPT == TRUE
104a6ce7751d84218c193eb90d390aef23217b1737eWei Wang    BTA_DM_API_LOCAL_PRIVACY_EVT,
105a6ce7751d84218c193eb90d390aef23217b1737eWei Wang#endif
1065c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach    BTA_DM_API_BLE_ADV_PARAM_EVT,
1075c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach    BTA_DM_API_BLE_SET_ADV_CONFIG_EVT,
108eeeac99328c23304ab24698331b6600f3b545700Andre Eisenbach    BTA_DM_API_BLE_SET_SCAN_RSP_EVT,
109eeeac99328c23304ab24698331b6600f3b545700Andre Eisenbach    BTA_DM_API_BLE_BROADCAST_EVT,
110b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach
111b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#if BLE_ANDROID_CONTROLLER_SCAN_FILTER == TRUE
112b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach    BTA_DM_API_CFG_FILTER_COND_EVT,
1131a9247a1229aa65b3d1dce16426177bc5828e54dSatya Calloji    BTA_DM_API_SCAN_FILTER_SETUP_EVT,
1141a9247a1229aa65b3d1dce16426177bc5828e54dSatya Calloji    BTA_DM_API_SCAN_FILTER_ENABLE_EVT,
115b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#endif
116a6ce7751d84218c193eb90d390aef23217b1737eWei Wang    BTA_DM_API_BLE_MULTI_ADV_ENB_EVT,
117a6ce7751d84218c193eb90d390aef23217b1737eWei Wang    BTA_DM_API_BLE_MULTI_ADV_PARAM_UPD_EVT,
118a6ce7751d84218c193eb90d390aef23217b1737eWei Wang    BTA_DM_API_BLE_MULTI_ADV_DATA_EVT,
119a6ce7751d84218c193eb90d390aef23217b1737eWei Wang    BTA_DM_API_BLE_MULTI_ADV_DISABLE_EVT,
120c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    BTA_DM_API_BLE_SETUP_STORAGE_EVT,
121c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    BTA_DM_API_BLE_ENABLE_BATCH_SCAN_EVT,
122c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    BTA_DM_API_BLE_DISABLE_BATCH_SCAN_EVT,
123c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    BTA_DM_API_BLE_READ_SCAN_REPORTS_EVT,
124c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    BTA_DM_API_BLE_TRACK_ADVERTISER_EVT,
125e5ba8841cd39e17c05aeb4ab65b5b761d41577daSatya Calloji    BTA_DM_API_BLE_ENERGY_INFO_EVT,
1265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )&&( BTA_EIR_CANNED_UUID_LIST != TRUE )&&(BTA_EIR_SERVER_NUM_CUSTOM_UUID > 0)
1295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_UPDATE_EIR_UUID_EVT,
1305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_EIR_SERVER_INCLUDED == TRUE)
1325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_SET_EIR_CONFIG_EVT,
1335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_ENABLE_TEST_MODE_EVT,
1365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_DISABLE_TEST_MODE_EVT,
1375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_EXECUTE_CBACK_EVT,
1385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_SET_AFH_CHANNEL_ASSESMENT_EVT,
1395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_MAX_EVT
1405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project};
1415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DM search events */
1445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum
1455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    /* DM search API events */
1475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_SEARCH_EVT = BTA_SYS_EVT_START(BTA_ID_DM_SEARCH),
1485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_SEARCH_CANCEL_EVT,
1495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_DISCOVER_EVT,
1505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_INQUIRY_CMPL_EVT,
1515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_REMT_NAME_EVT,
1525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_SDP_RESULT_EVT,
1535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_SEARCH_CMPL_EVT,
1545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_DISCOVERY_RESULT_EVT,
1556975b4d711142b885af479721cada448952c6b41Andre Eisenbach    BTA_DM_API_DI_DISCOVER_EVT,
1566975b4d711142b885af479721cada448952c6b41Andre Eisenbach    BTA_DM_DISC_CLOSE_TOUT_EVT
1575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project};
1585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_ENABLE_EVT */
1605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
1635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEC_CBACK *p_sec_cback;
1645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_ENABLE;
1655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_SET_NAME_EVT */
1675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
170ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BD_NAME             name; /* max 248 bytes name, plus must be Null terminated */
1715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_SET_NAME;
1725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_SET_VISIBILITY_EVT */
1745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
1775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_DISC    disc_mode;
1785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_CONN    conn_mode;
1795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           pair_mode;
1805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           conn_paired_only;
1815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_SET_VISIBILITY;
1825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_SET_AFH_CHANNELS_EVT */
1845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
1875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           first;
1885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           last;
1895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_SET_AFH_CHANNELS_EVT;
1905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_VENDOR_SPECIFIC_COMMAND_EVT */
1925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
1955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16              opcode;
1965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               param_len;
1975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               *p_param_buf;
1985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_VENDOR_CMPL_CBACK *p_cback;
1995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_VENDOR_SPECIFIC_COMMAND;
2015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum
2035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_RS_NONE,     /* straight API call */
2055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_RS_OK,       /* the role switch result - successful */
2065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_RS_FAIL      /* the role switch result - failed */
2075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project};
2085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_DM_RS_RES;
2095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_SEARCH_EVT */
2115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
2145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_INQ inq_params;
2155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SERVICE_MASK services;
2165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEARCH_CBACK * p_cback;
2175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_RS_RES  rs_res;
2185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BLE_INCLUDED == TRUE && BTA_GATT_INCLUDED == TRUE
2195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           num_uuid;
2205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBT_UUID        *p_uuid;
2215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_SEARCH;
2235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_DISCOVER_EVT */
2255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
2285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR bd_addr;
2295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SERVICE_MASK services;
2305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEARCH_CBACK * p_cback;
2315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN         sdp_search;
2327fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    tBTA_TRANSPORT  transport;
2335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BLE_INCLUDED == TRUE && BTA_GATT_INCLUDED == TRUE
2345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           num_uuid;
2355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBT_UUID        *p_uuid;
2365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tSDP_UUID    uuid;
2385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_DISCOVER;
2395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_DI_DISC_EVT */
2415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
2445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR             bd_addr;
2455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DISCOVERY_DB   *p_sdp_db;
2465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32              len;
2475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEARCH_CBACK * p_cback;
2485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_DI_DISC;
2495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_BOND_EVT */
2515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
2545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR bd_addr;
2557fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    tBTA_TRANSPORT transport;
2565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_BOND;
2575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_BOND_CANCEL_EVT */
2595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR          hdr;
2625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR         bd_addr;
2637fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    tBTA_TRANSPORT  transport;
2645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_BOND_CANCEL;
2655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_PIN_REPLY_EVT */
2675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
2705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR bd_addr;
2715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN accept;
2725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8 pin_len;
2735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8 p_pin[PIN_CODE_LEN];
2745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_PIN_REPLY;
2755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_LINK_POLICY_EVT */
2775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
2805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR     bd_addr;
2815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16      policy_mask;
2825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN     set;
2835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_LINK_POLICY;
2845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_AUTH_REPLY_EVT */
2865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
2895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR bd_addr;
2905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SERVICE_ID service;
2915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_AUTH_RESP response;
2925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_AUTH_REPLY;
2935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_LOC_OOB_EVT */
2955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
2985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_LOC_OOB;
2995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_CONFIRM_EVT */
3015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
3045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR     bd_addr;
3055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN     accept;
3065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_CONFIRM;
3075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_PASKY_CANCEL_EVT*/
3095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
3125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR     bd_addr;
3135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_PASKY_CANCEL;
3145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_CI_IO_REQ_EVT */
3165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR          hdr;
3195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR         bd_addr;
3205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_IO_CAP     io_cap;
3215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_OOB_DATA   oob_data;
3225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_AUTH_REQ   auth_req;
3235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_CI_IO_REQ;
3245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_CI_RMT_OOB_EVT */
3265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
3295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR     bd_addr;
3305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_OCTET16  c;
3315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_OCTET16  r;
3325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN     accept;
3335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_CI_RMT_OOB;
3345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_REMT_NAME_EVT */
3365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
3395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEARCH  result;
3405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_REM_NAME;
3415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for tBTA_DM_DISC_RESULT */
3435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
3465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEARCH  result;
3475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_DISC_RESULT;
3485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_INQUIRY_CMPL_EVT */
3515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
3545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8       num;
3555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_INQUIRY_CMPL;
3565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_SDP_RESULT_EVT */
3585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
3615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16 sdp_result;
3625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_SDP_RESULT;
3635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_API_DM_SIG_STRENGTH_EVT */
3655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
3685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SIG_STRENGTH_MASK mask;
3695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16 period;
3705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN start;
3715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_API_DM_SIG_STRENGTH;
3725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for tBTA_API_DM_TX_INQPWR */
3745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
3775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    INT8        tx_power;
3785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_API_DM_TX_INQPWR;
3795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_ACL_CHANGE_EVT */
3815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR          hdr;
3845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTM_BL_EVENT   event;
3855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           busy_level;
386ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    UINT8           busy_level_flags;
3875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN         is_new;
3885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           new_role;
3895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR         bd_addr;
3905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           hci_status;
3917fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#if BLE_INCLUDED == TRUE
3927fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    UINT16          handle;
3937fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    tBT_TRANSPORT   transport;
3947fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#endif
3955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_ACL_CHANGE;
3965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_PM_BTM_STATUS_EVT */
3985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR          hdr;
4025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR         bd_addr;
4035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTM_PM_STATUS  status;
4045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16          value;
4055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           hci_status;
4065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_PM_BTM_STATUS;
4085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_PM_TIMER_EVT */
4105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR          hdr;
4135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR         bd_addr;
4145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_PM_TIMER;
4165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_ADD_DEVICE_EVT */
4195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
4225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR             bd_addr;
4235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    DEV_CLASS           dc;
4245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    LINK_KEY            link_key;
4255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SERVICE_MASK   tm;
4265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN             is_trusted;
4275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               key_type;
4285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_IO_CAP         io_cap;
4295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN             link_key_known;
4305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN             dc_known;
4315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_NAME             bd_name;
4323aa60544585b5fb0f35c1165539a4a859fc0f25cAndre Eisenbach    UINT8               features[BTA_FEATURE_BYTES_PER_PAGE * (BTA_EXT_FEATURES_PAGE_MAX + 1)];
4335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_ADD_DEVICE;
4345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_REMOVE_ACL_EVT */
4365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
4395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR             bd_addr;
4405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_REMOVE_DEVICE;
4415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_EXECUTE_CBACK_EVT */
4435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR               hdr;
4465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    void *               p_param;
4475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_EXEC_CBACK  *p_exec_cback;
4485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_EXECUTE_CBACK;
4495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for tBTA_DM_API_SET_ENCRYPTION */
4515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR                    hdr;
4547fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    tBTA_TRANSPORT            transport;
4555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_ENCRYPT_CBACK     *p_callback;
4565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_BLE_SEC_ACT       sec_act;
4575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                   bd_addr;
4585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_SET_ENCRYPTION;
4595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BLE_INCLUDED == TRUE
4615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR                  hdr;
4645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                 bd_addr;
4655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_LE_KEY_VALUE       blekey;
4665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_LE_KEY_TYPE        key_type;
4675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_ADD_BLEKEY;
4695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR                  hdr;
4735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                 bd_addr;
4745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBT_DEVICE_TYPE         dev_type ;
4755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBLE_ADDR_TYPE          addr_type;
4765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_ADD_BLE_DEVICE;
4785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR                  hdr;
4825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                 bd_addr;
4835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                 accept;
4845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32                  passkey;
4855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_PASSKEY_REPLY;
4865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR                  hdr;
4905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                 bd_addr;
4915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_BLE_SEC_GRANT   res;
4925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_BLE_SEC_GRANT;
4935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR                  hdr;
4985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_BLE_CONN_TYPE   bg_conn_type;
4995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_BLE_SEL_CBACK   *p_select_cback;
5005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_BLE_SET_BG_CONN_TYPE;
5015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* set prefered BLE connection parameters for a device */
5035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
5045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
5055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR                  hdr;
5065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                 peer_bda;
5075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                  conn_int_min;
5085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                  conn_int_max;
5095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                  supervision_tout;
5105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                  slave_latency;
5115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_BLE_CONN_PARAMS;
5135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
514ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battatypedef struct
515ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta{
516ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BT_HDR                  hdr;
517ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BD_ADDR                 peer_bda;
518ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BOOLEAN                 privacy_enable;
519ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
520ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta}tBTA_DM_API_ENABLE_PRIVACY;
521ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
522ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battatypedef struct
523ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta{
524ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BT_HDR                  hdr;
525ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BOOLEAN                 privacy_enable;
526ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta}tBTA_DM_API_LOCAL_PRIVACY;
527ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
5285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* set scan parameter for BLE connections */
5295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
5305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
5315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR                  hdr;
5325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                  scan_int;
5335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                  scan_window;
5345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_BLE_SCAN_PARAMS;
5355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
536ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/* Data type for start/stop observe */
537ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battatypedef struct
538ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta{
539ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BT_HDR                  hdr;
540ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BOOLEAN                 start;
541ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    UINT16                  duration;
542ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_DM_SEARCH_CBACK * p_cback;
543ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta}tBTA_DM_API_BLE_OBSERVE;
5445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
545ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/* set adv parameter for BLE advertising */
546ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battatypedef struct
547ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta{
548ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BT_HDR                  hdr;
549ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    UINT16                  adv_int_min;
550ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    UINT16                  adv_int_max;
551ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBLE_BD_ADDR            *p_dir_bda;
552ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta}tBTA_DM_API_BLE_ADV_PARAMS;
553ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
554ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battatypedef struct
555ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta{
556ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BT_HDR                  hdr;
557a6ce7751d84218c193eb90d390aef23217b1737eWei Wang    BOOLEAN                 enable;
558a6ce7751d84218c193eb90d390aef23217b1737eWei Wang
559a6ce7751d84218c193eb90d390aef23217b1737eWei Wang}tBTA_DM_API_BLE_FEATURE;
560a6ce7751d84218c193eb90d390aef23217b1737eWei Wang
561a6ce7751d84218c193eb90d390aef23217b1737eWei Wang/* multi adv data structure */
562a6ce7751d84218c193eb90d390aef23217b1737eWei Wangtypedef struct
563a6ce7751d84218c193eb90d390aef23217b1737eWei Wang{
564a6ce7751d84218c193eb90d390aef23217b1737eWei Wang    BT_HDR                      hdr;
56516fe0822ccd3eb6f66d3afd9965d25a0a0cb4c30Prerepa Viswanadham    tBTA_BLE_MULTI_ADV_CBACK    *p_cback;
566a6ce7751d84218c193eb90d390aef23217b1737eWei Wang    void                        *p_ref;
567a6ce7751d84218c193eb90d390aef23217b1737eWei Wang    tBTA_BLE_ADV_PARAMS         *p_params;
568a6ce7751d84218c193eb90d390aef23217b1737eWei Wang}tBTA_DM_API_BLE_MULTI_ADV_ENB;
569a6ce7751d84218c193eb90d390aef23217b1737eWei Wang
570a6ce7751d84218c193eb90d390aef23217b1737eWei Wangtypedef struct
571a6ce7751d84218c193eb90d390aef23217b1737eWei Wang{
572a6ce7751d84218c193eb90d390aef23217b1737eWei Wang    BT_HDR                      hdr;
573a6ce7751d84218c193eb90d390aef23217b1737eWei Wang    UINT8                        inst_id;
574a6ce7751d84218c193eb90d390aef23217b1737eWei Wang    tBTA_BLE_ADV_PARAMS         *p_params;
575a6ce7751d84218c193eb90d390aef23217b1737eWei Wang}tBTA_DM_API_BLE_MULTI_ADV_PARAM;
576a6ce7751d84218c193eb90d390aef23217b1737eWei Wang
577a6ce7751d84218c193eb90d390aef23217b1737eWei Wangtypedef struct
578a6ce7751d84218c193eb90d390aef23217b1737eWei Wang{
579a6ce7751d84218c193eb90d390aef23217b1737eWei Wang    BT_HDR                  hdr;
580a6ce7751d84218c193eb90d390aef23217b1737eWei Wang    UINT8                   inst_id;
581a6ce7751d84218c193eb90d390aef23217b1737eWei Wang    BOOLEAN                 is_scan_rsp;
582a6ce7751d84218c193eb90d390aef23217b1737eWei Wang    tBTA_BLE_AD_MASK        data_mask;
583a6ce7751d84218c193eb90d390aef23217b1737eWei Wang    tBTA_BLE_ADV_DATA      *p_data;
584a6ce7751d84218c193eb90d390aef23217b1737eWei Wang}tBTA_DM_API_BLE_MULTI_ADV_DATA;
585a6ce7751d84218c193eb90d390aef23217b1737eWei Wang
586a6ce7751d84218c193eb90d390aef23217b1737eWei Wangtypedef struct
587a6ce7751d84218c193eb90d390aef23217b1737eWei Wang{
588a6ce7751d84218c193eb90d390aef23217b1737eWei Wang    BT_HDR                  hdr;
589a6ce7751d84218c193eb90d390aef23217b1737eWei Wang    UINT8                   inst_id;
590a6ce7751d84218c193eb90d390aef23217b1737eWei Wang}tBTA_DM_API_BLE_MULTI_ADV_DISABLE;
591a6ce7751d84218c193eb90d390aef23217b1737eWei Wang
592a6ce7751d84218c193eb90d390aef23217b1737eWei Wangtypedef struct
593a6ce7751d84218c193eb90d390aef23217b1737eWei Wang{
594a6ce7751d84218c193eb90d390aef23217b1737eWei Wang    BT_HDR                  hdr;
595ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    UINT16                  data_mask;
596ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_BLE_ADV_DATA       *p_adv_cfg;
597a6ce7751d84218c193eb90d390aef23217b1737eWei Wang    tBTA_SET_ADV_DATA_CMPL_CBACK    *p_adv_data_cback;
598ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta}tBTA_DM_API_SET_ADV_CONFIG;
599ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
600c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Callojitypedef struct
601c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji{
602c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    BT_HDR                  hdr;
603c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    UINT8                   batch_scan_full_max;
604c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    UINT8                   batch_scan_trunc_max;
605c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    UINT8                   batch_scan_notify_threshold;
606c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    tBTA_BLE_SCAN_SETUP_CBACK *p_setup_cback;
607c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    tBTA_BLE_SCAN_THRESHOLD_CBACK *p_thres_cback;
608c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    tBTA_BLE_SCAN_REP_CBACK *p_read_rep_cback;
609c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    tBTA_DM_BLE_REF_VALUE    ref_value;
610c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji} tBTA_DM_API_SET_STORAGE_CONFIG;
611c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji
612c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Callojitypedef struct
613c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji{
614c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    BT_HDR                  hdr;
615c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    tBTA_BLE_SCAN_MODE      scan_mode;
616c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    UINT32                  scan_int;
617c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    UINT32                  scan_window;
618c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    tBTA_BLE_DISCARD_RULE   discard_rule;
619c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    tBLE_ADDR_TYPE          addr_type;
620c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    tBTA_DM_BLE_REF_VALUE   ref_value;
621c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji} tBTA_DM_API_ENABLE_SCAN;
622c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji
623c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Callojitypedef struct
624c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji{
625c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    BT_HDR                  hdr;
626c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    tBTA_DM_BLE_REF_VALUE    ref_value;
627c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji} tBTA_DM_API_DISABLE_SCAN;
628c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji
629c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Callojitypedef struct
630c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji{
631c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    BT_HDR                  hdr;
632c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    tBTA_BLE_SCAN_MODE scan_type;
633c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    tBTA_DM_BLE_REF_VALUE    ref_value;
634c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji} tBTA_DM_API_READ_SCAN_REPORTS;
635c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji
636c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Callojitypedef struct
637c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji{
638c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    BT_HDR                  hdr;
6391acb61ce065053f91a0f8d43e8328c9eeec4b5edSatya Calloji    tBTA_DM_BLE_REF_VALUE ref_value;
6401acb61ce065053f91a0f8d43e8328c9eeec4b5edSatya Calloji    tBTA_BLE_TRACK_ADV_CBACK *p_track_adv_cback;
641c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji} tBTA_DM_API_TRACK_ADVERTISER;
642c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji
643e5ba8841cd39e17c05aeb4ab65b5b761d41577daSatya Callojitypedef struct
644e5ba8841cd39e17c05aeb4ab65b5b761d41577daSatya Calloji{
645e5ba8841cd39e17c05aeb4ab65b5b761d41577daSatya Calloji    BT_HDR                  hdr;
646e5ba8841cd39e17c05aeb4ab65b5b761d41577daSatya Calloji    tBTA_BLE_ENERGY_INFO_CBACK *p_energy_info_cback;
647e5ba8841cd39e17c05aeb4ab65b5b761d41577daSatya Calloji} tBTA_DM_API_ENERGY_INFO;
648e5ba8841cd39e17c05aeb4ab65b5b761d41577daSatya Calloji
649a6ce7751d84218c193eb90d390aef23217b1737eWei Wang#endif /* BLE_INCLUDED */
650ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
651fc4b2f1953dbe60464d0f5ef7daaa10001fbc62fMatthew Xietypedef struct
652fc4b2f1953dbe60464d0f5ef7daaa10001fbc62fMatthew Xie{
653fc4b2f1953dbe60464d0f5ef7daaa10001fbc62fMatthew Xie    BT_HDR                  hdr;
654fc4b2f1953dbe60464d0f5ef7daaa10001fbc62fMatthew Xie    BOOLEAN                 enable_or_disable;
655fc4b2f1953dbe60464d0f5ef7daaa10001fbc62fMatthew Xie}tBTA_DM_API_SET_AFH_CHANNEL_ASSESSMENT;
656fc4b2f1953dbe60464d0f5ef7daaa10001fbc62fMatthew Xie
6575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )&&( BTA_EIR_CANNED_UUID_LIST != TRUE )&&(BTA_EIR_SERVER_NUM_CUSTOM_UUID > 0)
6585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_UPDATE_EIR_UUID_EVT */
6595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
6605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
6615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR          hdr;
6625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN         is_add;
6635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBT_UUID        uuid;
6645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_UPDATE_EIR_UUID;
6655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_EIR_SERVER_INCLUDED == TRUE)
6685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_SET_EIR_CONFIG_EVT */
6695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
6705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
6715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
6725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_EIR_CONF    *p_eir_cfg;
6735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_SET_EIR_CONFIG;
6745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
676ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/* data type for BTA_DM_API_REMOVE_ACL_EVT */
677ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battatypedef struct
678ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta{
679ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BT_HDR      hdr;
680ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BD_ADDR     bd_addr;
681ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BOOLEAN     remove_dev;
6827fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    tBTA_TRANSPORT transport;
6837fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta
684ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta}tBTA_DM_API_REMOVE_ACL;
6857fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Battatypedef struct
6867fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta{
6877fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    BT_HDR      hdr;
6887fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    BD_ADDR     bd_addr;
6897fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    UINT16      min_int;
6907fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    UINT16      max_int;
6917fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    UINT16      latency;
6927fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    UINT16      timeout;
6937fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta}tBTA_DM_API_UPDATE_CONN_PARAM;
694ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
695b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#if BLE_ANDROID_CONTROLLER_SCAN_FILTER == TRUE
696b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbachtypedef struct
697b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach{
698b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach    BT_HDR                          hdr;
699b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach    tBTA_DM_BLE_SCAN_COND_OP        action;
700b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach    tBTA_DM_BLE_PF_COND_TYPE        cond_type;
7011a9247a1229aa65b3d1dce16426177bc5828e54dSatya Calloji    tBTA_DM_BLE_PF_FILT_INDEX       filt_index;
702b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach    tBTA_DM_BLE_PF_COND_PARAM       *p_cond_param;
7031a9247a1229aa65b3d1dce16426177bc5828e54dSatya Calloji    tBTA_DM_BLE_PF_CFG_CBACK      *p_filt_cfg_cback;
7041a9247a1229aa65b3d1dce16426177bc5828e54dSatya Calloji    tBTA_DM_BLE_REF_VALUE            ref_value;
705b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach}tBTA_DM_API_CFG_FILTER_COND;
706b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach
707b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbachtypedef struct
708b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach{
709b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach    BT_HDR                          hdr;
7101a9247a1229aa65b3d1dce16426177bc5828e54dSatya Calloji    UINT8                           action;
7111a9247a1229aa65b3d1dce16426177bc5828e54dSatya Calloji    tBTA_DM_BLE_PF_STATUS_CBACK    *p_filt_status_cback;
7121a9247a1229aa65b3d1dce16426177bc5828e54dSatya Calloji    tBTA_DM_BLE_REF_VALUE            ref_value;
713b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach}tBTA_DM_API_ENABLE_SCAN_FILTER;
7141a9247a1229aa65b3d1dce16426177bc5828e54dSatya Calloji
7151a9247a1229aa65b3d1dce16426177bc5828e54dSatya Callojitypedef struct
7161a9247a1229aa65b3d1dce16426177bc5828e54dSatya Calloji{
7171a9247a1229aa65b3d1dce16426177bc5828e54dSatya Calloji    BT_HDR                          hdr;
7181a9247a1229aa65b3d1dce16426177bc5828e54dSatya Calloji    UINT8                           action;
7191a9247a1229aa65b3d1dce16426177bc5828e54dSatya Calloji    tBTA_DM_BLE_PF_FILT_INDEX       filt_index;
7201a9247a1229aa65b3d1dce16426177bc5828e54dSatya Calloji    tBTA_DM_BLE_PF_FILT_PARAMS      *p_filt_params;
7211a9247a1229aa65b3d1dce16426177bc5828e54dSatya Calloji    tBLE_BD_ADDR                    *p_target;
7221a9247a1229aa65b3d1dce16426177bc5828e54dSatya Calloji    tBTA_DM_BLE_PF_PARAM_CBACK      *p_filt_param_cback;
7231a9247a1229aa65b3d1dce16426177bc5828e54dSatya Calloji    tBTA_DM_BLE_REF_VALUE            ref_value;
7241a9247a1229aa65b3d1dce16426177bc5828e54dSatya Calloji}tBTA_DM_API_SCAN_FILTER_PARAM_SETUP;
725b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#endif
726b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach
7275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* union of all data types */
7285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef union
7295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
7305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    /* GKI event buffer header */
7315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
7325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_ENABLE  enable;
7335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_SET_NAME set_name;
7355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_SET_VISIBILITY set_visibility;
7375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_SET_AFH_CHANNELS_EVT set_afhchannels;
7395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_VENDOR_SPECIFIC_COMMAND vendor_command;
7415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_ADD_DEVICE  add_dev;
7435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_REMOVE_DEVICE remove_dev;
7455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_SEARCH search;
7475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_DISCOVER discover;
7495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_BOND bond;
7515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_BOND_CANCEL bond_cancel;
7535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_PIN_REPLY pin_reply;
7555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_LINK_POLICY link_policy;
7565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_LOC_OOB     loc_oob;
7585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_CONFIRM     confirm;
7595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_PASKY_CANCEL passkey_cancel;
7605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_CI_IO_REQ       ci_io_req;
7615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_CI_RMT_OOB      ci_rmt_oob;
7625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_AUTH_REPLY auth_reply;
7645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_REM_NAME rem_name;
7665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_DISC_RESULT disc_result;
7685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_INQUIRY_CMPL inq_cmpl;
7705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SDP_RESULT sdp_event;
7725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_API_DM_SIG_STRENGTH sig_strength;
7745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_API_DM_TX_INQPWR   tx_inq_pwr;
7765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_ACL_CHANGE  acl_change;
7785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_PM_BTM_STATUS pm_status;
7805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_PM_TIMER pm_timer;
7825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_DI_DISC     di_disc;
7845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_EXECUTE_CBACK exec_cback;
7865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_SET_ENCRYPTION     set_encryption;
7885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BLE_INCLUDED == TRUE
7905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_ADD_BLEKEY              add_ble_key;
7915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_ADD_BLE_DEVICE          add_ble_device;
7925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_PASSKEY_REPLY           ble_passkey_reply;
7935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_BLE_SEC_GRANT           ble_sec_grant;
7945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_BLE_SET_BG_CONN_TYPE    ble_set_bd_conn_type;
7955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_BLE_CONN_PARAMS         ble_set_conn_params;
7965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_BLE_SCAN_PARAMS         ble_set_scan_params;
797ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_DM_API_BLE_OBSERVE             ble_observe;
798ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_DM_API_ENABLE_PRIVACY          ble_remote_privacy;
799ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_DM_API_LOCAL_PRIVACY           ble_local_privacy;
800ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_DM_API_BLE_ADV_PARAMS          ble_set_adv_params;
801ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_DM_API_SET_ADV_CONFIG          ble_set_adv_data;
802b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#if BLE_ANDROID_CONTROLLER_SCAN_FILTER == TRUE
8031a9247a1229aa65b3d1dce16426177bc5828e54dSatya Calloji    tBTA_DM_API_SCAN_FILTER_PARAM_SETUP ble_scan_filt_param_setup;
804b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach    tBTA_DM_API_CFG_FILTER_COND         ble_cfg_filter_cond;
8051a9247a1229aa65b3d1dce16426177bc5828e54dSatya Calloji    tBTA_DM_API_ENABLE_SCAN_FILTER      ble_enable_scan_filt;
806b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#endif
8077fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    tBTA_DM_API_UPDATE_CONN_PARAM       ble_update_conn_params;
808a6ce7751d84218c193eb90d390aef23217b1737eWei Wang    tBTA_DM_API_BLE_MULTI_ADV_ENB       ble_multi_adv_enb;
809a6ce7751d84218c193eb90d390aef23217b1737eWei Wang    tBTA_DM_API_BLE_MULTI_ADV_PARAM     ble_multi_adv_param;
810a6ce7751d84218c193eb90d390aef23217b1737eWei Wang    tBTA_DM_API_BLE_MULTI_ADV_DATA      ble_multi_adv_data;
811a6ce7751d84218c193eb90d390aef23217b1737eWei Wang    tBTA_DM_API_BLE_MULTI_ADV_DISABLE   ble_multi_adv_disable;
812c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji
813c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    tBTA_DM_API_SET_STORAGE_CONFIG      ble_set_storage;
814c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    tBTA_DM_API_ENABLE_SCAN             ble_enable_scan;
815c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    tBTA_DM_API_READ_SCAN_REPORTS       ble_read_reports;
816c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    tBTA_DM_API_DISABLE_SCAN            ble_disable_scan;
817c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    tBTA_DM_API_TRACK_ADVERTISER        ble_track_advert;
818e5ba8841cd39e17c05aeb4ab65b5b761d41577daSatya Calloji    tBTA_DM_API_ENERGY_INFO             ble_energy_info;
8195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_SET_AFH_CHANNEL_ASSESSMENT set_afh_channel_assessment;
8225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )&&( BTA_EIR_CANNED_UUID_LIST != TRUE )&&(BTA_EIR_SERVER_NUM_CUSTOM_UUID > 0)
8245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_UPDATE_EIR_UUID     update_eir_uuid;
8255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_EIR_SERVER_INCLUDED == TRUE)
8275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_SET_EIR_CONFIG          set_eir_cfg;
8285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
829ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_DM_API_REMOVE_ACL              remove_acl;
8305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_MSG;
8325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_NUM_PEER_DEVICE 7
8355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_NOT_CONNECTED  0
8375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_CONNECTED      1
8385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_UNPAIRING      2
8395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_DM_CONN_STATE;
8405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_DI_NONE          0x00       /* nothing special */
8435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_DI_USE_SSR       0x10       /* set this bit if ssr is supported for this link */
8445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_DI_AV_ACTIVE     0x20       /* set this bit if AV is active for this link */
8455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_DI_SET_SNIFF     0x01       /* set this bit if call BTM_SetPowerMode(sniff) */
8465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_DI_INT_SNIFF     0x02       /* set this bit if call BTM_SetPowerMode(sniff) & enter sniff mode */
8475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_DI_ACP_SNIFF     0x04       /* set this bit if peer init sniff */
8485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_DM_DEV_INFO;
8495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
8515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
8525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                     peer_bdaddr;
8535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      link_policy;
8545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_CONN_STATE          conn_state;
8555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_PREF_ROLES             pref_role;
8565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                     in_use;
8575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_DEV_INFO            info;
8587fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    tBTA_DM_ENCRYPT_CBACK      *p_encrypt_cback;
8595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_SSR_INCLUDED == TRUE)
8605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTM_PM_STATUS              prev_low;   /* previous low power mode used */
8615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_PM_ACTTION          pm_mode_attempted;
8635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_PM_ACTTION          pm_mode_failed;
864ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BOOLEAN                     remove_dev_pending;
8657fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    UINT16                      conn_handle;
8667fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    tBT_TRANSPORT               transport;
8675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_PEER_DEVICE;
8685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* structure to store list of
8725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  active connections */
8735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
8745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
8755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_PEER_DEVICE    peer_device[BTA_DM_NUM_PEER_DEVICE];
8765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                  count;
8777fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#if BLE_INCLUDED == TRUE
8787fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    UINT8                  le_count;
8797fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#endif
8805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_ACTIVE_LINK;
8815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
8845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
8855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                 peer_bdaddr;
8865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SYS_ID             id;
8875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                   app_id;
8885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SYS_CONN_STATUS    state;
8895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_SRVCS;
8925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_NUM_CONN_SRVS   5
8945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
8965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
8975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8 count;
8995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SRVCS  conn_srvc[BTA_DM_NUM_CONN_SRVS];
9005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}  tBTA_DM_CONNECTED_SRVCS;
9025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
9045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
9055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    TIMER_LIST_ENT          timer;
9065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                 peer_bdaddr;
9075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                 in_use;
9085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_PM_TIMER;
9105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_CONNECTED_SRVCS bta_dm_conn_srvcs;
9125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_NUM_PM_TIMER 3
9145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DM control block */
9165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
9175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
9185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                     is_bta_dm_active;
9195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_ACTIVE_LINK         device_list;
9205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEC_CBACK           *p_sec_cback;
9211acb61ce065053f91a0f8d43e8328c9eeec4b5edSatya Calloji#if ((defined BLE_INCLUDED) && (BLE_INCLUDED == TRUE))
922c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Calloji    tBTA_BLE_SCAN_SETUP_CBACK   *p_setup_cback;
9231a9247a1229aa65b3d1dce16426177bc5828e54dSatya Calloji    tBTA_DM_BLE_PF_CFG_CBACK     *p_scan_filt_cfg_cback;
9241a9247a1229aa65b3d1dce16426177bc5828e54dSatya Calloji    tBTA_DM_BLE_PF_STATUS_CBACK  *p_scan_filt_status_cback;
9251a9247a1229aa65b3d1dce16426177bc5828e54dSatya Calloji    tBTA_DM_BLE_PF_PARAM_CBACK   *p_scan_filt_param_cback;
92616fe0822ccd3eb6f66d3afd9965d25a0a0cb4c30Prerepa Viswanadham    tBTA_BLE_MULTI_ADV_CBACK     *p_multi_adv_cback;
92716fe0822ccd3eb6f66d3afd9965d25a0a0cb4c30Prerepa Viswanadham    tBTA_BLE_ENERGY_INFO_CBACK   *p_energy_info_cback;
928b9447036ff1bc11de4a0f38c1e6337f532e6e622Prerepa Viswanadham#endif
9295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    TIMER_LIST_ENT              signal_strength_timer;
9305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SIG_STRENGTH_MASK      signal_strength_mask;
9315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      state;
9325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      signal_strength_period;
9335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                     disabling;
9345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    TIMER_LIST_ENT              disable_timer;
9355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32                      wbt_sdp_handle;          /* WIDCOMM Extensions SDP record handle */
9365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                       wbt_scn;                 /* WIDCOMM Extensions SCN */
9375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                       num_master_only;
9385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                       pm_id;
9395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_PM_TIMER               pm_timer[BTA_DM_NUM_PM_TIMER];
9405738f83aeb59361a0a2eda2460113f6dc919427The 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 */
9415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      cur_policy;         /* current default link policy */
9425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      rs_event;           /* the event waiting for role switch */
9435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                       cur_av_count;       /* current AV connecions */
9445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                     disable_pair_mode;          /* disable pair mode or not */
9455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                     conn_paired_only;   /* allow connectable to paired device only or not */
9465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_SEARCH          search_msg;
9475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      page_scan_interval;
9485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      page_scan_window;
9495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      inquiry_scan_interval;
9505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      inquiry_scan_window;
9515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    /* Storage for pin code request parameters */
9535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                     pin_bd_addr;
9545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    DEV_CLASS                   pin_dev_class;
9555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEC_EVT             pin_evt;
9565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32          num_val;        /* the numeric value for comparison. If just_works, do not show this number to UI */
9575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN         just_works;     /* TRUE, if "Just Works" association model */
9585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )&&( BTA_EIR_CANNED_UUID_LIST != TRUE )
9595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    /* store UUID list for EIR */
9605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    TIMER_LIST_ENT              app_ready_timer;
9615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32                      eir_uuid[BTM_EIR_SERVICE_ARRAY_SIZE];
9625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTA_EIR_SERVER_NUM_CUSTOM_UUID > 0)
9635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBT_UUID                    custom_uuid[BTA_EIR_SERVER_NUM_CUSTOM_UUID];
9645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    TIMER_LIST_ENT              switch_delay_timer;
9695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_CB;
9715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_DM_SDP_DB_SIZE
9735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_SDP_DB_SIZE 250
9745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DM search control block */
9775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
9785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
9795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEARCH_CBACK * p_search_cback;
9815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTM_INQ_INFO        * p_btm_inq_info;
9825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SERVICE_MASK      services;
9835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SERVICE_MASK      services_to_search;
9845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SERVICE_MASK      services_found;
9855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tSDP_DISCOVERY_DB    * p_sdp_db;
9865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                 state;
9875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                peer_bdaddr;
9885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                name_discover_done;
989ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BD_NAME                peer_name;
9905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    TIMER_LIST_ENT         search_timer;
9915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                  service_index;
9925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_MSG          * p_search_queue;   /* search or discover commands during search cancel stored here */
9935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                wait_disc;
9945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                sdp_results;
9955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tSDP_UUID              uuid;
9965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                  peer_scn;
9975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                sdp_search;
9987fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    tBTA_TRANSPORT         transport;
9995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ((defined BLE_INCLUDED) && (BLE_INCLUDED == TRUE))
1000ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_DM_SEARCH_CBACK * p_scan_cback;
10015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ((defined BTA_GATT_INCLUDED) && (BTA_GATT_INCLUDED == TRUE))
10025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_GATTC_IF          client_if;
10035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                  num_uuid;
10045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBT_UUID               *p_srvc_uuid;
10055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                  uuid_to_search;
10065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                gatt_disc_active;
10075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                 conn_id;
10085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8 *                 p_ble_rawdata;
10095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32                 ble_raw_size;
10105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32                 ble_raw_used;
10116975b4d711142b885af479721cada448952c6b41Andre Eisenbach    TIMER_LIST_ENT         gatt_close_timer;
10126975b4d711142b885af479721cada448952c6b41Andre Eisenbach    BD_ADDR                pending_close_bda;
10135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_SEARCH_CB;
10185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DI control block */
10205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
10215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
10225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tSDP_DISCOVERY_DB    * p_di_db;     /* pointer to the DI discovery database */
10235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               di_num;         /* total local DI record number */
10245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32              di_handle[BTA_DI_NUM_MAX];  /* local DI record handle, the first one is primary record */
10255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_DI_CB;
10265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DM search state */
10285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum
10295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
10305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_SEARCH_IDLE,
10325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_SEARCH_ACTIVE,
10335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_SEARCH_CANCELLING,
10345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_DISCOVER_ACTIVE
10355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project};
10375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
10415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
10425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    DEV_CLASS      dev_class;          /* local device class */
10435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16         policy_settings;    /* link policy setting hold, sniff, park, MS switch */
10445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16         page_timeout;       /* timeout for page in slots */
10455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16         link_timeout;       /* link supervision timeout in slots */
10465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN        avoid_scatter;      /* TRUE to avoid scatternet when av is streaming (be the master) */
10475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_CFG;
10495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern const UINT32 bta_service_id_to_btm_srv_id_lkup_tbl[];
10515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern const tBTA_DM_CFG bta_dm_cfg;
10535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
10565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
10575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8   id;
10585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8   app_id;
10595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8   cfg;
10605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_RM ;
10625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_CFG *p_bta_dm_cfg;
10645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_RM *p_bta_dm_rm_cfg;
10655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
10675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
10685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  UINT8  id;
10705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  UINT8  app_id;
10715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  UINT8  spec_idx;  /* index of spec table to use */
10725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_PM_CFG;
10745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
10775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
10785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  tBTA_DM_PM_ACTTION  power_mode;
10805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  UINT16              timeout;
10815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_PM_ACTN;
10835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
10855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
10865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  UINT8  allow_mask;         /* mask of sniff/hold/park modes to allow */
10885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_SSR_INCLUDED == TRUE)
10895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  UINT8  ssr;                /* set SSR on conn open/unpark */
10905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  tBTA_DM_PM_ACTN actn_tbl [BTA_DM_PM_NUM_EVTS][2];
10925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_PM_SPEC;
10945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
10965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
10975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16      max_lat;
10985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16      min_rmt_to;
10995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16      min_loc_to;
11005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_SSR_SPEC;
11015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
11035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
11045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project   UINT16 manufacturer;
11055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project   UINT16 lmp_sub_version;
11065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project   UINT8 lmp_version;
11075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_LMP_VER_INFO;
11085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_PM_CFG *p_bta_dm_pm_cfg;
11105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_PM_SPEC *p_bta_dm_pm_spec;
11115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTM_PM_PWR_MD *p_bta_dm_pm_md;
11125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_SSR_INCLUDED == TRUE)
11135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_SSR_SPEC *p_bta_dm_ssr_spec;
11145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )
11175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* update dynamic BRCM Aware EIR data */
11185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern const tBTA_DM_EIR_CONF bta_dm_eir_cfg;
11195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_EIR_CONF *p_bta_dm_eir_cfg;
11205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DM control block */
11235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BTA_DYNAMIC_MEMORY == FALSE
11245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_CB  bta_dm_cb;
11255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else
11265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_CB *bta_dm_cb_ptr;
11275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define bta_dm_cb (*bta_dm_cb_ptr)
11285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DM search control block */
11315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BTA_DYNAMIC_MEMORY == FALSE
11325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_SEARCH_CB  bta_dm_search_cb;
11335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else
11345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_SEARCH_CB *bta_dm_search_cb_ptr;
11355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define bta_dm_search_cb (*bta_dm_search_cb_ptr)
11365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DI control block */
11395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BTA_DYNAMIC_MEMORY == FALSE
11405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_DI_CB  bta_dm_di_cb;
11415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else
11425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_DI_CB *bta_dm_di_cb_ptr;
11435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define bta_dm_di_cb (*bta_dm_di_cb_ptr)
11445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern BOOLEAN bta_dm_sm_execute(BT_HDR *p_msg);
11475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_sm_disable( void );
11485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern BOOLEAN bta_dm_search_sm_execute(BT_HDR *p_msg);
11495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_sm_disable( void );
11505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_enable (tBTA_DM_MSG *p_data);
11535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_disable (tBTA_DM_MSG *p_data);
11545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_set_dev_name (tBTA_DM_MSG *p_data);
11555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_set_visibility (tBTA_DM_MSG *p_data);
11565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_set_afhchannels (tBTA_DM_MSG *p_data);
11575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_vendor_spec_command(tBTA_DM_MSG *p_data);
11585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_bond (tBTA_DM_MSG *p_data);
11595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_bond_cancel (tBTA_DM_MSG *p_data);
11605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_pin_reply (tBTA_DM_MSG *p_data);
11615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_link_policy (tBTA_DM_MSG *p_data);
11625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_auth_reply (tBTA_DM_MSG *p_data);
11635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_signal_strength(tBTA_DM_MSG *p_data);
11645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_tx_inqpower(tBTA_DM_MSG *p_data);
11655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_acl_change(tBTA_DM_MSG *p_data);
11665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_add_device (tBTA_DM_MSG *p_data);
11675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_remove_device (tBTA_DM_MSG *p_data);
1168ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battaextern void bta_dm_close_acl(tBTA_DM_MSG *p_data);
11695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_pm_btm_status(tBTA_DM_MSG *p_data);
11725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_pm_timer(tBTA_DM_MSG *p_data);
11735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_add_ampkey (tBTA_DM_MSG *p_data);
11745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BLE_INCLUDED == TRUE
11765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_add_blekey (tBTA_DM_MSG *p_data);
11775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_add_ble_device (tBTA_DM_MSG *p_data);
11785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_ble_passkey_reply (tBTA_DM_MSG *p_data);
11795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_security_grant (tBTA_DM_MSG *p_data);
11805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_ble_set_bg_conn_type (tBTA_DM_MSG *p_data);
11815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_ble_set_conn_params (tBTA_DM_MSG *p_data);
11825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_ble_set_scan_params (tBTA_DM_MSG *p_data);
11836975b4d711142b885af479721cada448952c6b41Andre Eisenbachextern void bta_dm_close_gatt_conn(tBTA_DM_MSG *p_data);
1184ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battaextern void bta_dm_ble_observe (tBTA_DM_MSG *p_data);
11857fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Battaextern void bta_dm_ble_update_conn_params (tBTA_DM_MSG *p_data);
1186ed534e330bf63c72e778fc8daae09ddd63c395b2Wei Wangextern void bta_dm_ble_config_local_privacy (tBTA_DM_MSG *p_data);
11875c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbachextern void bta_dm_ble_set_adv_params (tBTA_DM_MSG *p_data);
11885c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbachextern void bta_dm_ble_set_adv_config (tBTA_DM_MSG *p_data);
1189eeeac99328c23304ab24698331b6600f3b545700Andre Eisenbachextern void bta_dm_ble_set_scan_rsp (tBTA_DM_MSG *p_data);
1190eeeac99328c23304ab24698331b6600f3b545700Andre Eisenbachextern void bta_dm_ble_broadcast (tBTA_DM_MSG *p_data);
11915c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach
1192b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#if BLE_ANDROID_CONTROLLER_SCAN_FILTER == TRUE
1193b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbachextern void bta_dm_cfg_filter_cond (tBTA_DM_MSG *p_data);
11941a9247a1229aa65b3d1dce16426177bc5828e54dSatya Callojiextern void bta_dm_scan_filter_param_setup (tBTA_DM_MSG *p_data);
11951a9247a1229aa65b3d1dce16426177bc5828e54dSatya Callojiextern void bta_dm_enable_scan_filter(tBTA_DM_MSG *p_data);
1196b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#endif
1197a6ce7751d84218c193eb90d390aef23217b1737eWei Wangextern void btm_dm_ble_multi_adv_disable(tBTA_DM_MSG *p_data);
1198a6ce7751d84218c193eb90d390aef23217b1737eWei Wangextern void bta_dm_ble_multi_adv_data(tBTA_DM_MSG *p_data);
1199a6ce7751d84218c193eb90d390aef23217b1737eWei Wangextern void bta_dm_ble_multi_adv_upd_param(tBTA_DM_MSG *p_data);
1200a6ce7751d84218c193eb90d390aef23217b1737eWei Wangextern void bta_dm_ble_multi_adv_enb(tBTA_DM_MSG *p_data);
1201b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach
1202c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Callojiextern void bta_dm_ble_setup_storage(tBTA_DM_MSG *p_data);
1203c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Callojiextern void bta_dm_ble_enable_batch_scan(tBTA_DM_MSG * p_data);
1204c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Callojiextern void bta_dm_ble_disable_batch_scan(tBTA_DM_MSG * p_data);
1205c4e2596a112a0dd63ac681b1226548c0f95e828cSatya Callojiextern void bta_dm_ble_read_scan_reports(tBTA_DM_MSG * p_data);
12061acb61ce065053f91a0f8d43e8328c9eeec4b5edSatya Callojiextern void bta_dm_ble_track_advertiser(tBTA_DM_MSG * p_data);
1207e5ba8841cd39e17c05aeb4ab65b5b761d41577daSatya Callojiextern void bta_dm_ble_get_energy_info(tBTA_DM_MSG *p_data);
12081acb61ce065053f91a0f8d43e8328c9eeec4b5edSatya Calloji
12095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_set_encryption(tBTA_DM_MSG *p_data);
12115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_confirm(tBTA_DM_MSG *p_data);
12125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_passkey_cancel(tBTA_DM_MSG *p_data);
12135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_OOB_INCLUDED == TRUE)
12145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_loc_oob(tBTA_DM_MSG *p_data);
12155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_ci_io_req_act(tBTA_DM_MSG *p_data);
12165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_ci_rmt_oob_act(tBTA_DM_MSG *p_data);
12175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BTM_OOB_INCLUDED */
12185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_init_pm(void);
12205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_disable_pm(void);
12215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_start (tBTA_DM_MSG *p_data);
12235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_cancel (tBTA_DM_MSG *p_data);
12245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_discover (tBTA_DM_MSG *p_data);
12255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_di_disc (tBTA_DM_MSG *p_data);
12265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_inq_cmpl (tBTA_DM_MSG *p_data);
12275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_rmt_name (tBTA_DM_MSG *p_data);
12285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_sdp_result (tBTA_DM_MSG *p_data);
12295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_cmpl (tBTA_DM_MSG *p_data);
12305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_free_sdp_db (tBTA_DM_MSG *p_data);
12315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_disc_result (tBTA_DM_MSG *p_data);
12325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_result (tBTA_DM_MSG *p_data);
12335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_discovery_cmpl (tBTA_DM_MSG *p_data);
12345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_queue_search (tBTA_DM_MSG *p_data);
12355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_queue_disc (tBTA_DM_MSG *p_data);
12365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_clear_queue (tBTA_DM_MSG *p_data);
12375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_cancel_cmpl (tBTA_DM_MSG *p_data);
12385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_cancel_notify (tBTA_DM_MSG *p_data);
12395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_cancel_transac_cmpl(tBTA_DM_MSG *p_data);
12405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_disc_rmt_name (tBTA_DM_MSG *p_data);
12415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_PEER_DEVICE * bta_dm_find_peer_device(BD_ADDR peer_addr);
12425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12437fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Battaextern void bta_dm_ble_config_local_privacy (tBTA_DM_MSG *p_data);
12447fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta
12455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_pm_active(BD_ADDR peer_addr);
12465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )
12485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid bta_dm_eir_update_uuid(UINT16 uuid16, BOOLEAN adding);
12495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else
12505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define bta_dm_eir_update_uuid(x, y)
12515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )&&( BTA_EIR_CANNED_UUID_LIST != TRUE )&&(BTA_EIR_SERVER_NUM_CUSTOM_UUID > 0)
12545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_update_eir_uuid (tBTA_DM_MSG *p_data);
12555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_EIR_SERVER_INCLUDED == TRUE)
12575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_set_eir_config (tBTA_DM_MSG *p_data);
12585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
12595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_enable_test_mode(tBTA_DM_MSG *p_data);
12605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_disable_test_mode(tBTA_DM_MSG *p_data);
12615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_execute_callback(tBTA_DM_MSG *p_data);
12625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_set_afh_channel_assesment(tBTA_DM_MSG *p_data);
12645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
12655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BTA_DM_INT_H */
12665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1267