bta_dm_int.h revision 7fa4fba6f59f97df00aff07dbe8fb21b114b3c2c
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,
1035c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach    BTA_DM_API_BLE_ADV_PARAM_EVT,
1045c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach    BTA_DM_API_BLE_SET_ADV_CONFIG_EVT,
105eeeac99328c23304ab24698331b6600f3b545700Andre Eisenbach    BTA_DM_API_BLE_SET_SCAN_RSP_EVT,
106eeeac99328c23304ab24698331b6600f3b545700Andre Eisenbach    BTA_DM_API_BLE_BROADCAST_EVT,
107b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach
108b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#if BLE_ANDROID_CONTROLLER_SCAN_FILTER == TRUE
109b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach    BTA_DM_API_CFG_FILTER_COND_EVT,
110b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach    BTA_DM_API_ENABLE_SCAN_FILTER_EVT,
111b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#endif
1125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )&&( BTA_EIR_CANNED_UUID_LIST != TRUE )&&(BTA_EIR_SERVER_NUM_CUSTOM_UUID > 0)
1155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_UPDATE_EIR_UUID_EVT,
1165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_EIR_SERVER_INCLUDED == TRUE)
1185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_SET_EIR_CONFIG_EVT,
1195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_ENABLE_TEST_MODE_EVT,
1225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_DISABLE_TEST_MODE_EVT,
1235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_EXECUTE_CBACK_EVT,
1245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_SET_AFH_CHANNEL_ASSESMENT_EVT,
1255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_MAX_EVT
1265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project};
1275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DM search events */
1305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum
1315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    /* DM search API events */
1335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_SEARCH_EVT = BTA_SYS_EVT_START(BTA_ID_DM_SEARCH),
1345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_SEARCH_CANCEL_EVT,
1355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_DISCOVER_EVT,
1365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_INQUIRY_CMPL_EVT,
1375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_REMT_NAME_EVT,
1385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_SDP_RESULT_EVT,
1395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_SEARCH_CMPL_EVT,
1405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_DISCOVERY_RESULT_EVT,
1416975b4d711142b885af479721cada448952c6b41Andre Eisenbach    BTA_DM_API_DI_DISCOVER_EVT,
1426975b4d711142b885af479721cada448952c6b41Andre Eisenbach    BTA_DM_DISC_CLOSE_TOUT_EVT
1435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project};
1445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_ENABLE_EVT */
1465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
1495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEC_CBACK *p_sec_cback;
1505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_ENABLE;
1515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_SET_NAME_EVT */
1535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
156ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BD_NAME             name; /* max 248 bytes name, plus must be Null terminated */
1575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_SET_NAME;
1585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_SET_VISIBILITY_EVT */
1605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
1635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_DISC    disc_mode;
1645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_CONN    conn_mode;
1655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           pair_mode;
1665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           conn_paired_only;
1675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_SET_VISIBILITY;
1685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_SET_AFH_CHANNELS_EVT */
1705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
1735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           first;
1745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           last;
1755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_SET_AFH_CHANNELS_EVT;
1765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_VENDOR_SPECIFIC_COMMAND_EVT */
1785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
1815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16              opcode;
1825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               param_len;
1835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               *p_param_buf;
1845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_VENDOR_CMPL_CBACK *p_cback;
1855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_VENDOR_SPECIFIC_COMMAND;
1875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum
1895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_RS_NONE,     /* straight API call */
1915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_RS_OK,       /* the role switch result - successful */
1925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_RS_FAIL      /* the role switch result - failed */
1935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project};
1945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_DM_RS_RES;
1955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_SEARCH_EVT */
1975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
2005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_INQ inq_params;
2015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SERVICE_MASK services;
2025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEARCH_CBACK * p_cback;
2035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_RS_RES  rs_res;
2045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BLE_INCLUDED == TRUE && BTA_GATT_INCLUDED == TRUE
2055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           num_uuid;
2065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBT_UUID        *p_uuid;
2075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_SEARCH;
2095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_DISCOVER_EVT */
2115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
2145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR bd_addr;
2155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SERVICE_MASK services;
2165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEARCH_CBACK * p_cback;
2175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN         sdp_search;
2187fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    tBTA_TRANSPORT  transport;
2195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BLE_INCLUDED == TRUE && BTA_GATT_INCLUDED == TRUE
2205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           num_uuid;
2215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBT_UUID        *p_uuid;
2225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tSDP_UUID    uuid;
2245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_DISCOVER;
2255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_DI_DISC_EVT */
2275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
2305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR             bd_addr;
2315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DISCOVERY_DB   *p_sdp_db;
2325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32              len;
2335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEARCH_CBACK * p_cback;
2345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_DI_DISC;
2355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_BOND_EVT */
2375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
2405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR bd_addr;
2417fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    tBTA_TRANSPORT transport;
2425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_BOND;
2435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_BOND_CANCEL_EVT */
2455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR          hdr;
2485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR         bd_addr;
2497fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    tBTA_TRANSPORT  transport;
2505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_BOND_CANCEL;
2515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_PIN_REPLY_EVT */
2535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
2565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR bd_addr;
2575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN accept;
2585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8 pin_len;
2595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8 p_pin[PIN_CODE_LEN];
2605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_PIN_REPLY;
2615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_LINK_POLICY_EVT */
2635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
2665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR     bd_addr;
2675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16      policy_mask;
2685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN     set;
2695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_LINK_POLICY;
2705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_AUTH_REPLY_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    tBTA_SERVICE_ID service;
2775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_AUTH_RESP response;
2785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_AUTH_REPLY;
2795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_LOC_OOB_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} tBTA_DM_API_LOC_OOB;
2855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_CONFIRM_EVT */
2875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
2905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR     bd_addr;
2915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN     accept;
2925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_CONFIRM;
2935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_PASKY_CANCEL_EVT*/
2955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
2985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR     bd_addr;
2995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_PASKY_CANCEL;
3005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_CI_IO_REQ_EVT */
3025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR          hdr;
3055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR         bd_addr;
3065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_IO_CAP     io_cap;
3075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_OOB_DATA   oob_data;
3085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_AUTH_REQ   auth_req;
3095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_CI_IO_REQ;
3105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_CI_RMT_OOB_EVT */
3125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
3155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR     bd_addr;
3165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_OCTET16  c;
3175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_OCTET16  r;
3185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN     accept;
3195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_CI_RMT_OOB;
3205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_REMT_NAME_EVT */
3225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
3255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEARCH  result;
3265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_REM_NAME;
3275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for tBTA_DM_DISC_RESULT */
3295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
3325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEARCH  result;
3335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_DISC_RESULT;
3345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_INQUIRY_CMPL_EVT */
3375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
3405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8       num;
3415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_INQUIRY_CMPL;
3425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_SDP_RESULT_EVT */
3445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
3475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16 sdp_result;
3485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_SDP_RESULT;
3495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_API_DM_SIG_STRENGTH_EVT */
3515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
3545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SIG_STRENGTH_MASK mask;
3555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16 period;
3565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN start;
3575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_API_DM_SIG_STRENGTH;
3585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for tBTA_API_DM_TX_INQPWR */
3605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
3635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    INT8        tx_power;
3645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_API_DM_TX_INQPWR;
3655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_ACL_CHANGE_EVT */
3675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR          hdr;
3705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTM_BL_EVENT   event;
3715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           busy_level;
372ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    UINT8           busy_level_flags;
3735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN         is_new;
3745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           new_role;
3755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR         bd_addr;
3765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           hci_status;
3777fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#if BLE_INCLUDED == TRUE
3787fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    UINT16          handle;
3797fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    tBT_TRANSPORT   transport;
3807fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#endif
3815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_ACL_CHANGE;
3825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_PM_BTM_STATUS_EVT */
3845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR          hdr;
3885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR         bd_addr;
3895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTM_PM_STATUS  status;
3905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16          value;
3915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           hci_status;
3925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_PM_BTM_STATUS;
3945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_PM_TIMER_EVT */
3965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR          hdr;
3995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR         bd_addr;
4005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_PM_TIMER;
4025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_ADD_DEVICE_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    DEV_CLASS           dc;
4105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    LINK_KEY            link_key;
4115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SERVICE_MASK   tm;
4125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN             is_trusted;
4135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               key_type;
4145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_IO_CAP         io_cap;
4155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN             link_key_known;
4165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN             dc_known;
4175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_NAME             bd_name;
4183aa60544585b5fb0f35c1165539a4a859fc0f25cAndre Eisenbach    UINT8               features[BTA_FEATURE_BYTES_PER_PAGE * (BTA_EXT_FEATURES_PAGE_MAX + 1)];
4195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_ADD_DEVICE;
4205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_REMOVE_ACL_EVT */
4225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
4255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR             bd_addr;
4265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_REMOVE_DEVICE;
4275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_EXECUTE_CBACK_EVT */
4295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR               hdr;
4325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    void *               p_param;
4335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_EXEC_CBACK  *p_exec_cback;
4345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_EXECUTE_CBACK;
4355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for tBTA_DM_API_SET_ENCRYPTION */
4375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR                    hdr;
4407fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    tBTA_TRANSPORT            transport;
4415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_ENCRYPT_CBACK     *p_callback;
4425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_BLE_SEC_ACT       sec_act;
4435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                   bd_addr;
4445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_SET_ENCRYPTION;
4455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BLE_INCLUDED == TRUE
4475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR                  hdr;
4505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                 bd_addr;
4515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_LE_KEY_VALUE       blekey;
4525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_LE_KEY_TYPE        key_type;
4535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_ADD_BLEKEY;
4555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
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    tBT_DEVICE_TYPE         dev_type ;
4615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBLE_ADDR_TYPE          addr_type;
4625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_ADD_BLE_DEVICE;
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    BOOLEAN                 accept;
4705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32                  passkey;
4715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_PASSKEY_REPLY;
4725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR                  hdr;
4765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                 bd_addr;
4775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_BLE_SEC_GRANT   res;
4785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_BLE_SEC_GRANT;
4795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR                  hdr;
4845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_BLE_CONN_TYPE   bg_conn_type;
4855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_BLE_SEL_CBACK   *p_select_cback;
4865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_BLE_SET_BG_CONN_TYPE;
4875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* set prefered BLE connection parameters for a device */
4895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR                  hdr;
4925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                 peer_bda;
4935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                  conn_int_min;
4945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                  conn_int_max;
4955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                  supervision_tout;
4965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                  slave_latency;
4975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_BLE_CONN_PARAMS;
4995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
500ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battatypedef struct
501ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta{
502ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BT_HDR                  hdr;
503ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BD_ADDR                 peer_bda;
504ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BOOLEAN                 privacy_enable;
505ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
506ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta}tBTA_DM_API_ENABLE_PRIVACY;
507ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
508ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battatypedef struct
509ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta{
510ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BT_HDR                  hdr;
511ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BOOLEAN                 privacy_enable;
512ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta}tBTA_DM_API_LOCAL_PRIVACY;
513ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
5145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* set scan parameter for BLE connections */
5155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
5165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
5175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR                  hdr;
5185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                  scan_int;
5195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                  scan_window;
5205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_BLE_SCAN_PARAMS;
5215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
522ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/* Data type for start/stop observe */
523ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battatypedef struct
524ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta{
525ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BT_HDR                  hdr;
526ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BOOLEAN                 start;
527ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    UINT16                  duration;
528ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_DM_SEARCH_CBACK * p_cback;
529ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta}tBTA_DM_API_BLE_OBSERVE;
5305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
531ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/* set adv parameter for BLE advertising */
532ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battatypedef struct
533ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta{
534ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BT_HDR                  hdr;
535ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    UINT16                  adv_int_min;
536ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    UINT16                  adv_int_max;
537ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBLE_BD_ADDR            *p_dir_bda;
538ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta}tBTA_DM_API_BLE_ADV_PARAMS;
539ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
540ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battatypedef struct
541ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta{
542ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BT_HDR                  hdr;
543ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    UINT16                  data_mask;
544ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_BLE_ADV_DATA       *p_adv_cfg;
545ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta}tBTA_DM_API_SET_ADV_CONFIG;
546ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
547ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#endif
548ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
549fc4b2f1953dbe60464d0f5ef7daaa10001fbc62fMatthew Xietypedef struct
550fc4b2f1953dbe60464d0f5ef7daaa10001fbc62fMatthew Xie{
551fc4b2f1953dbe60464d0f5ef7daaa10001fbc62fMatthew Xie    BT_HDR                  hdr;
552fc4b2f1953dbe60464d0f5ef7daaa10001fbc62fMatthew Xie    BOOLEAN                 enable_or_disable;
553fc4b2f1953dbe60464d0f5ef7daaa10001fbc62fMatthew Xie}tBTA_DM_API_SET_AFH_CHANNEL_ASSESSMENT;
554fc4b2f1953dbe60464d0f5ef7daaa10001fbc62fMatthew Xie
5555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )&&( BTA_EIR_CANNED_UUID_LIST != TRUE )&&(BTA_EIR_SERVER_NUM_CUSTOM_UUID > 0)
5565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_UPDATE_EIR_UUID_EVT */
5575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
5585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
5595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR          hdr;
5605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN         is_add;
5615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBT_UUID        uuid;
5625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_UPDATE_EIR_UUID;
5635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_EIR_SERVER_INCLUDED == TRUE)
5665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_SET_EIR_CONFIG_EVT */
5675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
5685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
5695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
5705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_EIR_CONF    *p_eir_cfg;
5715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_SET_EIR_CONFIG;
5725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
574ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/* data type for BTA_DM_API_REMOVE_ACL_EVT */
575ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battatypedef struct
576ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta{
577ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BT_HDR      hdr;
578ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BD_ADDR     bd_addr;
579ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BOOLEAN     remove_dev;
5807fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    tBTA_TRANSPORT transport;
5817fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta
582ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta}tBTA_DM_API_REMOVE_ACL;
5837fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Battatypedef struct
5847fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta{
5857fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    BT_HDR      hdr;
5867fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    BD_ADDR     bd_addr;
5877fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    UINT16      min_int;
5887fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    UINT16      max_int;
5897fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    UINT16      latency;
5907fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    UINT16      timeout;
5917fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta}tBTA_DM_API_UPDATE_CONN_PARAM;
592ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
593b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#if BLE_ANDROID_CONTROLLER_SCAN_FILTER == TRUE
594b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbachtypedef struct
595b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach{
596b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach    BT_HDR                          hdr;
597b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach    tBTA_DM_BLE_SCAN_COND_OP        action;
598b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach    tBTA_DM_BLE_PF_COND_TYPE        cond_type;
599b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach    tBTA_DM_BLE_PF_COND_PARAM       *p_cond_param;
600b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach    void                            *p_cmpl_cback;
601b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach}tBTA_DM_API_CFG_FILTER_COND;
602b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach
603b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbachtypedef struct
604b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach{
605b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach    BT_HDR                          hdr;
606b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach    BOOLEAN                         enable;
607b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach    tBLE_BD_ADDR                    *p_target;
608b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach    void                            *p_cmpl_cback;
609b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach}tBTA_DM_API_ENABLE_SCAN_FILTER;
610b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#endif
611b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach
6125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* union of all data types */
6135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef union
6145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
6155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    /* GKI event buffer header */
6165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
6175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_ENABLE  enable;
6185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_SET_NAME set_name;
6205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_SET_VISIBILITY set_visibility;
6225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_SET_AFH_CHANNELS_EVT set_afhchannels;
6245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_VENDOR_SPECIFIC_COMMAND vendor_command;
6265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_ADD_DEVICE  add_dev;
6285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_REMOVE_DEVICE remove_dev;
6305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_SEARCH search;
6325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_DISCOVER discover;
6345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_BOND bond;
6365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_BOND_CANCEL bond_cancel;
6385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_PIN_REPLY pin_reply;
6405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_LINK_POLICY link_policy;
6415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_LOC_OOB     loc_oob;
6435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_CONFIRM     confirm;
6445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_PASKY_CANCEL passkey_cancel;
6455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_CI_IO_REQ       ci_io_req;
6465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_CI_RMT_OOB      ci_rmt_oob;
6475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_AUTH_REPLY auth_reply;
6495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_REM_NAME rem_name;
6515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_DISC_RESULT disc_result;
6535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_INQUIRY_CMPL inq_cmpl;
6555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SDP_RESULT sdp_event;
6575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_API_DM_SIG_STRENGTH sig_strength;
6595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_API_DM_TX_INQPWR   tx_inq_pwr;
6615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_ACL_CHANGE  acl_change;
6635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_PM_BTM_STATUS pm_status;
6655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_PM_TIMER pm_timer;
6675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_DI_DISC     di_disc;
6695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_EXECUTE_CBACK exec_cback;
6715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_SET_ENCRYPTION     set_encryption;
6735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BLE_INCLUDED == TRUE
6755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_ADD_BLEKEY              add_ble_key;
6765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_ADD_BLE_DEVICE          add_ble_device;
6775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_PASSKEY_REPLY           ble_passkey_reply;
6785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_BLE_SEC_GRANT           ble_sec_grant;
6795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_BLE_SET_BG_CONN_TYPE    ble_set_bd_conn_type;
6805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_BLE_CONN_PARAMS         ble_set_conn_params;
6815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_BLE_SCAN_PARAMS         ble_set_scan_params;
682ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_DM_API_BLE_OBSERVE             ble_observe;
683ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_DM_API_ENABLE_PRIVACY          ble_remote_privacy;
684ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_DM_API_LOCAL_PRIVACY           ble_local_privacy;
685ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_DM_API_BLE_ADV_PARAMS          ble_set_adv_params;
686ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_DM_API_SET_ADV_CONFIG          ble_set_adv_data;
687b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#if BLE_ANDROID_CONTROLLER_SCAN_FILTER == TRUE
688b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach    tBTA_DM_API_ENABLE_SCAN_FILTER      ble_enable_scan_filter;
689b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach    tBTA_DM_API_CFG_FILTER_COND         ble_cfg_filter_cond;
690b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#endif
6917fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    tBTA_DM_API_UPDATE_CONN_PARAM       ble_update_conn_params;
6925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_SET_AFH_CHANNEL_ASSESSMENT set_afh_channel_assessment;
6955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )&&( BTA_EIR_CANNED_UUID_LIST != TRUE )&&(BTA_EIR_SERVER_NUM_CUSTOM_UUID > 0)
6975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_UPDATE_EIR_UUID     update_eir_uuid;
6985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_EIR_SERVER_INCLUDED == TRUE)
7005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_SET_EIR_CONFIG          set_eir_cfg;
7015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
702ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_DM_API_REMOVE_ACL              remove_acl;
7035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_MSG;
7055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_NUM_PEER_DEVICE 7
7085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_NOT_CONNECTED  0
7105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_CONNECTED      1
7115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_UNPAIRING      2
7125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_DM_CONN_STATE;
7135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_DI_NONE          0x00       /* nothing special */
7165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_DI_USE_SSR       0x10       /* set this bit if ssr is supported for this link */
7175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_DI_AV_ACTIVE     0x20       /* set this bit if AV is active for this link */
7185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_DI_SET_SNIFF     0x01       /* set this bit if call BTM_SetPowerMode(sniff) */
7195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_DI_INT_SNIFF     0x02       /* set this bit if call BTM_SetPowerMode(sniff) & enter sniff mode */
7205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_DI_ACP_SNIFF     0x04       /* set this bit if peer init sniff */
7215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_DM_DEV_INFO;
7225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
7245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
7255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                     peer_bdaddr;
7265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      link_policy;
7275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_CONN_STATE          conn_state;
7285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_PREF_ROLES             pref_role;
7295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                     in_use;
7305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_DEV_INFO            info;
7317fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    tBTA_DM_ENCRYPT_CBACK      *p_encrypt_cback;
7325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_SSR_INCLUDED == TRUE)
7335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTM_PM_STATUS              prev_low;   /* previous low power mode used */
7345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_PM_ACTTION          pm_mode_attempted;
7365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_PM_ACTTION          pm_mode_failed;
737ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BOOLEAN                     remove_dev_pending;
7387fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    UINT16                      conn_handle;
7397fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    tBT_TRANSPORT               transport;
7405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_PEER_DEVICE;
7415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* structure to store list of
7455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  active connections */
7465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
7475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
7485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_PEER_DEVICE    peer_device[BTA_DM_NUM_PEER_DEVICE];
7495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                  count;
7507fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#if BLE_INCLUDED == TRUE
7517fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    UINT8                  le_count;
7527fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#endif
7535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_ACTIVE_LINK;
7545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
7575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
7585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                 peer_bdaddr;
7595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SYS_ID             id;
7605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                   app_id;
7615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SYS_CONN_STATUS    state;
7625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_SRVCS;
7655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_NUM_CONN_SRVS   5
7675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
7695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
7705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8 count;
7725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SRVCS  conn_srvc[BTA_DM_NUM_CONN_SRVS];
7735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}  tBTA_DM_CONNECTED_SRVCS;
7755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
7775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
7785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    TIMER_LIST_ENT          timer;
7795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                 peer_bdaddr;
7805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                 in_use;
7815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_PM_TIMER;
7835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_CONNECTED_SRVCS bta_dm_conn_srvcs;
7855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_NUM_PM_TIMER 3
7875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DM control block */
7895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
7905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
7915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                     is_bta_dm_active;
7925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_ACTIVE_LINK         device_list;
7935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEC_CBACK           *p_sec_cback;
7945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    TIMER_LIST_ENT              signal_strength_timer;
7955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SIG_STRENGTH_MASK      signal_strength_mask;
7965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      state;
7975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      signal_strength_period;
7985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                     disabling;
7995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    TIMER_LIST_ENT              disable_timer;
8005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32                      wbt_sdp_handle;          /* WIDCOMM Extensions SDP record handle */
8015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                       wbt_scn;                 /* WIDCOMM Extensions SCN */
8025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                       num_master_only;
8035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                       pm_id;
8045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_PM_TIMER               pm_timer[BTA_DM_NUM_PM_TIMER];
8055738f83aeb59361a0a2eda2460113f6dc919427The 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 */
8065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      cur_policy;         /* current default link policy */
8075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      rs_event;           /* the event waiting for role switch */
8085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                       cur_av_count;       /* current AV connecions */
8095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                     disable_pair_mode;          /* disable pair mode or not */
8105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                     conn_paired_only;   /* allow connectable to paired device only or not */
8115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_SEARCH          search_msg;
8125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      page_scan_interval;
8135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      page_scan_window;
8145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      inquiry_scan_interval;
8155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      inquiry_scan_window;
8165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    /* Storage for pin code request parameters */
8185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                     pin_bd_addr;
8195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    DEV_CLASS                   pin_dev_class;
8205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEC_EVT             pin_evt;
8215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32          num_val;        /* the numeric value for comparison. If just_works, do not show this number to UI */
8225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN         just_works;     /* TRUE, if "Just Works" association model */
8235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )&&( BTA_EIR_CANNED_UUID_LIST != TRUE )
8245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    /* store UUID list for EIR */
8255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    TIMER_LIST_ENT              app_ready_timer;
8265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32                      eir_uuid[BTM_EIR_SERVICE_ARRAY_SIZE];
8275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTA_EIR_SERVER_NUM_CUSTOM_UUID > 0)
8285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBT_UUID                    custom_uuid[BTA_EIR_SERVER_NUM_CUSTOM_UUID];
8295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    TIMER_LIST_ENT              switch_delay_timer;
8345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_CB;
8365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_DM_SDP_DB_SIZE
8385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_SDP_DB_SIZE 250
8395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DM search control block */
8425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
8435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
8445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEARCH_CBACK * p_search_cback;
8465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTM_INQ_INFO        * p_btm_inq_info;
8475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SERVICE_MASK      services;
8485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SERVICE_MASK      services_to_search;
8495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SERVICE_MASK      services_found;
8505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tSDP_DISCOVERY_DB    * p_sdp_db;
8515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                 state;
8525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                peer_bdaddr;
8535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                name_discover_done;
854ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BD_NAME                peer_name;
8555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    TIMER_LIST_ENT         search_timer;
8565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                  service_index;
8575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_MSG          * p_search_queue;   /* search or discover commands during search cancel stored here */
8585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                wait_disc;
8595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                sdp_results;
8605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tSDP_UUID              uuid;
8615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                  peer_scn;
8625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                sdp_search;
8637fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta    tBTA_TRANSPORT         transport;
8645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ((defined BLE_INCLUDED) && (BLE_INCLUDED == TRUE))
865ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_DM_SEARCH_CBACK * p_scan_cback;
8665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ((defined BTA_GATT_INCLUDED) && (BTA_GATT_INCLUDED == TRUE))
8675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_GATTC_IF          client_if;
8685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                  num_uuid;
8695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBT_UUID               *p_srvc_uuid;
8705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                  uuid_to_search;
8715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                gatt_disc_active;
8725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                 conn_id;
8735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8 *                 p_ble_rawdata;
8745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32                 ble_raw_size;
8755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32                 ble_raw_used;
8766975b4d711142b885af479721cada448952c6b41Andre Eisenbach    TIMER_LIST_ENT         gatt_close_timer;
8776975b4d711142b885af479721cada448952c6b41Andre Eisenbach    BD_ADDR                pending_close_bda;
8785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_SEARCH_CB;
8835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DI control block */
8855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
8865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
8875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tSDP_DISCOVERY_DB    * p_di_db;     /* pointer to the DI discovery database */
8885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               di_num;         /* total local DI record number */
8895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32              di_handle[BTA_DI_NUM_MAX];  /* local DI record handle, the first one is primary record */
8905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_DI_CB;
8915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DM search state */
8935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum
8945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
8955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_SEARCH_IDLE,
8975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_SEARCH_ACTIVE,
8985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_SEARCH_CANCELLING,
8995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_DISCOVER_ACTIVE
9005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project};
9025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
9065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
9075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    DEV_CLASS      dev_class;          /* local device class */
9085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16         policy_settings;    /* link policy setting hold, sniff, park, MS switch */
9095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16         page_timeout;       /* timeout for page in slots */
9105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16         link_timeout;       /* link supervision timeout in slots */
9115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN        avoid_scatter;      /* TRUE to avoid scatternet when av is streaming (be the master) */
9125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_CFG;
9145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern const UINT32 bta_service_id_to_btm_srv_id_lkup_tbl[];
9165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern const tBTA_DM_CFG bta_dm_cfg;
9185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
9215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
9225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8   id;
9235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8   app_id;
9245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8   cfg;
9255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_RM ;
9275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_CFG *p_bta_dm_cfg;
9295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_RM *p_bta_dm_rm_cfg;
9305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
9325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
9335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  UINT8  id;
9355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  UINT8  app_id;
9365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  UINT8  spec_idx;  /* index of spec table to use */
9375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_PM_CFG;
9395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
9425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
9435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  tBTA_DM_PM_ACTTION  power_mode;
9455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  UINT16              timeout;
9465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_PM_ACTN;
9485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
9505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
9515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  UINT8  allow_mask;         /* mask of sniff/hold/park modes to allow */
9535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_SSR_INCLUDED == TRUE)
9545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  UINT8  ssr;                /* set SSR on conn open/unpark */
9555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  tBTA_DM_PM_ACTN actn_tbl [BTA_DM_PM_NUM_EVTS][2];
9575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_PM_SPEC;
9595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
9615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
9625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16      max_lat;
9635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16      min_rmt_to;
9645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16      min_loc_to;
9655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_SSR_SPEC;
9665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
9685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
9695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project   UINT16 manufacturer;
9705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project   UINT16 lmp_sub_version;
9715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project   UINT8 lmp_version;
9725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_LMP_VER_INFO;
9735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_PM_CFG *p_bta_dm_pm_cfg;
9755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_PM_SPEC *p_bta_dm_pm_spec;
9765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTM_PM_PWR_MD *p_bta_dm_pm_md;
9775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_SSR_INCLUDED == TRUE)
9785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_SSR_SPEC *p_bta_dm_ssr_spec;
9795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )
9825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* update dynamic BRCM Aware EIR data */
9835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern const tBTA_DM_EIR_CONF bta_dm_eir_cfg;
9845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_EIR_CONF *p_bta_dm_eir_cfg;
9855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DM control block */
9885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BTA_DYNAMIC_MEMORY == FALSE
9895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_CB  bta_dm_cb;
9905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else
9915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_CB *bta_dm_cb_ptr;
9925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define bta_dm_cb (*bta_dm_cb_ptr)
9935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DM search control block */
9965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BTA_DYNAMIC_MEMORY == FALSE
9975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_SEARCH_CB  bta_dm_search_cb;
9985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else
9995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_SEARCH_CB *bta_dm_search_cb_ptr;
10005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define bta_dm_search_cb (*bta_dm_search_cb_ptr)
10015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DI control block */
10045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BTA_DYNAMIC_MEMORY == FALSE
10055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_DI_CB  bta_dm_di_cb;
10065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else
10075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_DI_CB *bta_dm_di_cb_ptr;
10085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define bta_dm_di_cb (*bta_dm_di_cb_ptr)
10095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern BOOLEAN bta_dm_sm_execute(BT_HDR *p_msg);
10125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_sm_disable( void );
10135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern BOOLEAN bta_dm_search_sm_execute(BT_HDR *p_msg);
10145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_sm_disable( void );
10155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_enable (tBTA_DM_MSG *p_data);
10185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_disable (tBTA_DM_MSG *p_data);
10195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_set_dev_name (tBTA_DM_MSG *p_data);
10205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_set_visibility (tBTA_DM_MSG *p_data);
10215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_set_afhchannels (tBTA_DM_MSG *p_data);
10225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_vendor_spec_command(tBTA_DM_MSG *p_data);
10235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_bond (tBTA_DM_MSG *p_data);
10245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_bond_cancel (tBTA_DM_MSG *p_data);
10255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_pin_reply (tBTA_DM_MSG *p_data);
10265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_link_policy (tBTA_DM_MSG *p_data);
10275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_auth_reply (tBTA_DM_MSG *p_data);
10285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_signal_strength(tBTA_DM_MSG *p_data);
10295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_tx_inqpower(tBTA_DM_MSG *p_data);
10305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_acl_change(tBTA_DM_MSG *p_data);
10315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_add_device (tBTA_DM_MSG *p_data);
10325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_remove_device (tBTA_DM_MSG *p_data);
1033ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battaextern void bta_dm_close_acl(tBTA_DM_MSG *p_data);
10345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_pm_btm_status(tBTA_DM_MSG *p_data);
10375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_pm_timer(tBTA_DM_MSG *p_data);
10385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_add_ampkey (tBTA_DM_MSG *p_data);
10395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BLE_INCLUDED == TRUE
10415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_add_blekey (tBTA_DM_MSG *p_data);
10425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_add_ble_device (tBTA_DM_MSG *p_data);
10435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_ble_passkey_reply (tBTA_DM_MSG *p_data);
10445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_security_grant (tBTA_DM_MSG *p_data);
10455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_ble_set_bg_conn_type (tBTA_DM_MSG *p_data);
10465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_ble_set_conn_params (tBTA_DM_MSG *p_data);
10475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_ble_set_scan_params (tBTA_DM_MSG *p_data);
10486975b4d711142b885af479721cada448952c6b41Andre Eisenbachextern void bta_dm_close_gatt_conn(tBTA_DM_MSG *p_data);
1049ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battaextern void bta_dm_ble_observe (tBTA_DM_MSG *p_data);
10507fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Battaextern void bta_dm_ble_update_conn_params (tBTA_DM_MSG *p_data);
10515c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbachextern void bta_dm_ble_set_adv_params (tBTA_DM_MSG *p_data);
10525c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbachextern void bta_dm_ble_set_adv_config (tBTA_DM_MSG *p_data);
1053eeeac99328c23304ab24698331b6600f3b545700Andre Eisenbachextern void bta_dm_ble_set_scan_rsp (tBTA_DM_MSG *p_data);
1054eeeac99328c23304ab24698331b6600f3b545700Andre Eisenbachextern void bta_dm_ble_broadcast (tBTA_DM_MSG *p_data);
10555c44e45473e5fc2fa89411ab1add7dbfc979f1f8Andre Eisenbach
1056b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#if BLE_ANDROID_CONTROLLER_SCAN_FILTER == TRUE
1057b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbachextern void bta_dm_enable_scan_filter (tBTA_DM_MSG *p_data);
1058b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbachextern void bta_dm_cfg_filter_cond (tBTA_DM_MSG *p_data);
1059b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach#endif
1060b203d478f4835f5e35217874a1787e1914328f7cAndre Eisenbach
10615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_set_encryption(tBTA_DM_MSG *p_data);
10635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_confirm(tBTA_DM_MSG *p_data);
10645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_passkey_cancel(tBTA_DM_MSG *p_data);
10655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_OOB_INCLUDED == TRUE)
10665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_loc_oob(tBTA_DM_MSG *p_data);
10675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_ci_io_req_act(tBTA_DM_MSG *p_data);
10685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_ci_rmt_oob_act(tBTA_DM_MSG *p_data);
10695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BTM_OOB_INCLUDED */
10705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_init_pm(void);
10725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_disable_pm(void);
10735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_start (tBTA_DM_MSG *p_data);
10755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_cancel (tBTA_DM_MSG *p_data);
10765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_discover (tBTA_DM_MSG *p_data);
10775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_di_disc (tBTA_DM_MSG *p_data);
10785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_inq_cmpl (tBTA_DM_MSG *p_data);
10795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_rmt_name (tBTA_DM_MSG *p_data);
10805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_sdp_result (tBTA_DM_MSG *p_data);
10815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_cmpl (tBTA_DM_MSG *p_data);
10825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_free_sdp_db (tBTA_DM_MSG *p_data);
10835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_disc_result (tBTA_DM_MSG *p_data);
10845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_result (tBTA_DM_MSG *p_data);
10855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_discovery_cmpl (tBTA_DM_MSG *p_data);
10865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_queue_search (tBTA_DM_MSG *p_data);
10875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_queue_disc (tBTA_DM_MSG *p_data);
10885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_clear_queue (tBTA_DM_MSG *p_data);
10895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_cancel_cmpl (tBTA_DM_MSG *p_data);
10905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_cancel_notify (tBTA_DM_MSG *p_data);
10915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_cancel_transac_cmpl(tBTA_DM_MSG *p_data);
10925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_disc_rmt_name (tBTA_DM_MSG *p_data);
10935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_PEER_DEVICE * bta_dm_find_peer_device(BD_ADDR peer_addr);
10945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10957fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#if BLE_PRIVACY_SPT == TRUE
10967fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Battaextern void bta_dm_ble_config_local_privacy (tBTA_DM_MSG *p_data);
10977fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta#endif
10987fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta
10995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_pm_active(BD_ADDR peer_addr);
11005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )
11025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid bta_dm_eir_update_uuid(UINT16 uuid16, BOOLEAN adding);
11035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else
11045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define bta_dm_eir_update_uuid(x, y)
11055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )&&( BTA_EIR_CANNED_UUID_LIST != TRUE )&&(BTA_EIR_SERVER_NUM_CUSTOM_UUID > 0)
11085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_update_eir_uuid (tBTA_DM_MSG *p_data);
11095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_EIR_SERVER_INCLUDED == TRUE)
11115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_set_eir_config (tBTA_DM_MSG *p_data);
11125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
11135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_enable_test_mode(tBTA_DM_MSG *p_data);
11145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_disable_test_mode(tBTA_DM_MSG *p_data);
11155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_execute_callback(tBTA_DM_MSG *p_data);
11165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_set_afh_channel_assesment(tBTA_DM_MSG *p_data);
11185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
11195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BTA_DM_INT_H */
11205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1121