bta_dm_int.h revision 6975b4d711142b885af479721cada448952c6b41
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,
1025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )&&( BTA_EIR_CANNED_UUID_LIST != TRUE )&&(BTA_EIR_SERVER_NUM_CUSTOM_UUID > 0)
1055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_UPDATE_EIR_UUID_EVT,
1065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_EIR_SERVER_INCLUDED == TRUE)
1085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_SET_EIR_CONFIG_EVT,
1095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_ENABLE_TEST_MODE_EVT,
1125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_DISABLE_TEST_MODE_EVT,
1135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_EXECUTE_CBACK_EVT,
1145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_SET_AFH_CHANNEL_ASSESMENT_EVT,
1155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_MAX_EVT
1165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project};
1175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DM search events */
1205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum
1215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    /* DM search API events */
1235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_SEARCH_EVT = BTA_SYS_EVT_START(BTA_ID_DM_SEARCH),
1245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_SEARCH_CANCEL_EVT,
1255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_API_DISCOVER_EVT,
1265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_INQUIRY_CMPL_EVT,
1275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_REMT_NAME_EVT,
1285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_SDP_RESULT_EVT,
1295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_SEARCH_CMPL_EVT,
1305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_DISCOVERY_RESULT_EVT,
1316975b4d711142b885af479721cada448952c6b41Andre Eisenbach    BTA_DM_API_DI_DISCOVER_EVT,
1326975b4d711142b885af479721cada448952c6b41Andre Eisenbach    BTA_DM_DISC_CLOSE_TOUT_EVT
1335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project};
1345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_ENABLE_EVT */
1365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
1395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEC_CBACK *p_sec_cback;
1405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_ENABLE;
1415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_SET_NAME_EVT */
1435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
146ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BD_NAME             name; /* max 248 bytes name, plus must be Null terminated */
1475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_SET_NAME;
1485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_SET_VISIBILITY_EVT */
1505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
1535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_DISC    disc_mode;
1545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_CONN    conn_mode;
1555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           pair_mode;
1565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           conn_paired_only;
1575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_SET_VISIBILITY;
1585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_SET_AFH_CHANNELS_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    UINT8           first;
1645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           last;
1655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_SET_AFH_CHANNELS_EVT;
1665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_VENDOR_SPECIFIC_COMMAND_EVT */
1685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
1715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16              opcode;
1725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               param_len;
1735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               *p_param_buf;
1745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_VENDOR_CMPL_CBACK *p_cback;
1755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_VENDOR_SPECIFIC_COMMAND;
1775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum
1795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_RS_NONE,     /* straight API call */
1815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_RS_OK,       /* the role switch result - successful */
1825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_RS_FAIL      /* the role switch result - failed */
1835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project};
1845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_DM_RS_RES;
1855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_SEARCH_EVT */
1875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
1885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
1895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
1905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_INQ inq_params;
1915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SERVICE_MASK services;
1925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEARCH_CBACK * p_cback;
1935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_RS_RES  rs_res;
1945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BLE_INCLUDED == TRUE && BTA_GATT_INCLUDED == TRUE
1955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           num_uuid;
1965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBT_UUID        *p_uuid;
1975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
1985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_SEARCH;
1995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_DISCOVER_EVT */
2015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
2045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR bd_addr;
2055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SERVICE_MASK services;
2065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEARCH_CBACK * p_cback;
2075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN         sdp_search;
2085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BLE_INCLUDED == TRUE && BTA_GATT_INCLUDED == TRUE
2095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           num_uuid;
2105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBT_UUID        *p_uuid;
2115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
2125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tSDP_UUID    uuid;
2135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_DISCOVER;
2145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_DI_DISC_EVT */
2165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
2195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR             bd_addr;
2205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DISCOVERY_DB   *p_sdp_db;
2215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32              len;
2225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEARCH_CBACK * p_cback;
2235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_DI_DISC;
2245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_BOND_EVT */
2265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
2295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR bd_addr;
2305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_BOND;
2315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_BOND_CANCEL_EVT */
2335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR          hdr;
2365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR         bd_addr;
2375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_BOND_CANCEL;
2385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_PIN_REPLY_EVT */
2405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
2435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR bd_addr;
2445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN accept;
2455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8 pin_len;
2465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8 p_pin[PIN_CODE_LEN];
2475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_PIN_REPLY;
2485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_LINK_POLICY_EVT */
2505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
2535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR     bd_addr;
2545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16      policy_mask;
2555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN     set;
2565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_LINK_POLICY;
2575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_AUTH_REPLY_EVT */
2595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
2625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR bd_addr;
2635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SERVICE_ID service;
2645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_AUTH_RESP response;
2655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_AUTH_REPLY;
2665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_LOC_OOB_EVT */
2685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
2715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_LOC_OOB;
2725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_CONFIRM_EVT */
2745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
2775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR     bd_addr;
2785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN     accept;
2795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_CONFIRM;
2805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_PASKY_CANCEL_EVT*/
2825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
2855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR     bd_addr;
2865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_PASKY_CANCEL;
2875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_CI_IO_REQ_EVT */
2895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
2905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
2915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR          hdr;
2925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR         bd_addr;
2935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_IO_CAP     io_cap;
2945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_OOB_DATA   oob_data;
2955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_AUTH_REQ   auth_req;
2965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_CI_IO_REQ;
2975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_CI_RMT_OOB_EVT */
2995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
3025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR     bd_addr;
3035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_OCTET16  c;
3045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_OCTET16  r;
3055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN     accept;
3065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_CI_RMT_OOB;
3075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_REMT_NAME_EVT */
3095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
3125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEARCH  result;
3135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_REM_NAME;
3145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for tBTA_DM_DISC_RESULT */
3165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
3195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEARCH  result;
3205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_DISC_RESULT;
3215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_INQUIRY_CMPL_EVT */
3245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
3275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8       num;
3285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_INQUIRY_CMPL;
3295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_SDP_RESULT_EVT */
3315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
3345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16 sdp_result;
3355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_SDP_RESULT;
3365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_API_DM_SIG_STRENGTH_EVT */
3385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
3415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SIG_STRENGTH_MASK mask;
3425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16 period;
3435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN start;
3445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_API_DM_SIG_STRENGTH;
3455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for tBTA_API_DM_TX_INQPWR */
3475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR      hdr;
3505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    INT8        tx_power;
3515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_API_DM_TX_INQPWR;
3525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_ACL_CHANGE_EVT */
3545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR          hdr;
3575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTM_BL_EVENT   event;
3585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           busy_level;
359ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    UINT8           busy_level_flags;
3605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN         is_new;
3615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           new_role;
3625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR         bd_addr;
3635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           hci_status;
3645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_ACL_CHANGE;
3655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_PM_BTM_STATUS_EVT */
3675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR          hdr;
3715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR         bd_addr;
3725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTM_PM_STATUS  status;
3735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16          value;
3745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8           hci_status;
3755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_PM_BTM_STATUS;
3775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_PM_TIMER_EVT */
3795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR          hdr;
3825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR         bd_addr;
3835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_PM_TIMER;
3855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_ADD_DEVICE_EVT */
3885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
3895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
3905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
3915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR             bd_addr;
3925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    DEV_CLASS           dc;
3935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    LINK_KEY            link_key;
3945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SERVICE_MASK   tm;
3955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN             is_trusted;
3965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               key_type;
3975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_IO_CAP         io_cap;
3985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN             link_key_known;
3995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN             dc_known;
4005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_NAME             bd_name;
4013aa60544585b5fb0f35c1165539a4a859fc0f25cAndre Eisenbach    UINT8               features[BTA_FEATURE_BYTES_PER_PAGE * (BTA_EXT_FEATURES_PAGE_MAX + 1)];
4025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_ADD_DEVICE;
4035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_REMOVE_ACL_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} tBTA_DM_API_REMOVE_DEVICE;
4105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_EXECUTE_CBACK_EVT */
4125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR               hdr;
4155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    void *               p_param;
4165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_EXEC_CBACK  *p_exec_cback;
4175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_EXECUTE_CBACK;
4185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for tBTA_DM_API_SET_ENCRYPTION */
4205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR                    hdr;
4235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_ENCRYPT_CBACK     *p_callback;
4245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_BLE_SEC_ACT       sec_act;
4255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                   bd_addr;
4265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_API_SET_ENCRYPTION;
4275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BLE_INCLUDED == TRUE
4295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR                  hdr;
4325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                 bd_addr;
4335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_LE_KEY_VALUE       blekey;
4345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_LE_KEY_TYPE        key_type;
4355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_ADD_BLEKEY;
4375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR                  hdr;
4415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                 bd_addr;
4425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBT_DEVICE_TYPE         dev_type ;
4435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBLE_ADDR_TYPE          addr_type;
4445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_ADD_BLE_DEVICE;
4465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
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    BOOLEAN                 accept;
4525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32                  passkey;
4535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_PASSKEY_REPLY;
4545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR                  hdr;
4585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                 bd_addr;
4595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_BLE_SEC_GRANT   res;
4605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_BLE_SEC_GRANT;
4615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR                  hdr;
4665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_BLE_CONN_TYPE   bg_conn_type;
4675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_BLE_SEL_CBACK   *p_select_cback;
4685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_BLE_SET_BG_CONN_TYPE;
4695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* set prefered BLE connection parameters for a device */
4715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR                  hdr;
4745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                 peer_bda;
4755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                  conn_int_min;
4765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                  conn_int_max;
4775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                  supervision_tout;
4785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                  slave_latency;
4795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
4805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_BLE_CONN_PARAMS;
4815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
482ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battatypedef struct
483ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta{
484ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BT_HDR                  hdr;
485ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BD_ADDR                 peer_bda;
486ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BOOLEAN                 privacy_enable;
487ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
488ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta}tBTA_DM_API_ENABLE_PRIVACY;
489ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
490ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battatypedef struct
491ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta{
492ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BT_HDR                  hdr;
493ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BOOLEAN                 privacy_enable;
494ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta}tBTA_DM_API_LOCAL_PRIVACY;
495ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
4965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* set scan parameter for BLE connections */
4975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
4985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
4995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR                  hdr;
5005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                  scan_int;
5015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                  scan_window;
5025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_BLE_SCAN_PARAMS;
5035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
504ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/* Data type for start/stop observe */
505ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battatypedef struct
506ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta{
507ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BT_HDR                  hdr;
508ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BOOLEAN                 start;
509ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    UINT16                  duration;
510ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_DM_SEARCH_CBACK * p_cback;
511ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta}tBTA_DM_API_BLE_OBSERVE;
5125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
513ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/* set adv parameter for BLE advertising */
514ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battatypedef struct
515ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta{
516ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BT_HDR                  hdr;
517ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    UINT16                  adv_int_min;
518ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    UINT16                  adv_int_max;
519ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBLE_BD_ADDR            *p_dir_bda;
520ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta}tBTA_DM_API_BLE_ADV_PARAMS;
521ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
522ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battatypedef struct
523ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta{
524ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BT_HDR                  hdr;
525ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    UINT16                  data_mask;
526ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_BLE_ADV_DATA       *p_adv_cfg;
527ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta}tBTA_DM_API_SET_ADV_CONFIG;
528ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
529ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#endif
530ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
531fc4b2f1953dbe60464d0f5ef7daaa10001fbc62fMatthew Xietypedef struct
532fc4b2f1953dbe60464d0f5ef7daaa10001fbc62fMatthew Xie{
533fc4b2f1953dbe60464d0f5ef7daaa10001fbc62fMatthew Xie    BT_HDR                  hdr;
534fc4b2f1953dbe60464d0f5ef7daaa10001fbc62fMatthew Xie    BOOLEAN                 enable_or_disable;
535fc4b2f1953dbe60464d0f5ef7daaa10001fbc62fMatthew Xie}tBTA_DM_API_SET_AFH_CHANNEL_ASSESSMENT;
536fc4b2f1953dbe60464d0f5ef7daaa10001fbc62fMatthew Xie
5375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )&&( BTA_EIR_CANNED_UUID_LIST != TRUE )&&(BTA_EIR_SERVER_NUM_CUSTOM_UUID > 0)
5385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_UPDATE_EIR_UUID_EVT */
5395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
5405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
5415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR          hdr;
5425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN         is_add;
5435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBT_UUID        uuid;
5445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_UPDATE_EIR_UUID;
5455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_EIR_SERVER_INCLUDED == TRUE)
5485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* data type for BTA_DM_API_SET_EIR_CONFIG_EVT */
5495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
5505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
5515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
5525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_EIR_CONF    *p_eir_cfg;
5535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_API_SET_EIR_CONFIG;
5545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
5555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
556ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/* data type for BTA_DM_API_REMOVE_ACL_EVT */
557ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battatypedef struct
558ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta{
559ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BT_HDR      hdr;
560ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BD_ADDR     bd_addr;
561ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BOOLEAN     remove_dev;
562ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta}tBTA_DM_API_REMOVE_ACL;
563ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
5645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* union of all data types */
5655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef union
5665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
5675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    /* GKI event buffer header */
5685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BT_HDR              hdr;
5695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_ENABLE  enable;
5705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_SET_NAME set_name;
5725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_SET_VISIBILITY set_visibility;
5745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_SET_AFH_CHANNELS_EVT set_afhchannels;
5765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_VENDOR_SPECIFIC_COMMAND vendor_command;
5785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_ADD_DEVICE  add_dev;
5805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_REMOVE_DEVICE remove_dev;
5825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_SEARCH search;
5845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_DISCOVER discover;
5865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_BOND bond;
5885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_BOND_CANCEL bond_cancel;
5905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_PIN_REPLY pin_reply;
5925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_LINK_POLICY link_policy;
5935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
5945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_LOC_OOB     loc_oob;
5955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_CONFIRM     confirm;
5965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_PASKY_CANCEL passkey_cancel;
5975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_CI_IO_REQ       ci_io_req;
5985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_CI_RMT_OOB      ci_rmt_oob;
5995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_AUTH_REPLY auth_reply;
6015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_REM_NAME rem_name;
6035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_DISC_RESULT disc_result;
6055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_INQUIRY_CMPL inq_cmpl;
6075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SDP_RESULT sdp_event;
6095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_API_DM_SIG_STRENGTH sig_strength;
6115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_API_DM_TX_INQPWR   tx_inq_pwr;
6135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_ACL_CHANGE  acl_change;
6155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_PM_BTM_STATUS pm_status;
6175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_PM_TIMER pm_timer;
6195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_DI_DISC     di_disc;
6215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_EXECUTE_CBACK exec_cback;
6235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_SET_ENCRYPTION     set_encryption;
6255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BLE_INCLUDED == TRUE
6275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_ADD_BLEKEY              add_ble_key;
6285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_ADD_BLE_DEVICE          add_ble_device;
6295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_PASSKEY_REPLY           ble_passkey_reply;
6305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_BLE_SEC_GRANT           ble_sec_grant;
6315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_BLE_SET_BG_CONN_TYPE    ble_set_bd_conn_type;
6325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_BLE_CONN_PARAMS         ble_set_conn_params;
6335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_BLE_SCAN_PARAMS         ble_set_scan_params;
634ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_DM_API_BLE_OBSERVE             ble_observe;
635ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_DM_API_ENABLE_PRIVACY          ble_remote_privacy;
636ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_DM_API_LOCAL_PRIVACY           ble_local_privacy;
637ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_DM_API_BLE_ADV_PARAMS          ble_set_adv_params;
638ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_DM_API_SET_ADV_CONFIG          ble_set_adv_data;
6395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_SET_AFH_CHANNEL_ASSESSMENT set_afh_channel_assessment;
6425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )&&( BTA_EIR_CANNED_UUID_LIST != TRUE )&&(BTA_EIR_SERVER_NUM_CUSTOM_UUID > 0)
6445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_UPDATE_EIR_UUID     update_eir_uuid;
6455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_EIR_SERVER_INCLUDED == TRUE)
6475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_SET_EIR_CONFIG          set_eir_cfg;
6485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
649ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_DM_API_REMOVE_ACL              remove_acl;
6505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_MSG;
6525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_NUM_PEER_DEVICE 7
6555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_NOT_CONNECTED  0
6575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_CONNECTED      1
6585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_UNPAIRING      2
6595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_DM_CONN_STATE;
6605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_DI_NONE          0x00       /* nothing special */
6635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_DI_USE_SSR       0x10       /* set this bit if ssr is supported for this link */
6645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_DI_AV_ACTIVE     0x20       /* set this bit if AV is active for this link */
6655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_DI_SET_SNIFF     0x01       /* set this bit if call BTM_SetPowerMode(sniff) */
6665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_DI_INT_SNIFF     0x02       /* set this bit if call BTM_SetPowerMode(sniff) & enter sniff mode */
6675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_DI_ACP_SNIFF     0x04       /* set this bit if peer init sniff */
6685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTA_DM_DEV_INFO;
6695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
6715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
6725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                     peer_bdaddr;
6735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      link_policy;
6745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_CONN_STATE          conn_state;
6755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_PREF_ROLES             pref_role;
6765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                     in_use;
6775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_DEV_INFO            info;
6785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_SSR_INCLUDED == TRUE)
6795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTM_PM_STATUS              prev_low;   /* previous low power mode used */
6805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
6815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_PM_ACTTION          pm_mode_attempted;
6825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_PM_ACTTION          pm_mode_failed;
683ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BOOLEAN                     remove_dev_pending;
6845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_PEER_DEVICE;
6865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* structure to store list of
6905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  active connections */
6915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
6925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
6935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_PEER_DEVICE    peer_device[BTA_DM_NUM_PEER_DEVICE];
6945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                  count;
6955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_ACTIVE_LINK;
6975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
6995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
7005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
7015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                 peer_bdaddr;
7025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SYS_ID             id;
7035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                   app_id;
7045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SYS_CONN_STATUS    state;
7055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_SRVCS;
7085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_NUM_CONN_SRVS   5
7105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
7125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
7135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8 count;
7155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SRVCS  conn_srvc[BTA_DM_NUM_CONN_SRVS];
7165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}  tBTA_DM_CONNECTED_SRVCS;
7185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
7205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
7215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    TIMER_LIST_ENT          timer;
7225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                 peer_bdaddr;
7235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                 in_use;
7245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_PM_TIMER;
7265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_CONNECTED_SRVCS bta_dm_conn_srvcs;
7285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_NUM_PM_TIMER 3
7305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DM control block */
7325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
7335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
7345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                     is_bta_dm_active;
7355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_ACTIVE_LINK         device_list;
7365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEC_CBACK           *p_sec_cback;
7375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    TIMER_LIST_ENT              signal_strength_timer;
7385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SIG_STRENGTH_MASK      signal_strength_mask;
7395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      state;
7405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      signal_strength_period;
7415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                     disabling;
7425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    TIMER_LIST_ENT              disable_timer;
7435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32                      wbt_sdp_handle;          /* WIDCOMM Extensions SDP record handle */
7445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                       wbt_scn;                 /* WIDCOMM Extensions SCN */
7455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                       num_master_only;
7465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                       pm_id;
7475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_PM_TIMER               pm_timer[BTA_DM_NUM_PM_TIMER];
7485738f83aeb59361a0a2eda2460113f6dc919427The 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 */
7495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      cur_policy;         /* current default link policy */
7505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      rs_event;           /* the event waiting for role switch */
7515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                       cur_av_count;       /* current AV connecions */
7525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                     disable_pair_mode;          /* disable pair mode or not */
7535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                     conn_paired_only;   /* allow connectable to paired device only or not */
7545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_API_SEARCH          search_msg;
7555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      page_scan_interval;
7565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      page_scan_window;
7575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      inquiry_scan_interval;
7585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                      inquiry_scan_window;
7595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    /* Storage for pin code request parameters */
7615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                     pin_bd_addr;
7625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    DEV_CLASS                   pin_dev_class;
7635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEC_EVT             pin_evt;
7645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32          num_val;        /* the numeric value for comparison. If just_works, do not show this number to UI */
7655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN         just_works;     /* TRUE, if "Just Works" association model */
7665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )&&( BTA_EIR_CANNED_UUID_LIST != TRUE )
7675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    /* store UUID list for EIR */
7685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    TIMER_LIST_ENT              app_ready_timer;
7695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32                      eir_uuid[BTM_EIR_SERVICE_ARRAY_SIZE];
7705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTA_EIR_SERVER_NUM_CUSTOM_UUID > 0)
7715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBT_UUID                    custom_uuid[BTA_EIR_SERVER_NUM_CUSTOM_UUID];
7725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_ENCRYPT_CBACK      *p_encrypt_cback;
7775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_BLE_SEC_ACT         sec_act;
7785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    TIMER_LIST_ENT              switch_delay_timer;
7795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_CB;
7815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_DM_SDP_DB_SIZE
7835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_DM_SDP_DB_SIZE 250
7845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
7855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DM search control block */
7875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
7885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
7895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
7905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_SEARCH_CBACK * p_search_cback;
7915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTM_INQ_INFO        * p_btm_inq_info;
7925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SERVICE_MASK      services;
7935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SERVICE_MASK      services_to_search;
7945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_SERVICE_MASK      services_found;
7955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tSDP_DISCOVERY_DB    * p_sdp_db;
7965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                 state;
7975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BD_ADDR                peer_bdaddr;
7985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                name_discover_done;
799ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    BD_NAME                peer_name;
8005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    TIMER_LIST_ENT         search_timer;
8015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                  service_index;
8025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_DM_MSG          * p_search_queue;   /* search or discover commands during search cancel stored here */
8035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                wait_disc;
8045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                sdp_results;
8055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tSDP_UUID              uuid;
8065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                  peer_scn;
8075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                sdp_search;
8085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ((defined BLE_INCLUDED) && (BLE_INCLUDED == TRUE))
810ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta    tBTA_DM_SEARCH_CBACK * p_scan_cback;
8115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ((defined BTA_GATT_INCLUDED) && (BTA_GATT_INCLUDED == TRUE))
8125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBTA_GATTC_IF          client_if;
8135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                  num_uuid;
8145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tBT_UUID               *p_srvc_uuid;
8155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8                  uuid_to_search;
8165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN                gatt_disc_active;
8175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16                 conn_id;
8185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8 *                 p_ble_rawdata;
8195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32                 ble_raw_size;
8205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32                 ble_raw_used;
8216975b4d711142b885af479721cada448952c6b41Andre Eisenbach    TIMER_LIST_ENT         gatt_close_timer;
8226975b4d711142b885af479721cada448952c6b41Andre Eisenbach    BD_ADDR                pending_close_bda;
8235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
8255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_SEARCH_CB;
8285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DI control block */
8305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
8315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
8325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    tSDP_DISCOVERY_DB    * p_di_db;     /* pointer to the DI discovery database */
8335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8               di_num;         /* total local DI record number */
8345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT32              di_handle[BTA_DI_NUM_MAX];  /* local DI record handle, the first one is primary record */
8355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_DI_CB;
8365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DM search state */
8385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum
8395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
8405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_SEARCH_IDLE,
8425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_SEARCH_ACTIVE,
8435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_SEARCH_CANCELLING,
8445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BTA_DM_DISCOVER_ACTIVE
8455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project};
8475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
8515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
8525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    DEV_CLASS      dev_class;          /* local device class */
8535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16         policy_settings;    /* link policy setting hold, sniff, park, MS switch */
8545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16         page_timeout;       /* timeout for page in slots */
8555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16         link_timeout;       /* link supervision timeout in slots */
8565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    BOOLEAN        avoid_scatter;      /* TRUE to avoid scatternet when av is streaming (be the master) */
8575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_CFG;
8595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern const UINT32 bta_service_id_to_btm_srv_id_lkup_tbl[];
8615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern const tBTA_DM_CFG bta_dm_cfg;
8635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_ALL_APP_ID 0xff
8675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
8695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
8705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8   id;
8715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8   app_id;
8725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT8   cfg;
8735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_RM ;
8755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_CFG *p_bta_dm_cfg;
8775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_RM *p_bta_dm_rm_cfg;
8785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
8805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
8815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  UINT8  id;
8835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  UINT8  app_id;
8845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  UINT8  spec_idx;  /* index of spec table to use */
8855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_PM_CFG;
8875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
8905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
8915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  tBTA_DM_PM_ACTTION  power_mode;
8935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  UINT16              timeout;
8945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_PM_ACTN;
8965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
8975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
8985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
8995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  UINT8  allow_mask;         /* mask of sniff/hold/park modes to allow */
9015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_SSR_INCLUDED == TRUE)
9025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  UINT8  ssr;                /* set SSR on conn open/unpark */
9035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project  tBTA_DM_PM_ACTN actn_tbl [BTA_DM_PM_NUM_EVTS][2];
9055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_PM_SPEC;
9075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
9095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
9105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16      max_lat;
9115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16      min_rmt_to;
9125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project    UINT16      min_loc_to;
9135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTA_DM_SSR_SPEC;
9145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct
9165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{
9175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project   UINT16 manufacturer;
9185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project   UINT16 lmp_sub_version;
9195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project   UINT8 lmp_version;
9205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTA_DM_LMP_VER_INFO;
9215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_PM_CFG *p_bta_dm_pm_cfg;
9235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_PM_SPEC *p_bta_dm_pm_spec;
9245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTM_PM_PWR_MD *p_bta_dm_pm_md;
9255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_SSR_INCLUDED == TRUE)
9265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_SSR_SPEC *p_bta_dm_ssr_spec;
9275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )
9305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* update dynamic BRCM Aware EIR data */
9315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern const tBTA_DM_EIR_CONF bta_dm_eir_cfg;
9325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_EIR_CONF *p_bta_dm_eir_cfg;
9335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DM control block */
9365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BTA_DYNAMIC_MEMORY == FALSE
9375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_CB  bta_dm_cb;
9385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else
9395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_CB *bta_dm_cb_ptr;
9405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define bta_dm_cb (*bta_dm_cb_ptr)
9415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DM search control block */
9445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BTA_DYNAMIC_MEMORY == FALSE
9455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_SEARCH_CB  bta_dm_search_cb;
9465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else
9475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_SEARCH_CB *bta_dm_search_cb_ptr;
9485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define bta_dm_search_cb (*bta_dm_search_cb_ptr)
9495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* DI control block */
9525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BTA_DYNAMIC_MEMORY == FALSE
9535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_DI_CB  bta_dm_di_cb;
9545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else
9555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_DI_CB *bta_dm_di_cb_ptr;
9565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define bta_dm_di_cb (*bta_dm_di_cb_ptr)
9575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern BOOLEAN bta_dm_sm_execute(BT_HDR *p_msg);
9605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_sm_disable( void );
9615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern BOOLEAN bta_dm_search_sm_execute(BT_HDR *p_msg);
9625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_sm_disable( void );
9635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_enable (tBTA_DM_MSG *p_data);
9665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_disable (tBTA_DM_MSG *p_data);
9675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_set_dev_name (tBTA_DM_MSG *p_data);
9685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_set_visibility (tBTA_DM_MSG *p_data);
9695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_set_afhchannels (tBTA_DM_MSG *p_data);
9705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_vendor_spec_command(tBTA_DM_MSG *p_data);
9715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_bond (tBTA_DM_MSG *p_data);
9725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_bond_cancel (tBTA_DM_MSG *p_data);
9735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_pin_reply (tBTA_DM_MSG *p_data);
9745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_link_policy (tBTA_DM_MSG *p_data);
9755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_auth_reply (tBTA_DM_MSG *p_data);
9765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_signal_strength(tBTA_DM_MSG *p_data);
9775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_tx_inqpower(tBTA_DM_MSG *p_data);
9785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_acl_change(tBTA_DM_MSG *p_data);
9795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_add_device (tBTA_DM_MSG *p_data);
9805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_remove_device (tBTA_DM_MSG *p_data);
981ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battaextern void bta_dm_close_acl(tBTA_DM_MSG *p_data);
9825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_pm_btm_status(tBTA_DM_MSG *p_data);
9855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_pm_timer(tBTA_DM_MSG *p_data);
9865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_add_ampkey (tBTA_DM_MSG *p_data);
9875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
9885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if BLE_INCLUDED == TRUE
9895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_add_blekey (tBTA_DM_MSG *p_data);
9905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_add_ble_device (tBTA_DM_MSG *p_data);
9915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_ble_passkey_reply (tBTA_DM_MSG *p_data);
9925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_security_grant (tBTA_DM_MSG *p_data);
9935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_ble_set_bg_conn_type (tBTA_DM_MSG *p_data);
9945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_ble_set_conn_params (tBTA_DM_MSG *p_data);
9955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_ble_set_scan_params (tBTA_DM_MSG *p_data);
9966975b4d711142b885af479721cada448952c6b41Andre Eisenbachextern void bta_dm_close_gatt_conn(tBTA_DM_MSG *p_data);
997ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battaextern void bta_dm_ble_observe (tBTA_DM_MSG *p_data);
9985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
9995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_set_encryption(tBTA_DM_MSG *p_data);
10005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_confirm(tBTA_DM_MSG *p_data);
10015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_passkey_cancel(tBTA_DM_MSG *p_data);
10025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_OOB_INCLUDED == TRUE)
10035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_loc_oob(tBTA_DM_MSG *p_data);
10045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_ci_io_req_act(tBTA_DM_MSG *p_data);
10055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_ci_rmt_oob_act(tBTA_DM_MSG *p_data);
10065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BTM_OOB_INCLUDED */
10075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_init_pm(void);
10095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_disable_pm(void);
10105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_start (tBTA_DM_MSG *p_data);
10125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_cancel (tBTA_DM_MSG *p_data);
10135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_discover (tBTA_DM_MSG *p_data);
10145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_di_disc (tBTA_DM_MSG *p_data);
10155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_inq_cmpl (tBTA_DM_MSG *p_data);
10165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_rmt_name (tBTA_DM_MSG *p_data);
10175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_sdp_result (tBTA_DM_MSG *p_data);
10185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_cmpl (tBTA_DM_MSG *p_data);
10195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_free_sdp_db (tBTA_DM_MSG *p_data);
10205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_disc_result (tBTA_DM_MSG *p_data);
10215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_result (tBTA_DM_MSG *p_data);
10225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_discovery_cmpl (tBTA_DM_MSG *p_data);
10235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_queue_search (tBTA_DM_MSG *p_data);
10245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_queue_disc (tBTA_DM_MSG *p_data);
10255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_clear_queue (tBTA_DM_MSG *p_data);
10265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_cancel_cmpl (tBTA_DM_MSG *p_data);
10275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_cancel_notify (tBTA_DM_MSG *p_data);
10285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_search_cancel_transac_cmpl(tBTA_DM_MSG *p_data);
10295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_disc_rmt_name (tBTA_DM_MSG *p_data);
10305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern tBTA_DM_PEER_DEVICE * bta_dm_find_peer_device(BD_ADDR peer_addr);
10315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_pm_active(BD_ADDR peer_addr);
10335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )
10355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectvoid bta_dm_eir_update_uuid(UINT16 uuid16, BOOLEAN adding);
10365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#else
10375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define bta_dm_eir_update_uuid(x, y)
10385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if ( BTM_EIR_SERVER_INCLUDED == TRUE )&&( BTA_EIR_CANNED_UUID_LIST != TRUE )&&(BTA_EIR_SERVER_NUM_CUSTOM_UUID > 0)
10415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_update_eir_uuid (tBTA_DM_MSG *p_data);
10425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#if (BTM_EIR_SERVER_INCLUDED == TRUE)
10445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_set_eir_config (tBTA_DM_MSG *p_data);
10455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
10465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_enable_test_mode(tBTA_DM_MSG *p_data);
10475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_disable_test_mode(tBTA_DM_MSG *p_data);
10485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_execute_callback(tBTA_DM_MSG *p_data);
10495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_dm_set_afh_channel_assesment(tBTA_DM_MSG *p_data);
10515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
10525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BTA_DM_INT_H */
10535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1054