btm_api.h revision ee96a3c60fca590d38025925c072d264e06493c4
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_API_H 265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTM_API_H 275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bt_target.h" 295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "sdp_api.h" 305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "hcidefs.h" 315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "smp_api.h" 333d6accfcc0bdc5c7a8713320c9bb069cbf253348Bryce Lee 34dc3c1f2afa2d5f311c3ea42bda432089a7f303a4Jakub Pawlowski#include "btm_api_types.h" 35dc3c1f2afa2d5f311c3ea42bda432089a7f303a4Jakub Pawlowski 363d6accfcc0bdc5c7a8713320c9bb069cbf253348Bryce Lee#ifdef __cplusplus 373d6accfcc0bdc5c7a8713320c9bb069cbf253348Bryce Leeextern "C" { 383d6accfcc0bdc5c7a8713320c9bb069cbf253348Bryce Lee#endif 393d6accfcc0bdc5c7a8713320c9bb069cbf253348Bryce Lee 405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 41ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * DEVICE CONTROL and COMMON 42ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ****************************************************************************/ 43e5ba8841cd39e17c05aeb4ab65b5b761d41577daSatya Calloji 445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 45ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * EXTERNAL FUNCTION DECLARATIONS 46ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ****************************************************************************/ 475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 49ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * DEVICE CONTROL and COMMON FUNCTIONS 50ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ****************************************************************************/ 51ee96a3c60fca590d38025925c072d264e06493c4Myles Watson 52ee96a3c60fca590d38025925c072d264e06493c4Myles Watson/******************************************************************************* 53ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 54ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_DeviceReset 55ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 56ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to reset the controller.The Callback function 57ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * if provided is called when startup of the device has 58ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * completed. 59ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 60ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns void 61ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 62ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 6324933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern void BTM_DeviceReset (tBTM_CMPL_CB *p_cb); 645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 67ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 68ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_IsDeviceUp 69ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 70ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to check if the device is up. 71ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 72ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns true if device is up, else false 73ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 74ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 75d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern bool BTM_IsDeviceUp (void); 765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 79ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 80ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetLocalDeviceName 81ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 82ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to set the local device name. 83ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 84ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_CMD_STARTED if successful, otherwise an error 85ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 86ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 8724933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_SetLocalDeviceName (char *p_name); 885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 90ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 91ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetDeviceClass 92ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 93ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to set the local device class 94ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 95ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS if successful, otherwise an error 96ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 97ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 9824933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_SetDeviceClass (DEV_CLASS dev_class); 995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 102ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 103ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadLocalDeviceName 104ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 105ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to read the local device name. 106ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 107ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns status of the operation 108ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * If success, BTM_SUCCESS is returned and p_name points stored 109ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * local device name 110ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * If BTM doesn't store local device name, BTM_NO_RESOURCES is 111ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * is returned and p_name is set to NULL 112ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 113ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 11424933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_ReadLocalDeviceName (char **p_name); 1155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 117ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 118ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadLocalDeviceNameFromController 119ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 120ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Get local device name from controller. Do not use cached 121ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * name (used to get chip-id prior to btm reset complete). 122ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 123ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_CMD_STARTED if successful, otherwise an error 124ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 125ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 12624933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_ReadLocalDeviceNameFromController (tBTM_CMPL_CB *p_rln_cmpl_cback); 1275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 129ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 130ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadDeviceClass 131ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 132ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to read the local device class 133ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 134ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns pointer to the device class 135ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 136ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 137d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern uint8_t *BTM_ReadDeviceClass (void); 1385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 141ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 142ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadLocalFeatures 143ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 144ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to read the local features 145ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 146ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns pointer to the local features string 147ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 148ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 149d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern uint8_t *BTM_ReadLocalFeatures (void); 1505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 152ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 153ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_RegisterForDeviceStatusNotif 154ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 155ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to register for device status 156ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * change notifications. 157ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 158ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns pointer to previous caller's callback function or NULL if first 159ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * registration. 160ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 161ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 16224933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_DEV_STATUS_CB *BTM_RegisterForDeviceStatusNotif (tBTM_DEV_STATUS_CB *p_cb); 1635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 166ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 167ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_RegisterForVSEvents 168ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 169ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to register/deregister for vendor 170ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * specific HCI events. 171ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 172ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * If is_register=true, then the function will be registered; 173ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * if is_register=false, then the function will be deregistered. 174ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 175ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS if successful, 176ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_BUSY if maximum number of callbacks have already been 177ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * registered. 178ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 179ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 180d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern tBTM_STATUS BTM_RegisterForVSEvents (tBTM_VS_EVT_CB *p_cb, bool is_register); 1815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 184ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 185ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_VendorSpecificCommand 186ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 187ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Send a vendor specific HCI command to the controller. 188ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 189ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1903d5fbcaf9f191737b1c818523e1bf6831c50d586Jakub Pawlowskiextern void BTM_VendorSpecificCommand(uint16_t opcode, 1913d5fbcaf9f191737b1c818523e1bf6831c50d586Jakub Pawlowski uint8_t param_len, 1923d5fbcaf9f191737b1c818523e1bf6831c50d586Jakub Pawlowski uint8_t *p_param_buf, 1933d5fbcaf9f191737b1c818523e1bf6831c50d586Jakub Pawlowski tBTM_VSC_CMPL_CB *p_cb); 1945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 197ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 198ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_AllocateSCN 199ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 200ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Look through the Server Channel Numbers for a free one to be 201ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * used with an RFCOMM connection. 202ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 203ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns Allocated SCN number or 0 if none. 204ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 205ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 206d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern uint8_t BTM_AllocateSCN(void); 2075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 209ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 210ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_TryAllocateSCN 211ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 212ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Try to allocate a fixed server channel 213ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 214ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns Returns true if server channel was available 215ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 216ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 217d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern bool BTM_TryAllocateSCN(uint8_t scn); 2185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 221ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 222ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_FreeSCN 223ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 224ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Free the specified SCN. 225ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 226ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns true if successful, false if SCN is not in use or invalid 227ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 228ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 229d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern bool BTM_FreeSCN(uint8_t scn); 2305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 233ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 234ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetTraceLevel 235ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 236ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function sets the trace level for BTM. If called with 237ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * a value of 0xFF, it simply returns the current trace level. 238ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 239ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns The new or current trace level 240ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 241ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 242d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern uint8_t BTM_SetTraceLevel (uint8_t new_level); 2435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 246ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 247ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_WritePageTimeout 248ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 249ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Send HCI Wite Page Timeout. 250ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 251ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 252b6ab9b3af6b8793ff781e0359a78611726ab2300Jakub Pawlowskiextern void BTM_WritePageTimeout(uint16_t timeout); 2535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 255ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 256ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_WriteVoiceSettings 257ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 258ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Send HCI Write Voice Settings command. 259ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * See hcidefs.h for settings bitmask values. 260ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 261ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 262b6ab9b3af6b8793ff781e0359a78611726ab2300Jakub Pawlowskiextern void BTM_WriteVoiceSettings(uint16_t settings); 2635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 265ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 266ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_EnableTestMode 267ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 268ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Send HCI the enable device under test command. 269ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 270ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Note: Controller can only be taken out of this mode by 271ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * resetting the controller. 272ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 273ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns 274ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_SUCCESS Command sent. 275ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_NO_RESOURCES If out of resources to send the command. 276ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 277ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 278ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 27924933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_EnableTestMode(void); 2805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 283ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * DEVICE DISCOVERY FUNCTIONS - Inquiry, Remote Name, Discovery, Class of Device 284ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ****************************************************************************/ 285ee96a3c60fca590d38025925c072d264e06493c4Myles Watson 286ee96a3c60fca590d38025925c072d264e06493c4Myles Watson/******************************************************************************* 287ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 288ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetDiscoverability 289ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 290ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to set the device into or out of 291ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * discoverable mode. Discoverable mode means inquiry 292ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * scans are enabled. If a value of '0' is entered for window or 293ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * interval, the default values are used. 294ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 295ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS if successful 296ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_BUSY if a setting of the filter is already in progress 297ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_NO_RESOURCES if couldn't get a memory pool buffer 298ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_ILLEGAL_VALUE if a bad parameter was detected 299ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_WRONG_MODE if the device is not up. 300ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 301ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 302d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern tBTM_STATUS BTM_SetDiscoverability (uint16_t inq_mode, uint16_t window, 303d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint16_t interval); 3045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 307ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 308ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadDiscoverability 309ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 310ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to read the current discoverability 311ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * mode of the device. 312ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 313ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Output Params: p_window - current inquiry scan duration 314ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * p_interval - current inquiry scan interval 315ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 316ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_NON_DISCOVERABLE, BTM_LIMITED_DISCOVERABLE, or 317ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_GENERAL_DISCOVERABLE 318ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 319ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 320d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern uint16_t BTM_ReadDiscoverability (uint16_t *p_window, 321d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint16_t *p_interval); 3225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 325ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 326ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetPeriodicInquiryMode 327ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 328ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to set the device periodic inquiry mode. 329ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * If the duration is zero, the periodic inquiry mode is cancelled. 330ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 331ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters: p_inqparms - pointer to the inquiry information 332ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * mode - GENERAL or LIMITED inquiry 333ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * duration - length in 1.28 sec intervals (If '0', the inquiry is CANCELLED) 334ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * max_resps - maximum amount of devices to search for before ending the inquiry 335ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * filter_cond_type - BTM_CLR_INQUIRY_FILTER, BTM_FILTER_COND_DEVICE_CLASS, or 336ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_FILTER_COND_BD_ADDR 337ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * filter_cond - value for the filter (based on filter_cond_type) 338ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 339ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * max_delay - maximum amount of time between successive inquiries 340ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * min_delay - minimum amount of time between successive inquiries 341ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * p_results_cb - callback returning pointer to results (tBTM_INQ_RESULTS) 342ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 343ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_CMD_STARTED if successfully started 344ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_ILLEGAL_VALUE if a bad parameter is detected 345ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_NO_RESOURCES if could not allocate a message buffer 346ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_SUCCESS - if cancelling the periodic inquiry 347ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_BUSY - if an inquiry is already active 348ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_WRONG_MODE if the device is not up. 349ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 350ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 35124933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_SetPeriodicInquiryMode (tBTM_INQ_PARMS *p_inqparms, 352d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint16_t max_delay, uint16_t min_delay, 35324933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBTM_INQ_RESULTS_CB *p_results_cb); 3545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 357ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 358ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_StartInquiry 359ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 360ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to start an inquiry. 361ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 362ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters: p_inqparms - pointer to the inquiry information 363ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * mode - GENERAL or LIMITED inquiry 364ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * duration - length in 1.28 sec intervals (If '0', the inquiry is CANCELLED) 365ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * max_resps - maximum amount of devices to search for before ending the inquiry 366ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * filter_cond_type - BTM_CLR_INQUIRY_FILTER, BTM_FILTER_COND_DEVICE_CLASS, or 367ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_FILTER_COND_BD_ADDR 368ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * filter_cond - value for the filter (based on filter_cond_type) 369ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 370ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * p_results_cb - Pointer to the callback routine which gets called 371ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * upon receipt of an inquiry result. If this field is 372ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * NULL, the application is not notified. 373ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 374ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * p_cmpl_cb - Pointer to the callback routine which gets called 375ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * upon completion. If this field is NULL, the 376ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * application is not notified when completed. 377ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns tBTM_STATUS 378ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_CMD_STARTED if successfully initiated 379ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_BUSY if already in progress 380ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_ILLEGAL_VALUE if parameter(s) are out of range 381ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_NO_RESOURCES if could not allocate resources to start the command 382ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_WRONG_MODE if the device is not up. 383ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 384ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 38524933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_StartInquiry (tBTM_INQ_PARMS *p_inqparms, 38624933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBTM_INQ_RESULTS_CB *p_results_cb, 38724933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBTM_CMPL_CB *p_cmpl_cb); 3885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 3905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 391ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 392ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_IsInquiryActive 393ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 394ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function returns a bit mask of the current inquiry state 395ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 396ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_INQUIRY_INACTIVE if inactive (0) 397ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_LIMITED_INQUIRY_ACTIVE if a limted inquiry is active 398ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_GENERAL_INQUIRY_ACTIVE if a general inquiry is active 399ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_PERIODIC_INQUIRY_ACTIVE if a periodic inquiry is active 400ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 401ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 402d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern uint16_t BTM_IsInquiryActive (void); 4035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 406ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 407ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_CancelInquiry 408ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 409ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function cancels an inquiry if active 410ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 411ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS if successful 412ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_NO_RESOURCES if could not allocate a message buffer 413ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_WRONG_MODE if the device is not up. 414ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 415ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 41624933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_CancelInquiry(void); 4175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 420ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 421ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_CancelPeriodicInquiry 422ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 423ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function cancels a periodic inquiry 424ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 425ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns 426ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_NO_RESOURCES if could not allocate a message buffer 427ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_SUCCESS - if cancelling the periodic inquiry 428ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_WRONG_MODE if the device is not up. 429ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 430ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 43124933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_CancelPeriodicInquiry(void); 4325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 435ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 436ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetConnectability 437ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 438ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to set the device into or out of 439ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * connectable mode. Discoverable mode means page scans enabled. 440ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 441ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS if successful 442ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_ILLEGAL_VALUE if a bad parameter is detected 443ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_NO_RESOURCES if could not allocate a message buffer 444ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_WRONG_MODE if the device is not up. 445ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 446ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 447d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern tBTM_STATUS BTM_SetConnectability (uint16_t page_mode, uint16_t window, 448d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint16_t interval); 4495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 452ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 453ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadConnectability 454ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 455ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to read the current discoverability 456ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * mode of the device. 457ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Output Params p_window - current page scan duration 458ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * p_interval - current time between page scans 459ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 460ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_NON_CONNECTABLE or BTM_CONNECTABLE 461ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 462ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 463d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern uint16_t BTM_ReadConnectability (uint16_t *p_window, uint16_t *p_interval); 4645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 467ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 468ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetInquiryMode 469ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 470ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to set standard, with RSSI 471ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * mode or extended of the inquiry for local device. 472ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 473ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Input Params: BTM_INQ_RESULT_STANDARD, BTM_INQ_RESULT_WITH_RSSI or 474ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_INQ_RESULT_EXTENDED 475ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 476ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS if successful 477ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_NO_RESOURCES if couldn't get a memory pool buffer 478ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_ILLEGAL_VALUE if a bad parameter was detected 479ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_WRONG_MODE if the device is not up. 480ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 481ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 482d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern tBTM_STATUS BTM_SetInquiryMode (uint8_t mode); 4835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 4845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 485ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 486ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetInquiryScanType 487ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 488ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to set the iquiry scan-type to 489ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * standard or interlaced. 490ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 491ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Input Params: BTM_SCAN_TYPE_STANDARD or BTM_SCAN_TYPE_INTERLACED 492ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 493ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS if successful 494ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_MODE_UNSUPPORTED if not a 1.2 device 495ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_WRONG_MODE if the device is not up. 496ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 497ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 498d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern tBTM_STATUS BTM_SetInquiryScanType (uint16_t scan_type); 4995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 501ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 502ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetPageScanType 503ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 504ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to set the page scan-type to 505ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * standard or interlaced. 506ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 507ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Input Params: BTM_SCAN_TYPE_STANDARD or BTM_SCAN_TYPE_INTERLACED 508ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 509ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS if successful 510ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_MODE_UNSUPPORTED if not a 1.2 device 511ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_WRONG_MODE if the device is not up. 512ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 513ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 5145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 515d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern tBTM_STATUS BTM_SetPageScanType (uint16_t scan_type); 5165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 518ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 519ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadRemoteDeviceName 520ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 521ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function initiates a remote device HCI command to the 522ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * controller and calls the callback when the process has completed. 523ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 524ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Input Params: remote_bda - device address of name to retrieve 525ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * p_cb - callback function called when BTM_CMD_STARTED 526ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * is returned. 527ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * A pointer to tBTM_REMOTE_DEV_NAME is passed to the 528ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * callback. 529ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 530ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns 531ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_CMD_STARTED is returned if the request was successfully sent 532ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * to HCI. 533ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_BUSY if already in progress 534ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_UNKNOWN_ADDR if device address is bad 535ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_NO_RESOURCES if could not allocate resources to start the command 536ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_WRONG_MODE if the device is not up. 537ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 538ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 53924933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_ReadRemoteDeviceName (BD_ADDR remote_bda, 54024933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBTM_CMPL_CB *p_cb, 54124933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBT_TRANSPORT transport); 5425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 545ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 546ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_CancelRemoteDeviceName 547ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 548ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function initiates the cancel request for the specified 549ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * remote device. 550ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 551ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Input Params: None 552ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 553ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns 554ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_CMD_STARTED is returned if the request was successfully sent 555ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * to HCI. 556ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_NO_RESOURCES if could not allocate resources to start the command 557ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_WRONG_MODE if there is not an active remote name request. 558ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 559ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 56024933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_CancelRemoteDeviceName (void); 5615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 563ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 564ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadRemoteVersion 565ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 566ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to read a remote device's version 567ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 568ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS if successful, otherwise an error 569ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 570ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 57124933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_ReadRemoteVersion (BD_ADDR addr, 572d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint8_t *lmp_version, 573d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint16_t *manufacturer, 574d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint16_t *lmp_sub_version); 5755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 577ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 578ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadRemoteFeatures 579ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 580ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to read a remote device's 581ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * supported features mask (features mask located at page 0) 582ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 583ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Note: The size of device features mask page is 584ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_FEATURE_BYTES_PER_PAGE bytes. 585ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 586ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns pointer to the remote supported features mask 587ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 588ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 589d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern uint8_t *BTM_ReadRemoteFeatures (BD_ADDR addr); 5905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 5915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 592ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 593ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadRemoteExtendedFeatures 594ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 595ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to read a specific extended features 596ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * page of the remote device 597ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 598ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Note1: The size of device features mask page is 599ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_FEATURE_BYTES_PER_PAGE bytes. 600ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Note2: The valid device features mask page number depends on 601ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * the remote device capabilities. It is expected to be in the 602ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * range [0 - BTM_EXT_FEATURES_PAGE_MAX]. 603ee96a3c60fca590d38025925c072d264e06493c4Myles Watson 604ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns pointer to the remote extended features mask 605ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * or NULL if page_number is not valid 606ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 607ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 608d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern uint8_t *BTM_ReadRemoteExtendedFeatures (BD_ADDR addr, uint8_t page_number); 6093aa60544585b5fb0f35c1165539a4a859fc0f25cAndre Eisenbach 6103aa60544585b5fb0f35c1165539a4a859fc0f25cAndre Eisenbach/******************************************************************************* 611ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 612ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadNumberRemoteFeaturesPages 613ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 614ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to retrieve the number of feature pages 615ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * read from the remote device 616ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 617ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns number of features pages read from the remote device 618ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 619ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 620d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern uint8_t BTM_ReadNumberRemoteFeaturesPages (BD_ADDR addr); 6213aa60544585b5fb0f35c1165539a4a859fc0f25cAndre Eisenbach 6223aa60544585b5fb0f35c1165539a4a859fc0f25cAndre Eisenbach/******************************************************************************* 623ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 624ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadAllRemoteFeatures 625ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 626ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to read all features of the remote device 627ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 628ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns pointer to the byte[0] of the page[0] of the remote device 629ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * feature mask. 630ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 631ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Note: the function returns the pointer to the array of the size 632ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_FEATURE_BYTES_PER_PAGE * (BTM_EXT_FEATURES_PAGE_MAX + 1). 633ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 634ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 635d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern uint8_t *BTM_ReadAllRemoteFeatures (BD_ADDR addr); 6363aa60544585b5fb0f35c1165539a4a859fc0f25cAndre Eisenbach 6373aa60544585b5fb0f35c1165539a4a859fc0f25cAndre Eisenbach/******************************************************************************* 638ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 639ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_InqDbRead 640ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 641ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function looks through the inquiry database for a match 642ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * based on Bluetooth Device Address. This is the application's 643ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * interface to get the inquiry details of a specific BD address. 644ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 645ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns pointer to entry, or NULL if not found 646ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 647ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 648063ca0230d902b1397bb8c19366e807980d876f3Jakub Pawlowskiextern tBTM_INQ_INFO *BTM_InqDbRead (const BD_ADDR p_bda); 6495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 652ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 653ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_InqDbFirst 654ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 655ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function looks through the inquiry database for the first 656ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * used entry, and returns that. This is used in conjunction with 657ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_InqDbNext by applications as a way to walk through the 658ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * inquiry database. 659ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 660ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns pointer to first in-use entry, or NULL if DB is empty 661ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 662ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 66324933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_INQ_INFO *BTM_InqDbFirst (void); 6645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 667ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 668ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_InqDbNext 669ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 670ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function looks through the inquiry database for the next 671ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * used entry, and returns that. If the input parameter is NULL, 672ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * the first entry is returned. 673ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 674ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns pointer to next in-use entry, or NULL if no more found. 675ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 676ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 67724933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_INQ_INFO *BTM_InqDbNext (tBTM_INQ_INFO *p_cur); 6785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 681ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 682ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ClearInqDb 683ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 684ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to clear out a device or all devices 685ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * from the inquiry database. 686ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 687ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameter p_bda - (input) BD_ADDR -> Address of device to clear 688ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * (NULL clears all entries) 689ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 690ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_BUSY if an inquiry, get remote name, or event filter 691ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * is active, otherwise BTM_SUCCESS 692ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 693ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 69424933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_ClearInqDb (BD_ADDR p_bda); 6955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 6965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 697ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 698ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadInquiryRspTxPower 699ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 700ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This command will read the inquiry Transmit Power level used 701ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * to transmit the FHS and EIR data packets. 702ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * This can be used directly in the Tx Power Level EIR data type. 703ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 704ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS if successful 705ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 706ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 70724933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_ReadInquiryRspTxPower (tBTM_CMPL_CB *p_cb); 7085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 710ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 711ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_StartDiscovery 712ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 713ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called by an application (or profile) 714ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * when it wants to trigger an service discovery using the 715ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM's discovery database. 716ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 717ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns tBTM_STATUS 718ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_CMD_STARTED if the discovery was initiated 719ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_BUSY if one is already in progress 720ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_UNKNOWN_ADDR if no addresses are in the INQ DB 721ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_ERR_PROCESSING if err initiating the command 722ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 723ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 72424933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_StartDiscovery (tBTM_CMPL_CB *p_cmpl_cb, 72524933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans BD_ADDR_PTR p_rem_addr); 7265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 729ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 730ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_FindAttribute 731ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 732ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called by an application (or profile) 733ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * when it wants to see if an attribute exists in the BTM 734ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * discovery database. 735ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 736ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns Pointer to matching record, or NULL 737ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 738ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 739d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern tSDP_DISC_REC *BTM_FindAttribute (uint16_t attr_id, 74024933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tSDP_DISC_REC *p_start_rec); 7415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 744ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 745ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_FindService 746ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 747ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called by an application (or profile) 748ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * when it wants to see if a service exists in the BTM 749ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * discovery database. 750ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 751ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns Pointer to matching record, or NULL 752ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 753ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 754d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern tSDP_DISC_REC *BTM_FindService (uint16_t service_uuid, 75524933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tSDP_DISC_REC *p_start_rec); 7565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 759ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 760ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetDiscoveryParams 761ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 762ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to set the BTM default discovery parameters. 763ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * These UUID and attribute filters are used during the call to 764ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_StartDiscovery. 765ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 766ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns void 767ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 768ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 769d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern void BTM_SetDiscoveryParams (uint16_t num_uuid, tSDP_UUID *p_uuid_list, 770d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint16_t num_attr, uint16_t *p_attr_list); 7715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 774ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * ACL CHANNEL MANAGEMENT FUNCTIONS 775ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ****************************************************************************/ 776ee96a3c60fca590d38025925c072d264e06493c4Myles Watson/******************************************************************************* 777ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 778ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetLinkPolicy 779ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 780ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Create and send HCI "Write Policy Set" command 781ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 782ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_CMD_STARTED if successfully initiated, otherwise error 783ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 784ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 78524933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_SetLinkPolicy (BD_ADDR remote_bda, 786d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint16_t *settings); 7875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 7885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 789ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 790ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetDefaultLinkPolicy 791ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 792ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Set the default value for HCI "Write Policy Set" command 793ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * to use when an ACL link is created. 794ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 795ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns void 796ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 797ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 798ee96a3c60fca590d38025925c072d264e06493c4Myles Watsonextern void BTM_SetDefaultLinkPolicy (uint16_t settings); 799ee96a3c60fca590d38025925c072d264e06493c4Myles Watson 800ee96a3c60fca590d38025925c072d264e06493c4Myles Watson 8015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 802ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 803ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetDefaultLinkSuperTout 804ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 805ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Set the default value for HCI "Write Link Supervision Timeout" 806ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * command to use when an ACL link is created. 807ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 808ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns void 809ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 810ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 811d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern void BTM_SetDefaultLinkSuperTout (uint16_t timeout); 8125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 815ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 816ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetLinkSuperTout 817ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 818ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Create and send HCI "Write Link Supervision Timeout" command 819ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 820ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_CMD_STARTED if successfully initiated, otherwise error 821ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 822ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 82324933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_SetLinkSuperTout (BD_ADDR remote_bda, 824d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint16_t timeout); 825ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/******************************************************************************* 826ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 827ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_GetLinkSuperTout 828ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 829ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Read the link supervision timeout value of the connection 830ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 831ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns status of the operation 832ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 833ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 83424933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_GetLinkSuperTout (BD_ADDR remote_bda, 835d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint16_t *p_timeout); 8365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 838ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 839ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_IsAclConnectionUp 840ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 841ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to check if an ACL connection exists 842ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * to a specific remote BD Address. 843ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 844ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns true if connection is up, else false. 845ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 846ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 847d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern bool BTM_IsAclConnectionUp (BD_ADDR remote_bda, tBT_TRANSPORT transport); 8485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 851ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 852ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_GetRole 853ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 854ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to get the role of the local device 855ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * for the ACL connection with the specified remote device 856ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 857ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS if connection exists. 858ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_UNKNOWN_ADDR if no active link with bd addr specified 859ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 860ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 861d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern tBTM_STATUS BTM_GetRole (BD_ADDR remote_bd_addr, uint8_t *p_role); 8625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 866ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 867ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SwitchRole 868ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 869ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to switch role between master and 870ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * slave. If role is already set it will do nothing. If the 871ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * command was initiated, the callback function is called upon 872ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * completion. 873ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 874ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS if already in specified role. 875ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_CMD_STARTED if command issued to controller. 876ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_NO_RESOURCES if couldn't allocate memory to issue command 877ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_UNKNOWN_ADDR if no active link with bd addr specified 878ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_MODE_UNSUPPORTED if local device does not support role switching 879ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 880ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 88124933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_SwitchRole (BD_ADDR remote_bd_addr, 882d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint8_t new_role, 88324933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBTM_CMPL_CB *p_cb); 8845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 8855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 886ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 887ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadRSSI 888ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 889ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to read the link policy settings. 890ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * The address of link policy results are returned in the callback. 891ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * (tBTM_RSSI_RESULTS) 892ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 893ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_CMD_STARTED if command issued to controller. 894ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_NO_RESOURCES if couldn't allocate memory to issue command 895ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_UNKNOWN_ADDR if no active link with bd addr specified 896ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_BUSY if command is already in progress 897ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 898ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 899063ca0230d902b1397bb8c19366e807980d876f3Jakub Pawlowskiextern tBTM_STATUS BTM_ReadRSSI (const BD_ADDR remote_bda, tBTM_CMPL_CB *p_cb); 9005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 903ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 904ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadTxPower 905ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 906ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to read the current connection 907ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * TX power of the connection. The TX power level results 908ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * are returned in the callback. 909ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * (tBTM_RSSI_RESULTS) 910ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 911ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_CMD_STARTED if command issued to controller. 912ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_NO_RESOURCES if couldn't allocate memory to issue command 913ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_UNKNOWN_ADDR if no active link with bd addr specified 914ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_BUSY if command is already in progress 915ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 916ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 91724933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_ReadTxPower (BD_ADDR remote_bda, 91824933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBT_TRANSPORT transport, tBTM_CMPL_CB *p_cb); 9195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 921ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 922ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadLinkQuality 923ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 924ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to read the link quality. 925ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * The value of the link quality is returned in the callback. 926ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * (tBTM_LINK_QUALITY_RESULTS) 927ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 928ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_CMD_STARTED if command issued to controller. 929ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_NO_RESOURCES if couldn't allocate memory to issue command 930ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_UNKNOWN_ADDR if no active link with bd addr specified 931ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_BUSY if command is already in progress 932ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 933ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 93424933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_ReadLinkQuality (BD_ADDR remote_bda, tBTM_CMPL_CB *p_cb); 9355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 937ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 938ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_RegBusyLevelNotif 939ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 940ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to register a callback to receive 941ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * busy level change events. 942ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 943ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS if successfully registered, otherwise error 944ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 945ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 946d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern tBTM_STATUS BTM_RegBusyLevelNotif (tBTM_BL_CHANGE_CB *p_cb, uint8_t *p_level, 94724933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBTM_BL_EVENT_MASK evt_mask); 9485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 950ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 951ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_AclRegisterForChanges 952ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 953ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to register a callback to receive 954ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * ACL database change events, i.e. new connection or removed. 955ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 956ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS if successfully initiated, otherwise error 957ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 958ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 95924933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_AclRegisterForChanges (tBTM_ACL_DB_CHANGE_CB *p_cb); 9605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 962ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 963ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_GetNumAclLinks 964ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 965ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to count the number of 966ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * ACL links that are active. 967ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 968ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns uint16_t Number of active ACL links 969ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 970ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 971d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern uint16_t BTM_GetNumAclLinks (void); 9725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 974ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 975ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetQoS 976ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 977ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to setup QoS 978ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 979ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_CMD_STARTED if successfully initiated, otherwise error 980ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 981ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 98224933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_SetQoS(BD_ADDR bd, FLOW_SPEC *p_flow, 98324933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBTM_CMPL_CB *p_cb); 9845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 9865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 987ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * (e)SCO CHANNEL MANAGEMENT FUNCTIONS 988ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ****************************************************************************/ 989ee96a3c60fca590d38025925c072d264e06493c4Myles Watson/******************************************************************************* 990ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 991ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_CreateSco 992ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 993ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to create an SCO connection. If the 994ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * "is_orig" flag is true, the connection will be originated, 995ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * otherwise BTM will wait for the other side to connect. 996ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 997ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_UNKNOWN_ADDR if the ACL connection is not up 998ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_BUSY if another SCO being set up to 999ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * the same BD address 1000ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_NO_RESOURCES if the max SCO limit has been reached 1001ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_CMD_STARTED if the connection establishment is started. 1002ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * In this case, "*p_sco_inx" is filled in 1003ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * with the sco index used for the connection. 1004ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1005ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1006d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern tBTM_STATUS BTM_CreateSco (BD_ADDR remote_bda, bool is_orig, 1007d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint16_t pkt_types, uint16_t *p_sco_inx, 100824933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBTM_SCO_CB *p_conn_cb, 100924933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBTM_SCO_CB *p_disc_cb); 10105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1013ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1014ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_RemoveSco 1015ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1016ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to remove a specific SCO connection. 1017ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1018ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_CMD_STARTED if successfully initiated, otherwise error 1019ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1020ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1021d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern tBTM_STATUS BTM_RemoveSco (uint16_t sco_inx); 10225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1025ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1026ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetScoPacketTypes 1027ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1028ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to set the packet types used for 1029ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * a specific SCO connection, 1030ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1031ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters pkt_types - One or more of the following 1032ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_SCO_PKT_TYPES_MASK_HV1 1033ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_SCO_PKT_TYPES_MASK_HV2 1034ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_SCO_PKT_TYPES_MASK_HV3 1035ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_SCO_PKT_TYPES_MASK_EV3 1036ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_SCO_PKT_TYPES_MASK_EV4 1037ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_SCO_PKT_TYPES_MASK_EV5 1038ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1039ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_SCO_LINK_ALL_MASK - enables all supported types 1040ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1041ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_CMD_STARTED if successfully initiated, otherwise error 1042ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1043ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1044d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern tBTM_STATUS BTM_SetScoPacketTypes (uint16_t sco_inx, uint16_t pkt_types); 10455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1048ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1049ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadScoPacketTypes 1050ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1051ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is read the packet types used for a specific 1052ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * SCO connection. 1053ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1054ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns One or more of the following (bitmask) 1055ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_SCO_PKT_TYPES_MASK_HV1 1056ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_SCO_PKT_TYPES_MASK_HV2 1057ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_SCO_PKT_TYPES_MASK_HV3 1058ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_SCO_PKT_TYPES_MASK_EV3 1059ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_SCO_PKT_TYPES_MASK_EV4 1060ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_SCO_PKT_TYPES_MASK_EV5 1061ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1062ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns packet types supported for the connection 1063ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1064ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1065d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern uint16_t BTM_ReadScoPacketTypes (uint16_t sco_inx); 10665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1069ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1070ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadDeviceScoPacketTypes 1071ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1072ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is read the SCO packet types that 1073ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * the device supports. 1074ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1075ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns packet types supported by the device. 1076ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1077ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1078d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern uint16_t BTM_ReadDeviceScoPacketTypes (void); 10795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1082ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1083ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadScoHandle 1084ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1085ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is used to read the HCI handle used for a specific 1086ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * SCO connection, 1087ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1088ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns handle for the connection, or 0xFFFF if invalid SCO index. 1089ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1090ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1091d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern uint16_t BTM_ReadScoHandle (uint16_t sco_inx); 10925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 10945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1095ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1096ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadScoBdAddr 1097ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1098ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is read the remote BD Address for a specific 1099ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * SCO connection, 1100ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1101ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns pointer to BD address or NULL if not known 1102ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1103ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1104d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern uint8_t *BTM_ReadScoBdAddr (uint16_t sco_inx); 11055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1108ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1109ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadScoDiscReason 1110ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1111ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is returns the reason why an (e)SCO connection 1112ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * has been removed. It contains the value until read, or until 1113ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * another (e)SCO connection has disconnected. 1114ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1115ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns HCI reason or BTM_INVALID_SCO_DISC_REASON if not set. 1116ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1117ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1118d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern uint16_t BTM_ReadScoDiscReason (void); 11195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1122ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1123ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetEScoMode 1124ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1125ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function sets up the negotiated parameters for SCO or 1126ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * eSCO, and sets as the default mode used for calls to 1127ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_CreateSco. It can be called only when there are no 1128ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * active (e)SCO links. 1129ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1130ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS if the successful. 1131ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_BUSY if there are one or more active (e)SCO links. 1132ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1133ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 113424933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_SetEScoMode (tBTM_SCO_TYPE sco_mode, 113524933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBTM_ESCO_PARAMS *p_parms); 11365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1138ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1139ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetWBSCodec 1140ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1141ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function sends command to the controller to setup 1142ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * WBS codec for the upcoming eSCO connection. 1143ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1144ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS. 1145ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1146ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1147ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 114824933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_SetWBSCodec (tBTM_SCO_CODEC_TYPE codec_type); 11495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1151ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1152ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_RegForEScoEvts 1153ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1154ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function registers a SCO event callback with the 1155ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * specified instance. It should be used to received 1156ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * connection indication events and change of link parameter 1157ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * events. 1158ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1159ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS if the successful. 1160ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_ILLEGAL_VALUE if there is an illegal sco_inx 1161ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1162ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1163d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern tBTM_STATUS BTM_RegForEScoEvts (uint16_t sco_inx, 116424933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBTM_ESCO_CBACK *p_esco_cback); 11655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1167ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1168ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadEScoLinkParms 1169ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1170ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function returns the current eSCO link parameters for 1171ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * the specified handle. This can be called anytime a connection 1172ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * is active, but is typically called after receiving the SCO 1173ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * opened callback. 1174ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1175ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Note: If called over a 1.1 controller, only the packet types 1176ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * field has meaning. 1177ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Note: If the upper layer doesn't know the current sco index, 1178ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_FIRST_ACTIVE_SCO_INDEX can be used as the first parameter to 1179ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * find the first active SCO index 1180ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1181ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS if returned data is valid connection. 1182ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_ILLEGAL_VALUE if no connection for specified sco_inx. 1183ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_MODE_UNSUPPORTED if local controller does not support 1184ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1.2 specification. 1185ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1186ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1187d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern tBTM_STATUS BTM_ReadEScoLinkParms (uint16_t sco_inx, 118824933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBTM_ESCO_DATA *p_parms); 11895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 11905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1191ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1192ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ChangeEScoLinkParms 1193ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1194ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function requests renegotiation of the parameters on 1195ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * the current eSCO Link. If any of the changes are accepted 1196ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * by the controllers, the BTM_ESCO_CHG_EVT event is sent in 1197ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * the tBTM_ESCO_CBACK function with the current settings of 1198ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * the link. The callback is registered through the call to 1199ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_SetEScoMode. 1200ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1201ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1202ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_CMD_STARTED if command is successfully initiated. 1203ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_ILLEGAL_VALUE if no connection for specified sco_inx. 1204ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_NO_RESOURCES - not enough resources to initiate command. 1205ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_MODE_UNSUPPORTED if local controller does not support 1206ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1.2 specification. 1207ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1208ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1209d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern tBTM_STATUS BTM_ChangeEScoLinkParms (uint16_t sco_inx, 121024933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBTM_CHG_ESCO_PARAMS *p_parms); 12115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1213ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1214ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_EScoConnRsp 1215ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1216ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called upon receipt of an (e)SCO connection 1217ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * request event (BTM_ESCO_CONN_REQ_EVT) to accept or reject 1218ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * the request. Parameters used to negotiate eSCO links. 1219ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * If p_parms is NULL, then values set through BTM_SetEScoMode 1220ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * are used. 1221ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * If the link type of the incoming request is SCO, then only 1222ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * the tx_bw, max_latency, content format, and packet_types are 1223ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * valid. The hci_status parameter should be 1224ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * ([0x0] to accept, [0x0d..0x0f] to reject) 1225ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1226ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1227ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns void 1228ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1229ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1230d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern void BTM_EScoConnRsp (uint16_t sco_inx, uint8_t hci_status, 123124933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBTM_ESCO_PARAMS *p_parms); 12325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1234ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1235ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_GetNumScoLinks 1236ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1237ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function returns the number of active SCO links. 1238ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1239ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns uint8_t 1240ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1241ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1242d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern uint8_t BTM_GetNumScoLinks (void); 12435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 1245ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * SECURITY MANAGEMENT FUNCTIONS 1246ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ****************************************************************************/ 1247ee96a3c60fca590d38025925c072d264e06493c4Myles Watson/******************************************************************************* 1248ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1249ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SecRegister 1250ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1251ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Application manager calls this function to register for 1252ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * security services. There can be one and only one application 1253ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * saving link keys. BTM allows only first registration. 1254ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1255ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns true if registered OK, else false 1256ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1257ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1258d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern bool BTM_SecRegister (tBTM_APPL_INFO *p_cb_info); 12595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1260877123f5b9df90e7a71ea7b15997c521229decc1Satya Calloji/******************************************************************************* 1261ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1262ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SecRegisterLinkKeyNotificationCallback 1263ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1264ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Profiles can register to be notified when a new Link Key 1265ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * is generated per connection. 1266ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1267ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns true if registered OK, else false 1268ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1269ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1270d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern bool BTM_SecRegisterLinkKeyNotificationCallback( 1271877123f5b9df90e7a71ea7b15997c521229decc1Satya Calloji tBTM_LINK_KEY_CALLBACK *p_callback); 12725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1274ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1275ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SecAddRmtNameNotifyCallback 1276ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1277ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Profiles can register to be notified when name of the 1278ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * remote device is resolved (up to BTM_SEC_MAX_RMT_NAME_CALLBACKS). 1279ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1280ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns true if registered OK, else false 1281ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1282ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1283d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern bool BTM_SecAddRmtNameNotifyCallback (tBTM_RMT_NAME_CALLBACK *p_callback); 12845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1287ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1288ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SecDeleteRmtNameNotifyCallback 1289ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1290ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description A profile can deregister notification when a new Link Key 1291ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * is generated per connection. 1292ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1293ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns true if OK, else false 1294ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1295ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1296d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern bool BTM_SecDeleteRmtNameNotifyCallback (tBTM_RMT_NAME_CALLBACK *p_callback); 12975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 12985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1299ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1300ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_GetSecurityFlags 1301ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1302ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Get security flags for the device 1303ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1304ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns bool true or false is device found 1305ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1306ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1307d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern bool BTM_GetSecurityFlags (BD_ADDR bd_addr, uint8_t * p_sec_flags); 13085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1310ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1311ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_GetSecurityFlagsByTransport 1312ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1313ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Get security flags for the device on a particular transport 1314ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1315ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters bd_addr: BD address of remote device 1316ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * p_sec_flags : Out parameter to be filled with security flags for the connection 1317ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * transport : Physical transport of the connection (BR/EDR or LE) 1318ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1319ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns bool true or false is device found 1320ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1321ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1322d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern bool BTM_GetSecurityFlagsByTransport (BD_ADDR bd_addr, 1323d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint8_t * p_sec_flags, tBT_TRANSPORT transport); 13247fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta 13257fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta/******************************************************************************* 1326ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1327ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadTrustedMask 1328ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1329ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Get trusted mask for the device 1330ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1331ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns NULL, if the device record is not found. 1332ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * otherwise, the trusted mask 1333ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1334ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1335d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern uint32_t * BTM_ReadTrustedMask (BD_ADDR bd_addr); 13365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1338ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1339ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetPinType 1340ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1341ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Set PIN type for the device. 1342ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1343ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns void 1344ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1345ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1346d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern void BTM_SetPinType (uint8_t pin_type, PIN_CODE pin_code, uint8_t pin_code_len); 13475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1350ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1351ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetPairableMode 1352ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1353ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Enable or disable pairing 1354ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1355ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters allow_pairing - (true or false) whether or not the device 1356ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * allows pairing. 1357ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * connect_only_paired - (true or false) whether or not to 1358ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * only allow paired devices to connect. 1359ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1360ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns void 1361ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1362ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1363d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern void BTM_SetPairableMode (bool allow_pairing, bool connect_only_paired); 13645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1366ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1367ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetSecureConnectionsOnly 1368ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1369ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Enable or disable default treatment for Mode 4 Level 0 services 1370ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1371ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameter secure_connections_only_mode - (true or false) 1372ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * true means that the device should treat Mode 4 Level 0 services as 1373ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * services of other levels. 1374ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * false means that the device should provide default treatment for 1375ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Mode 4 Level 0 services. 1376ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1377ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns void 1378ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1379ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1380d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern void BTM_SetSecureConnectionsOnly (bool secure_connections_only_mode); 1381899b77140675a157dba034e98527ab546bc9ac35Mudumba Ananth 1382899b77140675a157dba034e98527ab546bc9ac35Mudumba Ananth/******************************************************************************* 1383ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1384ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetSecurityLevel 1385ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1386ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Register service security level with Security Manager. Each 1387ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * service must register its requirements regardless of the 1388ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * security level that is used. This API is called once for originators 1389ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * nad again for acceptors of connections. 1390ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1391ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns true if registered OK, else false 1392ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1393ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1394d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern bool BTM_SetSecurityLevel (bool is_originator, const char *p_name, 1395d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint8_t service_id, uint16_t sec_level, 1396d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint16_t psm, uint32_t mx_proto_id, 1397d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint32_t mx_chan_id); 13985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 13995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1400ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1401ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetOutService 1402ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1403ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to set the service for 1404ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * outgoing connection. 1405ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1406ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns void 1407ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1408ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1409d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern void BTM_SetOutService(BD_ADDR bd_addr, uint8_t service_id, uint32_t mx_chan_id); 14105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 14115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1412ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1413ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SecClrService 1414ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1415ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Removes specified service record(s) from the security database. 1416ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * All service records with the specified name are removed. 1417ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Typically used only by devices with limited RAM so that it can 1418ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * reuse an old security service record. 1419ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * records (except SDP). 1420ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1421ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns Number of records that were freed. 1422ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1423ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1424d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern uint8_t BTM_SecClrService (uint8_t service_id); 14255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 14265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1427ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1428ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SecAddDevice 1429ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1430ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Add/modify device. This function will be normally called 1431ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * during host startup to restore all required information 1432ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * stored in the NVRAM. 1433ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * dev_class, bd_name, link_key, and features are NULL if unknown 1434ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1435ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns true if added OK, else false 1436ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1437ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1438d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern bool BTM_SecAddDevice (BD_ADDR bd_addr, DEV_CLASS dev_class, 1439d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen BD_NAME bd_name, uint8_t *features, 1440d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint32_t trusted_mask[], LINK_KEY link_key, 1441d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint8_t key_type, tBTM_IO_CAP io_cap, uint8_t pin_length); 14425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 14435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 14445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1445ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1446ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SecDeleteDevice 1447ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1448ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Free resources associated with the device. 1449ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1450ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns true if rmoved OK, false if not found 1451ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1452ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1453d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern bool BTM_SecDeleteDevice (BD_ADDR bd_addr); 14545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1455415d1120561ba38c7cd00f0e41d8fb69cda97601Andre Eisenbach/******************************************************************************* 1456ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1457ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SecClearSecurityFlags 1458ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1459ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Reset the security flags (mark as not-paired) for a given 1460ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * remove device. 1461ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1462ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1463415d1120561ba38c7cd00f0e41d8fb69cda97601Andre Eisenbachextern void BTM_SecClearSecurityFlags (BD_ADDR bd_addr); 14645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 14655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1466ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1467ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SecGetDeviceLinkKey 1468ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1469ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to obtain link key for the device 1470ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * it returns BTM_SUCCESS if link key is available, or 1471ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_UNKNOWN_ADDR if Security Manager does not know about 1472ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * the device or device record does not contain link key info 1473ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1474ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS if successful, otherwise error code 1475ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1476ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 147724933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_SecGetDeviceLinkKey (BD_ADDR bd_addr, 147824933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans LINK_KEY link_key); 14795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 14805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 14815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1482ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1483ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SecGetDeviceLinkKeyType 1484ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1485ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to obtain link key type for the 1486ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * device. 1487ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * it returns BTM_SUCCESS if link key is available, or 1488ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_UNKNOWN_ADDR if Security Manager does not know about 1489ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * the device or device record does not contain link key info 1490ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1491ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_LKEY_TYPE_IGNORE if link key is unknown, link type 1492ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * otherwise. 1493ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1494ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1495444a8da807abaf5f9e813ce70c56a79160495fb3Satya Callojiextern tBTM_LINK_KEY_TYPE BTM_SecGetDeviceLinkKeyType (BD_ADDR bd_addr); 1496444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji 1497444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji 1498444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji/******************************************************************************* 1499ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1500ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_PINCodeReply 1501ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1502ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called after Security Manager submitted 1503ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * PIN code request to the UI. 1504ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1505ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters: bd_addr - Address of the device for which PIN was requested 1506ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * res - result of the operation BTM_SUCCESS if success 1507ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * pin_len - length in bytes of the PIN Code 1508ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * p_pin - pointer to array with the PIN Code 1509ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * trusted_mask - bitwise OR of trusted services (array of uint32_t) 1510ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1511ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns void 1512ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1513ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1514d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern void BTM_PINCodeReply (BD_ADDR bd_addr, uint8_t res, uint8_t pin_len, 1515d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint8_t *p_pin, uint32_t trusted_mask[]); 15165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 15175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 15185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1519ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1520ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SecBond 1521ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1522ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to perform bonding with peer device. 1523ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1524ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters: bd_addr - Address of the device to bond 1525ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * pin_len - length in bytes of the PIN Code 1526ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * p_pin - pointer to array with the PIN Code 1527ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * trusted_mask - bitwise OR of trusted services (array of uint32_t) 15287fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta 1529ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_CMD_STARTED if successfully initiated, otherwise error 1530ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1531ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 153224933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_SecBond (BD_ADDR bd_addr, 1533d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint8_t pin_len, uint8_t *p_pin, 1534d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint32_t trusted_mask[]); 15357fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta 15367fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta/******************************************************************************* 1537ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1538ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SecBondByTransport 1539ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1540ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to perform bonding by designated transport 1541ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1542ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters: bd_addr - Address of the device to bond 1543ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * pin_len - length in bytes of the PIN Code 1544ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * p_pin - pointer to array with the PIN Code 1545ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * trusted_mask - bitwise OR of trusted services (array of uint32_t) 1546ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * transport : Physical transport to use for bonding (BR/EDR or LE) 1547ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1548ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_CMD_STARTED if successfully initiated, otherwise error 1549ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1550ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 155124933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_SecBondByTransport (BD_ADDR bd_addr, 155224933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBT_TRANSPORT transport, 1553d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint8_t pin_len, uint8_t *p_pin, 1554d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint32_t trusted_mask[]); 15555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 15565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1557ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1558ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SecBondCancel 1559ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1560ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to cancel ongoing bonding process 1561ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * with peer device. 1562ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1563ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_CMD_STARTED if successfully initiated, otherwise error 1564ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1565ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 156624933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_SecBondCancel (BD_ADDR bd_addr); 15675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 15685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1569ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1570ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetEncryption 1571ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1572ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to ensure that connection is 1573ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * encrypted. Should be called only on an open connection. 1574ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Typically only needed for connections that first want to 1575ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * bring up unencrypted links, then later encrypt them. 1576ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1577ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters: bd_addr - Address of the peer device 1578ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * transport - Link transport 1579ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * p_callback - Pointer to callback function called if 1580ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * this function returns PENDING after required 1581ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * procedures are completed. Can be set to NULL 1582ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * if status is not desired. 1583ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * p_ref_data - pointer to any data the caller wishes to receive 1584ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * in the callback function upon completion. 1585ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * can be set to NULL if not used. 1586ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * sec_act - LE security action, unused for BR/EDR 1587ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1588ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS - already encrypted 1589ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_PENDING - command will be returned in the callback 1590ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_WRONG_MODE- connection not up. 1591ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_BUSY - security procedures are currently active 1592ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_MODE_UNSUPPORTED - if security manager not linked in. 1593ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1594ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 159524933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_SetEncryption (BD_ADDR bd_addr, tBT_TRANSPORT transport, 1596f40b136e7b943d7e25224817fc47bb5b171479d5Andre Eisenbach tBTM_SEC_CBACK *p_callback, 1597f40b136e7b943d7e25224817fc47bb5b171479d5Andre Eisenbach void *p_ref_data, tBTM_BLE_SEC_ACT sec_act); 15985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 15995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1600ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1601ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ConfirmReqReply 1602ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1603ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to confirm the numeric value for 1604ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Simple Pairing in response to BTM_SP_CFM_REQ_EVT 1605ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1606ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters: res - result of the operation BTM_SUCCESS if success 1607ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * bd_addr - Address of the peer device 1608ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1609ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 161024933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern void BTM_ConfirmReqReply(tBTM_STATUS res, BD_ADDR bd_addr); 16115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 16125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1613ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1614ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_PasskeyReqReply 1615ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1616ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to provide the passkey for 1617ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Simple Pairing in response to BTM_SP_KEY_REQ_EVT 1618ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1619ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters: res - result of the operation BTM_SUCCESS if success 1620ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * bd_addr - Address of the peer device 1621ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * passkey - numeric value in the range of 0 - 999999(0xF423F). 1622ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1623ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1624d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern void BTM_PasskeyReqReply(tBTM_STATUS res, BD_ADDR bd_addr, uint32_t passkey); 16255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 16265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1627ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1628ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SendKeypressNotif 1629ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1630ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is used during the passkey entry model 1631ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * by a device with KeyboardOnly IO capabilities 1632ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * (very likely to be a HID Device). 1633ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * It is called by a HID Device to inform the remote device when 1634ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * a key has been entered or erased. 1635ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1636ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters: bd_addr - Address of the peer device 1637ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * type - notification type 1638ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1639ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 164024933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern void BTM_SendKeypressNotif(BD_ADDR bd_addr, tBTM_SP_KEY_TYPE type); 16415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 16425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1643ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1644ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_IoCapRsp 1645ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1646ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called in response to BTM_SP_IO_REQ_EVT 1647ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * When the event data io_req.oob_data is set to BTM_OOB_UNKNOWN 1648ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * by the tBTM_SP_CALLBACK implementation, this function is 1649ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * called to provide the actual response 1650ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1651ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters: bd_addr - Address of the peer device 1652ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * io_cap - The IO capability of local device. 1653ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * oob - BTM_OOB_NONE or BTM_OOB_PRESENT. 1654ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * auth_req- MITM protection required or not. 1655ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1656ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 165724933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern void BTM_IoCapRsp(BD_ADDR bd_addr, tBTM_IO_CAP io_cap, 165824933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBTM_OOB_DATA oob, tBTM_AUTH_REQ auth_req); 16595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 16605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1661ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1662ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadLocalOobData 1663ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1664ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to read the local OOB data from 1665ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * LM 1666ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1667ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1668b6ab9b3af6b8793ff781e0359a78611726ab2300Jakub Pawlowskiextern void BTM_ReadLocalOobData(void); 16695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 16705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1671ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1672ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_RemoteOobDataReply 1673ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1674ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to provide the remote OOB data for 1675ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Simple Pairing in response to BTM_SP_RMT_OOB_EVT 1676ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1677ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters: bd_addr - Address of the peer device 1678ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * c - simple pairing Hash C. 1679ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * r - simple pairing Randomizer C. 1680ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1681ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 168224933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern void BTM_RemoteOobDataReply(tBTM_STATUS res, BD_ADDR bd_addr, 168324933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans BT_OCTET16 c, BT_OCTET16 r); 16845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 16855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1686ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1687ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_BuildOobData 1688ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1689ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to build the OOB data payload to 1690ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * be sent over OOB (non-Bluetooth) link 1691ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1692ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters: p_data - the location for OOB data 1693ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * max_len - p_data size. 1694ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * c - simple pairing Hash C. 1695ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * r - simple pairing Randomizer C. 1696ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * name_len- 0, local device name would not be included. 1697ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * otherwise, the local device name is included for 1698ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * up to this specified length 1699ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1700ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns Number of bytes in p_data. 1701ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1702ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1703d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern uint16_t BTM_BuildOobData(uint8_t *p_data, uint16_t max_len, BT_OCTET16 c, 1704d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen BT_OCTET16 r, uint8_t name_len); 17055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 17065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1707ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1708ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_BothEndsSupportSecureConnections 1709ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1710ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to check if both the local device and the peer device 1711ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * specified by bd_addr support BR/EDR Secure Connections. 1712ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1713ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters: bd_addr - address of the peer 1714ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1715ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns true if BR/EDR Secure Connections are supported by both local 1716ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * and the remote device. 1717ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * else false. 1718ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1719ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1720d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern bool BTM_BothEndsSupportSecureConnections(BD_ADDR bd_addr); 1721899b77140675a157dba034e98527ab546bc9ac35Mudumba Ananth 1722899b77140675a157dba034e98527ab546bc9ac35Mudumba Ananth/******************************************************************************* 1723ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1724ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_PeerSupportsSecureConnections 1725ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1726ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to check if the peer supports 1727ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BR/EDR Secure Connections. 1728ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1729ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters: bd_addr - address of the peer 1730ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1731ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns true if BR/EDR Secure Connections are supported by the peer, 1732ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * else false. 1733ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1734ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1735d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern bool BTM_PeerSupportsSecureConnections(BD_ADDR bd_addr); 1736444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji 1737444a8da807abaf5f9e813ce70c56a79160495fb3Satya Calloji/******************************************************************************* 1738ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1739ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadOobData 1740ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1741ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to parse the OOB data payload 1742ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * received over OOB (non-Bluetooth) link 1743ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1744ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters: p_data - the location for OOB data 1745ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * eir_tag - The associated EIR tag to read the data. 1746ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * *p_len(output) - the length of the data with the given tag. 1747ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1748ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns the beginning of the data with the given tag. 1749ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * NULL, if the tag is not found. 1750ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1751ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1752d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern uint8_t * BTM_ReadOobData(uint8_t *p_data, uint8_t eir_tag, uint8_t *p_len); 17535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 17545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1755ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1756ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SecReadDevName 1757ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1758ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Looks for the device name in the security database for the 1759ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * specified BD address. 1760ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1761ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns Pointer to the name or NULL 1762ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1763ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 176424933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern char *BTM_SecReadDevName (BD_ADDR bd_addr); 17655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 17665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 17675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 1768ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * POWER MANAGEMENT FUNCTIONS 1769ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ****************************************************************************/ 1770ee96a3c60fca590d38025925c072d264e06493c4Myles Watson/******************************************************************************* 1771ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1772ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_PmRegister 1773ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1774ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description register or deregister with power manager 1775ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1776ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS if successful, 1777ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_NO_RESOURCES if no room to hold registration 1778ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_ILLEGAL_VALUE 1779ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1780ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1781d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern tBTM_STATUS BTM_PmRegister (uint8_t mask, uint8_t *p_pm_id, 178224933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBTM_PM_STATUS_CBACK *p_cb); 17835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 17845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 17855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1786ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1787ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetPowerMode 1788ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1789ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description store the mode in control block or 1790ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * alter ACL connection behavior. 1791ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1792ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS if successful, 1793ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_UNKNOWN_ADDR if bd addr is not active or bad 1794ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1795ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1796d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern tBTM_STATUS BTM_SetPowerMode (uint8_t pm_id, BD_ADDR remote_bda, 179724933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBTM_PM_PWR_MD *p_mode); 17985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 17995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 18005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1801ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1802ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ReadPowerMode 1803ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1804ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This returns the current mode for a specific 1805ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * ACL connection. 1806ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1807ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Input Param remote_bda - device address of desired ACL connection 1808ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1809ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Output Param p_mode - address where the current mode is copied into. 1810ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_ACL_MODE_NORMAL 1811ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_ACL_MODE_HOLD 1812ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_ACL_MODE_SNIFF 1813ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_ACL_MODE_PARK 1814ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * (valid only if return code is BTM_SUCCESS) 1815ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1816ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS if successful, 1817ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_UNKNOWN_ADDR if bd addr is not active or bad 1818ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1819ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 182024933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_ReadPowerMode (BD_ADDR remote_bda, 182124933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBTM_PM_MODE *p_mode); 18225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 18235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1824ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1825ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetSsrParams 1826ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1827ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This sends the given SSR parameters for the given ACL 1828ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * connection if it is in ACTIVE mode. 1829ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1830ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Input Param remote_bda - device address of desired ACL connection 1831ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * max_lat - maximum latency (in 0.625ms)(0-0xFFFE) 1832ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * min_rmt_to - minimum remote timeout 1833ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * min_loc_to - minimum local timeout 1834ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1835ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1836ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS if the HCI command is issued successful, 1837ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_UNKNOWN_ADDR if bd addr is not active or bad 1838ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_CMD_STORED if the command is stored 1839ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1840ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1841d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern tBTM_STATUS BTM_SetSsrParams (BD_ADDR remote_bda, uint16_t max_lat, 1842d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint16_t min_rmt_to, uint16_t min_loc_to); 18435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 18445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1845ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1846ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_GetHCIConnHandle 1847ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1848ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to get the handle for an ACL connection 1849ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * to a specific remote BD Address. 1850ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1851ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns the handle of the connection, or 0xFFFF if none. 1852ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1853ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 18547921e8f594079e00e90173a8fe7483ad72443b34Jakub Pawlowskiextern uint16_t BTM_GetHCIConnHandle (const BD_ADDR remote_bda, tBT_TRANSPORT transport); 18555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 18565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1857ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1858ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_DeleteStoredLinkKey 1859ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1860ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to delete link key for the specified 1861ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * device addresses from the NVRAM storage attached to the Bluetooth 1862ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * controller. 1863ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1864ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters: bd_addr - Addresses of the devices 1865ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * p_cb - Call back function to be called to return 1866ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * the results 1867ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1868ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 186924933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_DeleteStoredLinkKey(BD_ADDR bd_addr, tBTM_CMPL_CB *p_cb); 18705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 18715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1872ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1873ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_WriteEIR 1874ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1875ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to write EIR data to controller. 1876ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1877ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters p_buff - allocated HCI command buffer including extended 1878ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * inquriry response 1879ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1880ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS - if successful 1881ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_MODE_UNSUPPORTED - if local device cannot support it 1882ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1883ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 188424933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_WriteEIR( BT_HDR * p_buff ); 18855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 18865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1887ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1888ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_CheckEirData 1889ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1890ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to get EIR data from significant part. 1891ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1892ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters p_eir - pointer of EIR significant part 1893ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * type - finding EIR data type 1894ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * p_length - return the length of EIR data 1895ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1896ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns pointer of EIR data 1897ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1898ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1899d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern uint8_t *BTM_CheckEirData( uint8_t *p_eir, uint8_t type, uint8_t *p_length ); 19005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 19015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1902ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1903ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_HasEirService 1904ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1905ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to know if UUID in bit map of UUID. 1906ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1907ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters p_eir_uuid - bit map of UUID list 1908ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * uuid16 - UUID 16-bit 1909ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1910ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns true - if found 1911ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * false - if not found 1912ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1913ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1914d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern bool BTM_HasEirService( uint32_t *p_eir_uuid, uint16_t uuid16 ); 19155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 19165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1917ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1918ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_HasInquiryEirService 1919ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1920ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to know if UUID in bit map of UUID list. 1921ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1922ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters p_results - inquiry results 1923ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * uuid16 - UUID 16-bit 1924ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1925ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_EIR_FOUND - if found 1926ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_EIR_NOT_FOUND - if not found and it is complete list 1927ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_EIR_UNKNOWN - if not found and it is not complete list 1928ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1929ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 193024933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_EIR_SEARCH_RESULT BTM_HasInquiryEirService( tBTM_INQ_RESULTS *p_results, 1931d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint16_t uuid16 ); 19325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 19335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1934ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1935ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_AddEirService 1936ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1937ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to add a service in bit map of UUID list. 1938ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1939ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters p_eir_uuid - bit mask of UUID list for EIR 1940ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * uuid16 - UUID 16-bit 1941ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1942ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns None 1943ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1944ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1945d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern void BTM_AddEirService( uint32_t *p_eir_uuid, uint16_t uuid16 ); 19465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 19475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1948ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1949ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_RemoveEirService 1950ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1951ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to remove a service in bit map of UUID list. 1952ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1953ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters p_eir_uuid - bit mask of UUID list for EIR 1954ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * uuid16 - UUID 16-bit 1955ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1956ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns None 1957ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1958ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1959d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern void BTM_RemoveEirService( uint32_t *p_eir_uuid, uint16_t uuid16 ); 19605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 19615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1962ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1963ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_GetEirSupportedServices 1964ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1965ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to get UUID list from bit map of UUID list. 1966ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1967ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters p_eir_uuid - bit mask of UUID list for EIR 1968ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * p - reference of current pointer of EIR 1969ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * max_num_uuid16 - max number of UUID can be written in EIR 1970ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * num_uuid16 - number of UUID have been written in EIR 1971ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1972ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_EIR_MORE_16BITS_UUID_TYPE, if it has more than max 1973ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_EIR_COMPLETE_16BITS_UUID_TYPE, otherwise 1974ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1975ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 1976d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern uint8_t BTM_GetEirSupportedServices( uint32_t *p_eir_uuid, uint8_t **p, 1977d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint8_t max_num_uuid16, uint8_t *p_num_uuid16); 19785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 19795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1980ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1981ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_GetEirUuidList 1982ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1983ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function parses EIR and returns UUID list. 1984ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1985ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameters p_eir - EIR 1986ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * uuid_size - LEN_UUID_16, LEN_UUID_32, LEN_UUID_128 1987ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * p_num_uuid - return number of UUID in found list 1988ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * p_uuid_list - return UUID 16-bit list 1989ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * max_num_uuid - maximum number of UUID to be returned 1990ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1991ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns 0 - if not found 1992ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_EIR_COMPLETE_16BITS_UUID_TYPE 1993ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_EIR_MORE_16BITS_UUID_TYPE 1994ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_EIR_COMPLETE_32BITS_UUID_TYPE 1995ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_EIR_MORE_32BITS_UUID_TYPE 1996ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_EIR_COMPLETE_128BITS_UUID_TYPE 1997ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_EIR_MORE_128BITS_UUID_TYPE 1998ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 1999ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 2000d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern uint8_t BTM_GetEirUuidList( uint8_t *p_eir, uint8_t uuid_size, uint8_t *p_num_uuid, 2001d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen uint8_t *p_uuid_list, uint8_t max_num_uuid); 20025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 20035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/***************************************************************************** 2004ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * SCO OVER HCI 2005ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ****************************************************************************/ 2006ee96a3c60fca590d38025925c072d264e06493c4Myles Watson/******************************************************************************* 2007ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 2008ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_ConfigScoPath 2009ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 2010ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function enable/disable SCO over HCI and registers SCO 2011ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * data callback if SCO over HCI is enabled. 2012ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 2013ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Parameter path: SCO or HCI 2014ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * p_sco_data_cb: callback function or SCO data if path is set 2015ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * to transport. 2016ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * p_pcm_param: pointer to the PCM interface parameter. If a NULL 2017ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * pointer is used, PCM parameter maintained in 2018ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * the control block will be used; otherwise update 2019ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * control block value. 2020ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * err_data_rpt: Lisbon feature to enable the erronous data report 2021ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * or not. 2022ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 2023ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS if the successful. 2024ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_NO_RESOURCES: no rsource to start the command. 2025ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_ILLEGAL_VALUE: invalid callback function pointer. 2026ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_CMD_STARTED :Command sent. Waiting for command cmpl event. 2027ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 2028ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 2029ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 203024933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_STATUS BTM_ConfigScoPath (tBTM_SCO_ROUTE_TYPE path, 203124933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBTM_SCO_DATA_CB *p_sco_data_cb, 203224933b5b1a06274c47133debac5251a97128a267June R. Tate-Gans tBTM_SCO_PCM_PARAM *p_pcm_param, 2033d19e0785e662e640191a075eda07acce61c2aedaMarie Janssen bool err_data_rpt); 20345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 20355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 2036ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 2037ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_WriteScoData 2038ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 2039ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function write SCO data to a specified instance. The data 2040ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * to be written p_buf needs to carry an offset of 2041ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * HCI_SCO_PREAMBLE_SIZE bytes, and the data length can not 2042ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * exceed BTM_SCO_DATA_SIZE_MAX bytes, whose default value is set 2043ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * to 60 and is configurable. Data longer than the maximum bytes 2044ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * will be truncated. 2045ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 2046ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns BTM_SUCCESS: data write is successful 2047ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_ILLEGAL_VALUE: SCO data contains illegal offset value. 2048ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_SCO_BAD_LENGTH: SCO data length exceeds the max SCO packet 2049ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * size. 2050ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_NO_RESOURCES: no resources. 2051ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * BTM_UNKNOWN_ADDR: unknown SCO connection handle, or SCO is not 2052ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * routed via HCI. 2053ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 2054ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 2055ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 2056d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern tBTM_STATUS BTM_WriteScoData (uint16_t sco_inx, BT_HDR *p_buf); 20575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 20585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 2059ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 2060ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_SetARCMode 2061ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 2062ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Send Audio Routing Control command. 2063ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 2064ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns void 2065ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 2066ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 2067d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern void BTM_SetARCMode (uint8_t iface, uint8_t arc_mode, tBTM_VSC_CMPL_CB *p_arc_cb); 20685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 20695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 20705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 2071ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 2072ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_PCM2Setup_Write 2073ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 2074ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description Send PCM2_Setup write command. 2075ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 2076ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns void 2077ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 2078ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 2079d19e0785e662e640191a075eda07acce61c2aedaMarie Janssenextern void BTM_PCM2Setup_Write (bool clk_master, tBTM_VSC_CMPL_CB *p_arc_cb); 20805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 2081e5ba8841cd39e17c05aeb4ab65b5b761d41577daSatya Calloji 2082e5ba8841cd39e17c05aeb4ab65b5b761d41577daSatya Calloji/******************************************************************************* 2083ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 2084ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Function BTM_PM_ReadControllerState 2085ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 2086ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Description This function is called to obtain the controller state 2087ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 2088ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * Returns Controller state (BTM_CONTRL_ACTIVE, BTM_CONTRL_SCAN, and BTM_CONTRL_IDLE) 2089ee96a3c60fca590d38025925c072d264e06493c4Myles Watson * 2090ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 209124933b5b1a06274c47133debac5251a97128a267June R. Tate-Gansextern tBTM_CONTRL_STATE BTM_PM_ReadControllerState(void); 2092e5ba8841cd39e17c05aeb4ab65b5b761d41577daSatya Calloji 20935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifdef __cplusplus 20945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project} 20955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif 20965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 20975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BTM_API_H */ 2098