btm_ble_api.h revision 6975b4d711142b885af479721cada448952c6b41
15738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/****************************************************************************** 25738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 35738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * Copyright (C) 1999-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 file contains the Bluetooth Manager (BTM) API function external 225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * definitions. 235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/ 255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_BLE_API_H 265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_API_H 275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "btm_api.h" 295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define CHNL_MAP_LEN 5 315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTM_BLE_CHNL_MAP[CHNL_MAP_LEN]; 325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 33ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_CONNECT_EVT 0x00 34ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_CONNECT_DIR_EVT 0x01 35ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_DISCOVER_EVT 0x02 36ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_NON_CONNECT_EVT 0x03 37ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_SCAN_RSP_EVT 0x04 38ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_SCAN_REQ_EVT 0x06 39ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_UNKNOWN_EVT 0xff 40ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 41ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_UNKNOWN_EVT 0xff 42ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_SCAN_MODE_PASS 0 445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_SCAN_MODE_ACTI 1 455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_SCAN_MODE_NONE 0xff 465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTM_BLE_SCAN_MODE; 475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* advertising channel map */ 495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_ADV_CHNL_37 (0x01 << 0) 505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_ADV_CHNL_38 (0x01 << 1) 515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_ADV_CHNL_39 (0x01 << 2) 525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTM_BLE_ADV_CHNL_MAP; 535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*d efault advertising channel map */ 555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_BLE_DEFAULT_ADV_CHNL_MAP 565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_DEFAULT_ADV_CHNL_MAP (BTM_BLE_ADV_CHNL_37| BTM_BLE_ADV_CHNL_38| BTM_BLE_ADV_CHNL_39) 575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* advertising filter policy */ 605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AP_SCAN_CONN_ALL 0x00 /* default */ 615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AP_SCAN_WL_CONN_ALL 0x01 625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AP_SCAN_ALL_CONN_WL 0x02 635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AP_SCAN_CONN_WL 0x03 645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define AP_SCAN_CONN_POLICY_MAX 0x04 655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTM_BLE_AFP; 665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* default advertising filter policy */ 685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_BLE_DEFAULT_AFP 695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_DEFAULT_AFP AP_SCAN_CONN_ALL 705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* scanning filter policy */ 735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SP_ADV_ALL 0x00 /* accept adv pakt from all, directed adv pkt not directed to me is ignored */ 745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SP_ADV_WL 0x01 /* accept adv pakt from device in white list, directed adv pkt not directed to me is ignored */ 755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTM_BLE_SFP; 765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_BLE_DEFAULT_SFP 785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_DEFAULT_SFP SP_ADV_ALL 795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* adv parameter boundary values */ 825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_ADV_INT_MIN 0x0020 835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_ADV_INT_MAX 0x4000 845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 85ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/* connection parameter boundary values */ 865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_SCAN_INT_MIN 0x0004 875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_SCAN_INT_MAX 0x4000 885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_SCAN_WIN_MIN 0x0004 895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_SCAN_WIN_MAX 0x4000 905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_CONN_INT_MIN 0x0006 915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_CONN_INT_MAX 0x0C80 925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_CONN_LATENCY_MAX 500 935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_CONN_SUP_TOUT_MIN 0x000A 945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_CONN_SUP_TOUT_MAX 0x0C80 955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_CONN_PARAM_UNDEF 0xffff /* use this value when a specific value not to be overwritten */ 96ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_CONN_SUP_TOUT_DEF 700 975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* default connection parameters if not configured, use GAP recommend value for auto/selective connection */ 995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* default scan interval */ 100ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#ifndef BTM_BLE_SCAN_FAST_INT 101ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_SCAN_FAST_INT 96 /* 30 ~ 60 ms (use 60) = 96 *0.625 */ 1025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 1035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* default scan window for background connection, applicable for auto connection or selective conenction */ 104ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#ifndef BTM_BLE_SCAN_FAST_WIN 105ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_SCAN_FAST_WIN 48 /* 30 ms = 48 *0.625 */ 106ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#endif 107ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 108ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/* default scan paramter used in reduced power cycle (background scanning) */ 109ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#ifndef BTM_BLE_SCAN_SLOW_INT_1 110ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_SCAN_SLOW_INT_1 2048 /* 1.28 s = 2048 *0.625 */ 111ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#endif 112ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#ifndef BTM_BLE_SCAN_SLOW_WIN_1 113ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_SCAN_SLOW_WIN_1 18 /* 11.25 ms = 18 *0.625 */ 1145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 1155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 116ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/* default scan paramter used in reduced power cycle (background scanning) */ 117ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#ifndef BTM_BLE_SCAN_SLOW_INT_2 118ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_SCAN_SLOW_INT_2 4096 /* 2.56 s = 4096 *0.625 */ 1195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 120ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#ifndef BTM_BLE_SCAN_SLOW_WIN_2 121ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_SCAN_SLOW_WIN_2 36 /* 22.5 ms = 36 *0.625 */ 1225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 1235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* default connection interval min */ 1255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_BLE_CONN_INT_MIN_DEF 126ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_CONN_INT_MIN_DEF 24 /* recommended min: 30ms = 24 * 1.25 */ 1275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 1285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* default connectino interval max */ 1295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_BLE_CONN_INT_MAX_DEF 130ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_CONN_INT_MAX_DEF 40 /* recommended max: 50 ms = 56 * 1.25 */ 1315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 1325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* default slave latency */ 1335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_BLE_CONN_SLAVE_LATENCY_DEF 1345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_CONN_SLAVE_LATENCY_DEF 0 /* 0 */ 1355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 1365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* default supervision timeout */ 1375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTM_BLE_CONN_TIMEOUT_DEF 1385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_CONN_TIMEOUT_DEF 2000 1395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 1405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 141ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_DIR_CONN_FALLBACK_UNDIR 1 142ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_DIR_CONN_FALLBACK_NO_ADV 2 143ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 144ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#ifndef BTM_BLE_DIR_CONN_FALLBACK 145ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_DIR_CONN_FALLBACK BTM_BLE_DIR_CONN_FALLBACK_UNDIR 146ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#endif 147ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 1485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_CMAC_TLEN_SIZE 8 /* 64 bits */ 1495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_AUTH_SIGN_LEN 12 /* BLE data signature length 8 Bytes + 4 bytes counter*/ 1505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 BLE_SIGNATURE[BTM_BLE_AUTH_SIGN_LEN]; /* Device address */ 1515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 152ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#ifndef BTM_BLE_HOST_SUPPORT 153ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_HOST_SUPPORT 0x01 154ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#endif 155ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 156ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#ifndef BTM_BLE_SIMULTANEOUS_HOST 157ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_SIMULTANEOUS_HOST 0x01 158ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#endif 159ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 1605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Structure returned with Rand/Encrypt complete callback */ 1615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 1625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 status; 1645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 param_len; 1655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 opcode; 1665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 param_buf[BT_OCTET16_LEN]; 1675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTM_RAND_ENC; 1685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* General callback function for notifying an application that a synchronous 1705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** BTM function is complete. The pointer contains the address of any returned data. 1715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 1725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef void (tBTM_RAND_ENC_CB) (tBTM_RAND_ENC *p1); 1735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_FILTER_TARGET_SCANNER 0x01 1755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_FILTER_TARGET_ADVR 0x00 1765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_POLICY_BLACK_ALL 0x00 /* relevant to both */ 1785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_POLICY_ALLOW_SCAN 0x01 /* relevant to advertiser */ 1795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_POLICY_ALLOW_CONN 0x02 /* relevant to advertiser */ 1805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_POLICY_WHITE_ALL 0x03 /* relevant to both */ 1815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 1835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 1845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 adv_int_min; 1855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 adv_int_max; 1865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTM_BLE_CHNL_MAP chnl_map; 1875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTM_BLE_ADV_PARAMS; 1895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* ADV data flag bit definition used for BTM_BLE_AD_TYPE_FLAG */ 1915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_LIMIT_DISC_FLAG (0x01 << 0) 1925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_GEN_DISC_FLAG (0x01 << 1) 1935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_BREDR_NOT_SPT (0x01 << 2) 1945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_NON_LIMIT_DISC_FLAG (0x00 ) /* lowest bit unset */ 1955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_ADV_FLAG_MASK (BTM_BLE_LIMIT_DISC_FLAG | BTM_BLE_BREDR_NOT_SPT | BTM_BLE_GEN_DISC_FLAG) 1965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_LIMIT_DISC_MASK (BTM_BLE_LIMIT_DISC_FLAG ) 1975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_AD_BIT_DEV_NAME (0x0001 << 0) 1995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_AD_BIT_FLAGS (0x0001 << 1) 2005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_AD_BIT_MANU (0x0001 << 2) 2015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_AD_BIT_TX_PWR (0x0001 << 3) 2025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_AD_BIT_INT_RANGE (0x0001 << 5) 2035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_AD_BIT_SERVICE (0x0001 << 6) 2045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_AD_BIT_SERVICE_SOL (0x0001 << 7) 2055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_AD_BIT_SERVICE_DATA (0x0001 << 8) 2065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_AD_BIT_SIGN_DATA (0x0001 << 9) 207ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_AD_BIT_SERVICE_128SOL (0x0001 << 10) 208ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_AD_BIT_APPEARANCE (0x0001 << 11) 209ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_AD_BIT_PUBLIC_ADDR (0x0001 << 12) 210ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_AD_BIT_RANDOM_ADDR (0x0001 << 13) 211ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 2125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_AD_BIT_PROPRIETARY (0x0001 << 15) 2135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT16 tBTM_BLE_AD_MASK; 2155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 216ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_AD_TYPE_FLAG HCI_EIR_FLAGS_TYPE /* 0x01 */ 217ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_AD_TYPE_16SRV_PART HCI_EIR_MORE_16BITS_UUID_TYPE /* 0x02 */ 218ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_AD_TYPE_16SRV_CMPL HCI_EIR_COMPLETE_16BITS_UUID_TYPE /* 0x03 */ 219ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_AD_TYPE_32SRV_PART HCI_EIR_MORE_32BITS_UUID_TYPE /* 0x04 */ 220ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_AD_TYPE_32SRV_CMPL HCI_EIR_COMPLETE_32BITS_UUID_TYPE /* 0x05 */ 221ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_AD_TYPE_128SRV_PART HCI_EIR_MORE_128BITS_UUID_TYPE /* 0x06 */ 222ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_AD_TYPE_128SRV_CMPL HCI_EIR_COMPLETE_128BITS_UUID_TYPE /* 0x07 */ 223ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_AD_TYPE_NAME_SHORT HCI_EIR_SHORTENED_LOCAL_NAME_TYPE /* 0x08 */ 224ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_AD_TYPE_NAME_CMPL HCI_EIR_COMPLETE_LOCAL_NAME_TYPE /* 0x09 */ 225ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_AD_TYPE_TX_PWR HCI_EIR_TX_POWER_LEVEL_TYPE /* 0x0A */ 2265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_AD_TYPE_DEV_CLASS 0x0D 227ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_AD_TYPE_SM_TK 0x10 228ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_AD_TYPE_SM_OOB_FLAG 0x11 2295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_AD_TYPE_INT_RANGE 0x12 2305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_BLE_AD_TYPE_SOL_SRV_UUID 0x14 231ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_AD_TYPE_128SOL_SRV_UUID 0x15 232ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_AD_TYPE_SERVICE_DATA 0x16 233ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_AD_TYPE_PUBLIC_TARGET 0x17 234ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_AD_TYPE_RANDOM_TARGET 0x18 235ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_AD_TYPE_APPEARANCE 0x19 236ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#define BTM_BLE_AD_TYPE_MANU HCI_EIR_MANUFACTURER_SPECIFIC_TYPE /* 0xff */ 2375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTM_BLE_AD_TYPE; 2385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* slave preferred connection interval range */ 2405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 low; 2435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 hi; 2445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTM_BLE_INT_RANGE; 2465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Service tag supported in the device */ 2485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_service; 2515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BOOLEAN list_cmpl; 2525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 *p_uuid; 2535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTM_BLE_SERVICE; 2545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 len; 2585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_val; 2595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTM_BLE_MANU; 2605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 adv_type; 2645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 len; 2655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_val; /* number of len byte */ 2665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTM_BLE_PROP_ELEM; 2675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 num_elem; 2715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTM_BLE_PROP_ELEM *p_elem; 2725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTM_BLE_PROPRIETARY; 2735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 276ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta tBTM_BLE_MANU manu; /* manufactuer data */ 2775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTM_BLE_INT_RANGE int_range; /* slave prefered conn interval range */ 2785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTM_BLE_SERVICE services; /* services */ 2795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 flag; 280ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta UINT16 appearance; 2815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTM_BLE_PROPRIETARY *p_proprietary; 2825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}tBTM_BLE_ADV_DATA; 2835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* These are the fields returned in each device adv packet. It 2855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** is returned in the results callback if registered. 2865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/ 2875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef struct 2885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 2895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 conn_mode; 2905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTM_BLE_AD_MASK ad_mask; /* mask of the valid adv data field */ 2915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 flag; 2925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 tx_power_level; 2935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 remote_name_len; 2945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_remote_name; 2955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTM_BLE_SERVICE service; 2965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} tBTM_BLE_INQ_DATA; 2975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectenum 2995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project{ 3005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTM_BLE_CONN_NONE, 3015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTM_BLE_CONN_AUTO, 3025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BTM_BLE_CONN_SELECTIVE 3035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project}; 3045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef UINT8 tBTM_BLE_CONN_TYPE; 3055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef BOOLEAN (tBTM_BLE_SEL_CBACK)(BD_ADDR random_bda, UINT8 *p_remote_name); 3075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* callback function for SMP signing algorithm, signed data in little endian order with tlen bits long */ 3095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef void (tBTM_BLE_SIGN_CBACK)(void *p_ref_data, UINT8 *p_signing_data); 3105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef void (tBTM_BLE_VERIFY_CBACK)(void *p_ref_data, BOOLEAN match); 3115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* random address set complete callback */ 3125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef void (tBTM_BLE_RANDOM_SET_CBACK) (BD_ADDR random_bda); 3135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projecttypedef void (tBTM_BLE_SCAN_REQ_CBACK)(BD_ADDR remote_bda, tBLE_ADDR_TYPE addr_type, UINT8 adv_evt); 315ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 3165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 3175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** EXTERNAL FUNCTION DECLARATIONS 3185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*****************************************************************************/ 3195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifdef __cplusplus 3205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern "C" { 3215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 3225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 3235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_SecAddBleDevice 3255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Add/modify device. This function will be normally called 3275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** during host startup to restore all required information 3285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** for a LE device stored in the NVRAM. 3295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters: bd_addr - BD address of the peer 3315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** bd_name - Name of the peer device. NULL if unknown. 3325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** dev_type - Remote device's device type. 3335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** addr_type - LE device address type. 3345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns TRUE if added OK, else FALSE 3365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 3385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern BOOLEAN BTM_SecAddBleDevice (BD_ADDR bd_addr, BD_NAME bd_name, 3395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBT_DEVICE_TYPE dev_type, tBLE_ADDR_TYPE addr_type); 3405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 3425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_SecAddBleKey 3445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Add/modify LE device information. This function will be 3465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** normally called during host startup to restore all required 3475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** information stored in the NVRAM. 3485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters: bd_addr - BD address of the peer 3505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_le_key - LE key values. 3515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** key_type - LE SMP key type. 3525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project* 3535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns TRUE if added OK, else FALSE 3545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 3565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern BOOLEAN BTM_SecAddBleKey (BD_ADDR bd_addr, tBTM_LE_KEY_VALUE *p_le_key, 3575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTM_LE_KEY_TYPE key_type); 3585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 3605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_BleSetAdvParams 3625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to set advertising parameters. 3645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters: None. 3665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 3685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 3705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern tBTM_STATUS BTM_BleSetAdvParams(UINT16 adv_int_min, UINT16 adv_int_max, 3715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBLE_BD_ADDR *p_dir_bda, tBTM_BLE_ADV_CHNL_MAP chnl_map); 3725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 3745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_BleWriteAdvData 3765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to write advertising data. 3785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters: None. 3805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 3825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 3845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern tBTM_STATUS BTM_BleWriteAdvData(tBTM_BLE_AD_MASK data_mask, 3855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTM_BLE_ADV_DATA *p_data); 3865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 3885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_BleSetAdvParams 3905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to set advertising parameters. 3925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters adv_int_min: minimum advertising interval 3945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** adv_int_max: maximum advertising interval 3955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_dir_bda: connectable direct initiator's LE device address 3965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** chnl_map: advertising channel map. 3975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 3985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 3995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 4015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern void BTM_BleReadAdvParams (UINT16 *adv_int_min, UINT16 *adv_int_max, 4025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBLE_BD_ADDR *p_dir_bda, tBTM_BLE_ADV_CHNL_MAP *p_chnl_map); 4035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 4065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_BleSetScanParams 4085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to set Scan parameters. 4105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters adv_int_min: minimum advertising interval 4125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** adv_int_max: maximum advertising interval 4135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** scan_type: scan mode. 4145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 4165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 4185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern void BTM_BleSetScanParams(UINT16 scan_interval, UINT16 scan_window, 4195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTM_BLE_SCAN_MODE scan_type); 4205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 4225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_BleWriteScanRsp 4245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to write LE scan response. 4265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters: p_scan_rsp: scan response. 4285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns status 4305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 4325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern tBTM_STATUS BTM_BleWriteScanRsp(tBTM_BLE_AD_MASK data_mask, 4335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTM_BLE_ADV_DATA *p_data); 4345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 4365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_BleReset 4385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to reset ULP controller. 4405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters None. 4425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 4445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 4465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern void BTM_BleReset(void); 4475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 4495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_BleObserve 4515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This procedure keep the device listening for advertising 4535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** events from a broadcast device. 4545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters start: start or stop observe. 4565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 4585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 4605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern tBTM_STATUS BTM_BleObserve(BOOLEAN start, UINT8 duration, 4615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTM_INQ_RESULTS_CB *p_results_cb, tBTM_CMPL_CB *p_cmpl_cb); 4625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 4655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_GetDeviceIDRoot 4675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to read the local device identity 4695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** root. 4705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 4725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** the local device ER is copied into er 4735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 4755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern void BTM_GetDeviceIDRoot (BT_OCTET16 ir); 4765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 4785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_GetDeviceEncRoot 4805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to read the local device encryption 4825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** root. 4835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 4855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** the local device ER is copied into er 4865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 4885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern void BTM_GetDeviceEncRoot (BT_OCTET16 er); 4895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 4915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_GetDeviceDHK 4935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to read the local device DHK. 4955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 4975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** the local device DHK is copied into dhk 4985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 4995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 5005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern void BTM_GetDeviceDHK (BT_OCTET16 dhk); 5015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 5035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_SecurityGrant 5055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to grant security process. 5075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters bd_addr - peer device bd address. 5095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** res - result of the operation BTM_SUCCESS if success. 5105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Otherwise, BTM_REPEATED_ATTEMPTS is too many attempts. 5115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns None 5135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 5155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern void BTM_SecurityGrant(BD_ADDR bd_addr, UINT8 res); 5165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 5185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_BlePasskeyReply 5205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called after Security Manager submitted 5225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** passkey request to the application. 5235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters: bd_addr - Address of the device for which passkey was requested 5255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** res - result of the operation SMP_SUCCESS if success 5265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** passkey - numeric value in the range of 5275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** BTM_MIN_PASSKEY_VAL(0) - BTM_MAX_PASSKEY_VAL(999999(0xF423F)). 5285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 5305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern void BTM_BlePasskeyReply (BD_ADDR bd_addr, UINT8 res, UINT32 passkey); 5315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 5335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_LeOobDataReply 5355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to provide the OOB data for 5375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** SMP in response to BTM_LE_OOB_REQ_EVT 5385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters: bd_addr - Address of the peer device 5405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** res - result of the operation SMP_SUCCESS if success 5415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_data - simple pairing Randomizer C. 5425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 5445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern void BTM_BleOobDataReply(BD_ADDR bd_addr, UINT8 res, UINT8 len, UINT8 *p_data); 5455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 5485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_BleDataSignature 5505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to sign the data using AES128 CMAC 5525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** algorith. 5535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameter bd_addr: target device the data to be signed for. 5555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_text: singing data 5565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** len: length of the signing data 5575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** signature: output parameter where data signature is going to 5585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** be stored. 5595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns TRUE if signing sucessul, otherwise FALSE. 5615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 5635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern BOOLEAN BTM_BleDataSignature (BD_ADDR bd_addr, UINT8 *p_text, UINT16 len, 5645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project BLE_SIGNATURE signature); 5655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 5675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_BleVerifySignature 5695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to verify the data signature 5715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameter bd_addr: target device the data to be signed for. 5735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_orig: original data before signature. 5745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** len: length of the signing data 5755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** counter: counter used when doing data signing 5765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_comp: signature to be compared against. 5775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns TRUE if signature verified correctly; otherwise FALSE. 5795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 5815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern BOOLEAN BTM_BleVerifySignature (BD_ADDR bd_addr, UINT8 *p_orig, 5825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 len, UINT32 counter, 5835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT8 *p_comp); 5845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 5865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 587ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Function BTM_ReadConnectionAddr 5885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to set the local device random address 5905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** . 5915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 5935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 5945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 595ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi BattaBTM_API extern void BTM_ReadConnectionAddr (BD_ADDR remote_bda, BD_ADDR local_conn_addr, 596ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta tBLE_ADDR_TYPE *p_addr_type); 597ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 598ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 5995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 6015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 602ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Function BTM_ReadRemoteConnectionAddr 6035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 604ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Description This function is read the remote device address currently used 6055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** . 6065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 6085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 610ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi BattaBTM_API extern BOOLEAN BTM_ReadRemoteConnectionAddr(BD_ADDR pseudo_addr, 611ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta BD_ADDR conn_addr, 612ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta tBLE_ADDR_TYPE *p_addr_type); 6135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 6155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_BleLoadLocalKeys 6175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Local local identity key, encryption root or sign counter. 6195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters: key_type: type of key, can be BTM_BLE_KEY_TYPE_ID, BTM_BLE_KEY_TYPE_ER 6215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** or BTM_BLE_KEY_TYPE_COUNTER. 6225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_key: pointer to the key. 6235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project* 6245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns non2. 6255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 6275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern void BTM_BleLoadLocalKeys(UINT8 key_type, tBTM_BLE_LOCAL_KEYS *p_key); 6285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 6315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_BleSetBgConnType 6335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to set BLE background connection 6355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** procedure type. It can be auto connection, or selective connection. 6365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters conn_type: it can be auto connection, or selective connection. 6385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_select_cback: callback function when selective connection procedure 6395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** is being used. 6405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 6425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 6445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern BOOLEAN BTM_BleSetBgConnType(tBTM_BLE_CONN_TYPE conn_type, 6455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBTM_BLE_SEL_CBACK *p_select_cback); 6465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 6485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_BleUpdateBgConnDev 6505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to add or remove a device into/from 6525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** background connection procedure. The background connection 6535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project* procedure is decided by the background connection type, it can be 6545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project* auto connection, or selective connection. 6555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters add_remove: TRUE to add; FALSE to remove. 6575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** remote_bda: device address to add/remove. 6585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 6605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 6625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern BOOLEAN BTM_BleUpdateBgConnDev(BOOLEAN add_remove, BD_ADDR remote_bda); 6635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************** 6665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_BleSetPrefConnParams 6685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Set a peripheral's preferred connection parameters. When 6705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** any of the value does not want to be updated while others 6715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** do, use BTM_BLE_CONN_PARAM_UNDEF for the ones want to 6725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** leave untouched. 6735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters: bd_addr - BD address of the peripheral 6755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** min_conn_int - minimum preferred connection interval 6765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** max_conn_int - maximum preferred connection interval 6775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** slave_latency - preferred slave latency 6785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** supervision_tout - preferred supervision timeout 6795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 6815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 6835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern void BTM_BleSetPrefConnParams (BD_ADDR bd_addr, 6845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 min_conn_int, UINT16 max_conn_int, 6855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project UINT16 slave_latency, UINT16 supervision_tout); 6865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/****************************************************************************** 6885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_BleSetConnScanParams 6905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description Set scan parameters used in BLE connection request 6925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters: scan_interval - scan interval 6945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** scan_window - scan window 6955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 6975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 6985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 6995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern void BTM_BleSetConnScanParams (UINT16 scan_interval, UINT16 scan_window); 7005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 7025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_CheckAdvData 7045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to get ADV data for a specific type. 7065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters p_adv - pointer of ADV data 7085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** type - finding ADV data type 7095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_length - return the length of ADV data not including type 7105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns pointer of ADV data 7125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 7145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern UINT8 *BTM_CheckAdvData( UINT8 *p_adv, UINT8 type, UINT8 *p_length); 7155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 7175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_ReadDevInfo 7195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to read the device/address type 7215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** of BD address. 7225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameter remote_bda: remote device address 7245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_dev_type: output parameter to read the device type. 7255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** p_addr_type: output parameter to read the address type. 7265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 7285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern void BTM_ReadDevInfo (BD_ADDR remote_bda, tBT_DEVICE_TYPE *p_dev_type, 7295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project tBLE_ADDR_TYPE *p_addr_type); 7305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 7325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_BleBroadcast 7345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is to start or stop broadcasting. 7365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters start: start or stop broadcasting. 7385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns status. 7405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 7425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern tBTM_STATUS BTM_BleBroadcast(BOOLEAN start); 7435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 7455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function BTM_RegisterScanReqEvt 7475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description This function is called to register a scan request callback 7495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** on the advertiser. 7505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Parameters p_scan_req_cback: scan request callback. If NULL, remove the 7525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** registration. 7535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns void 7555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** 7565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/ 7575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBTM_API extern void BTM_RegisterScanReqEvt(tBTM_BLE_SCAN_REQ_CBACK *p_scan_req_cback); 7585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 759ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/******************************************************************************* 760ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 761ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Function BTM_BleConfigPrivacy 762ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 763ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Description This function is called to enable or disable the privacy in 764ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** the local device. 765ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 766ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Parameters enable: TRUE to enable it; FALSE to disable it. 767ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 768ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Returns void 769ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 770ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta*******************************************************************************/ 771ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi BattaBTM_API extern void BTM_BleConfigPrivacy(BOOLEAN enable); 772ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 773ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/******************************************************************************* 774ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 775ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Function BTM_BleSetConnMode 776ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 777ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Description This function is called to set BLE connectable mode for a 778ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** peripheral device. 779ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 780ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Parameters directed: is directed connectable mode, or non-directed. 781ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** p_dir_bda: connectable direct initiator's LE device address 782ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 783ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Returns void 784ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 785ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta*******************************************************************************/ 786ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi BattaBTM_API extern tBTM_STATUS BTM_BleSetConnMode(BOOLEAN directed); 787ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 788ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/******************************************************************************* 789ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 790ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Function BTM_BleTurnOnPrivacyOnRemote 791ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 792ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Description This function is called to enable or disable the privacy on the 793ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** remote device. 794ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 795ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Parameters bd_addr: remote device address. 796ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** privacy_on: TRUE to enable it; FALSE to disable it. 797ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 798ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Returns void 799ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 800ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta*******************************************************************************/ 801ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi BattaBTM_API extern void BTM_BleTurnOnPrivacyOnRemote(BD_ADDR bd_addr, 802ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta BOOLEAN privacy_on); 803ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 8045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 805ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/******************************************************************************* 806ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 807ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Function BTM_BleUpdateAdvWhitelist 808ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 809ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Description Add or remove device from advertising white list 810ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 811ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Returns void 812ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 813ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta*******************************************************************************/ 814ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi BattaBTM_API extern BOOLEAN BTM_BleUpdateAdvWhitelist(BOOLEAN add_remove, BD_ADDR emote_bda); 815ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 816ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/******************************************************************************* 817ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 818ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Function BTM_BleUpdateAdvFilterPolicy 819ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 820ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Description This function update the filter policy of advertiser. 821ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 822ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Parameter adv_policy: advertising filter policy 823ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 824ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Return void 825ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta*******************************************************************************/ 826ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi BattaBTM_API extern void BTM_BleUpdateAdvFilterPolicy(tBTM_BLE_AFP adv_policy); 827ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 828ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/******************************************************************************* 829ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 830ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Function BTM_BleReceiverTest 831ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 832ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Description This function is called to start the LE Receiver test 833ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 834ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Parameter rx_freq - Frequency Range 835ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** p_cmd_cmpl_cback - Command Complete callback 836ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 837ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta*******************************************************************************/ 838ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battavoid BTM_BleReceiverTest(UINT8 rx_freq, tBTM_CMPL_CB *p_cmd_cmpl_cback); 839ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 840ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 841ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/******************************************************************************* 842ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 843ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Function BTM_BleTransmitterTest 844ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 845ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Description This function is called to start the LE Transmitter test 846ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 847ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Parameter tx_freq - Frequency Range 848ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** test_data_len - Length in bytes of payload data in each packet 849ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** packet_payload - Pattern to use in the payload 850ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** p_cmd_cmpl_cback - Command Complete callback 851ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 852ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta*******************************************************************************/ 853ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battavoid BTM_BleTransmitterTest(UINT8 tx_freq, UINT8 test_data_len, 854ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta UINT8 packet_payload, tBTM_CMPL_CB *p_cmd_cmpl_cback); 855ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 856ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/******************************************************************************* 857ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 858ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Function BTM_BleTestEnd 859ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 860ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Description This function is called to stop the in-progress TX or RX test 861ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 862ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Parameter p_cmd_cmpl_cback - Command complete callback 863ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** 864ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta*******************************************************************************/ 865ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battavoid BTM_BleTestEnd(tBTM_CMPL_CB *p_cmd_cmpl_cback); 866781b5adee20e222ef87b56b72bfcd3f64013e4a0Andre Eisenbach 867781b5adee20e222ef87b56b72bfcd3f64013e4a0Andre Eisenbach/******************************************************************************* 868781b5adee20e222ef87b56b72bfcd3f64013e4a0Andre Eisenbach** 869781b5adee20e222ef87b56b72bfcd3f64013e4a0Andre Eisenbach** Function BTM_IsBleLink 870781b5adee20e222ef87b56b72bfcd3f64013e4a0Andre Eisenbach** 871781b5adee20e222ef87b56b72bfcd3f64013e4a0Andre Eisenbach** Description This function is to check the link type is BLE or BR/EDR. 872781b5adee20e222ef87b56b72bfcd3f64013e4a0Andre Eisenbach** 873781b5adee20e222ef87b56b72bfcd3f64013e4a0Andre Eisenbach** Returns TRUE if BLE link; FALSE if BR/EDR. 874781b5adee20e222ef87b56b72bfcd3f64013e4a0Andre Eisenbach** 875781b5adee20e222ef87b56b72bfcd3f64013e4a0Andre Eisenbach*******************************************************************************/ 876781b5adee20e222ef87b56b72bfcd3f64013e4a0Andre EisenbachBTM_API extern BOOLEAN BTM_IsBleLink (BD_ADDR bd_addr); 877781b5adee20e222ef87b56b72bfcd3f64013e4a0Andre Eisenbach 8786975b4d711142b885af479721cada448952c6b41Andre Eisenbach/******************************************************************************* 8796975b4d711142b885af479721cada448952c6b41Andre Eisenbach** 8806975b4d711142b885af479721cada448952c6b41Andre Eisenbach** Function BTM_UseLeLink 8816975b4d711142b885af479721cada448952c6b41Andre Eisenbach** 8826975b4d711142b885af479721cada448952c6b41Andre Eisenbach** Description This function is to select the underneath physical link to use. 8836975b4d711142b885af479721cada448952c6b41Andre Eisenbach** 8846975b4d711142b885af479721cada448952c6b41Andre Eisenbach** Returns TRUE to use LE, FALSE use BR/EDR. 8856975b4d711142b885af479721cada448952c6b41Andre Eisenbach** 8866975b4d711142b885af479721cada448952c6b41Andre Eisenbach*******************************************************************************/ 8876975b4d711142b885af479721cada448952c6b41Andre EisenbachBTM_API extern BOOLEAN BTM_UseLeLink (BD_ADDR bd_addr); 8886975b4d711142b885af479721cada448952c6b41Andre Eisenbach 8895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifdef __cplusplus 8905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 8915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 8925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 894