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