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