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