15738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/****************************************************************************** 25738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project * 35b790feeeb211c42bf78ca3ae9c26aa30e516765Jakub Pawlowski * Copyright 2009-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#ifndef BTIF_STORAGE_H 205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTIF_STORAGE_H 215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 22819e2ecb84a22d6e03ec9ed67b3260c0dd7e8abaJakub Pawlowski#include <bluetooth/uuid.h> 2349a86709488e5cfd5e23759da18bf9613e15b04dMarie Janssen#include <hardware/bluetooth.h> 2449a86709488e5cfd5e23759da18bf9613e15b04dMarie Janssen 2549a86709488e5cfd5e23759da18bf9613e15b04dMarie Janssen#include "bt_target.h" 265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bt_types.h" 275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 296bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Constants & Macros 30ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTIF_STORAGE_FILL_PROPERTY(p_prop, t, l, p_v) \ 3240cde56d28ab9751ba76bded0b7ac5974c750a97Myles Watson do { \ 3340cde56d28ab9751ba76bded0b7ac5974c750a97Myles Watson (p_prop)->type = (t); \ 3440cde56d28ab9751ba76bded0b7ac5974c750a97Myles Watson (p_prop)->len = (l); \ 3540cde56d28ab9751ba76bded0b7ac5974c750a97Myles Watson (p_prop)->val = (p_v); \ 3640cde56d28ab9751ba76bded0b7ac5974c750a97Myles Watson } while (0) 375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 396bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Functions 40ee96a3c60fca590d38025925c072d264e06493c4Myles Watson ******************************************************************************/ 415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 436bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 446bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Function btif_storage_get_adapter_property 456bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 466bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Description BTIF storage API - Fetches the adapter property->type 476bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * from NVRAM and fills property->val. 486bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Caller should provide memory for property->val and 496bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * set the property->val 506bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 516bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Returns BT_STATUS_SUCCESS if the fetch was successful, 526bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * BT_STATUS_FAIL otherwise 536bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 546bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson ******************************************************************************/ 556bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watsonbt_status_t btif_storage_get_adapter_property(bt_property_t* property); 565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 586bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 596bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Function btif_storage_set_adapter_property 606bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 616bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Description BTIF storage API - Stores the adapter property 626bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * to NVRAM 636bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 646bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Returns BT_STATUS_SUCCESS if the store was successful, 656bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * BT_STATUS_FAIL otherwise 666bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 676bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson ******************************************************************************/ 686bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watsonbt_status_t btif_storage_set_adapter_property(bt_property_t* property); 695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 716bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 726bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Function btif_storage_get_remote_device_property 736bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 746bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Description BTIF storage API - Fetches the remote device property->type 756bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * from NVRAM and fills property->val. 766bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Caller should provide memory for property->val and 776bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * set the property->val 786bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 796bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Returns BT_STATUS_SUCCESS if the fetch was successful, 806bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * BT_STATUS_FAIL otherwise 816bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 826bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson ******************************************************************************/ 83c2276b06572ab6fc1f900fbb1f41087e77d47e2aJakub Pawlowskibt_status_t btif_storage_get_remote_device_property( 84a484a888196ddf8bcbf1ad3226d6451bc735a94bJakub Pawlowski const RawAddress* remote_bd_addr, bt_property_t* property); 855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 876bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 886bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Function btif_storage_set_remote_device_property 896bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 906bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Description BTIF storage API - Stores the remote device property 916bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * to NVRAM 926bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 936bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Returns BT_STATUS_SUCCESS if the store was successful, 946bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * BT_STATUS_FAIL otherwise 956bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 966bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson ******************************************************************************/ 97c2276b06572ab6fc1f900fbb1f41087e77d47e2aJakub Pawlowskibt_status_t btif_storage_set_remote_device_property( 98a484a888196ddf8bcbf1ad3226d6451bc735a94bJakub Pawlowski const RawAddress* remote_bd_addr, bt_property_t* property); 995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1016bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1026bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Function btif_storage_add_remote_device 1036bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1046bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Description BTIF storage API - Adds a newly discovered device to 1056bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * track along with the timestamp. Also, stores the various 1066bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * properties - RSSI, BDADDR, NAME (if found in EIR) 1076bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1086bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Returns BT_STATUS_SUCCESS if successful, 1096bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * BT_STATUS_FAIL otherwise 1106bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1116bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson ******************************************************************************/ 112a484a888196ddf8bcbf1ad3226d6451bc735a94bJakub Pawlowskibt_status_t btif_storage_add_remote_device(const RawAddress* remote_bd_addr, 1135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project uint32_t num_properties, 1146bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson bt_property_t* properties); 1155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1176bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1186bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Function btif_storage_add_bonded_device 1196bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1206bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Description BTIF storage API - Adds the newly bonded device to NVRAM 1216bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * along with the link-key, Key type and Pin key length 1226bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1236bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Returns BT_STATUS_SUCCESS if the store was successful, 1246bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * BT_STATUS_FAIL otherwise 1256bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1266bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson ******************************************************************************/ 127a484a888196ddf8bcbf1ad3226d6451bc735a94bJakub Pawlowskibt_status_t btif_storage_add_bonded_device(RawAddress* remote_bd_addr, 1286bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson LINK_KEY link_key, uint8_t key_type, 1295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project uint8_t pin_length); 1305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1326bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1336bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Function btif_storage_remove_bonded_device 1346bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1356bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Description BTIF storage API - Deletes the bonded device from NVRAM 1366bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1376bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Returns BT_STATUS_SUCCESS if the deletion was successful, 1386bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * BT_STATUS_FAIL otherwise 1396bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1406bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson ******************************************************************************/ 141a484a888196ddf8bcbf1ad3226d6451bc735a94bJakub Pawlowskibt_status_t btif_storage_remove_bonded_device(const RawAddress* remote_bd_addr); 1425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1446bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1456bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Function btif_storage_remove_bonded_device 1466bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1476bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Description BTIF storage API - Deletes the bonded device from NVRAM 1486bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1496bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Returns BT_STATUS_SUCCESS if the deletion was successful, 1506bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * BT_STATUS_FAIL otherwise 1516bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1526bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson ******************************************************************************/ 1535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_load_bonded_devices(void); 1545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1566bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1576bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Function btif_storage_add_hid_device_info 1586bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1596bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Description BTIF storage API - Adds the hid information of bonded hid 160f45481678af0694902b5200ba69ced4cb61d73f0Myles Watson * devices-to NVRAM 1616bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1626bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Returns BT_STATUS_SUCCESS if the store was successful, 1636bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * BT_STATUS_FAIL otherwise 1646bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1656bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson ******************************************************************************/ 1666bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson 1676bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watsonbt_status_t btif_storage_add_hid_device_info( 168a484a888196ddf8bcbf1ad3226d6451bc735a94bJakub Pawlowski RawAddress* remote_bd_addr, uint16_t attr_mask, uint8_t sub_class, 1696bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson uint8_t app_id, uint16_t vendor_id, uint16_t product_id, uint16_t version, 1706bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson uint8_t ctry_code, uint16_t ssr_max_latency, uint16_t ssr_min_tout, 1716bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson uint16_t dl_len, uint8_t* dsc_list); 1725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1746bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1756bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Function btif_storage_load_bonded_hid_info 1766bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1776bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Description BTIF storage API - Loads hid info for all the bonded devices 178f45481678af0694902b5200ba69ced4cb61d73f0Myles Watson * from NVRAM and adds those devices to the BTA_HH. 1796bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1806bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Returns BT_STATUS_SUCCESS if successful, BT_STATUS_FAIL otherwise 1816bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1826bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson ******************************************************************************/ 1835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_load_bonded_hid_info(void); 1845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 1855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************* 1866bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1876bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Function btif_storage_remove_hid_info 1886bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1896bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Description BTIF storage API - Deletes the bonded hid device info from 190f45481678af0694902b5200ba69ced4cb61d73f0Myles Watson * NVRAM 1916bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1926bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Returns BT_STATUS_SUCCESS if the deletion was successful, 1936bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * BT_STATUS_FAIL otherwise 1946bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 1956bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson ******************************************************************************/ 196a484a888196ddf8bcbf1ad3226d6451bc735a94bJakub Pawlowskibt_status_t btif_storage_remove_hid_info(RawAddress* remote_bd_addr); 1975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project 19889b0ccb03476a637c6e8dbe7d7d8c77057362d49Jakub Pawlowski/** Loads information about bonded hearing aid devices */ 19989b0ccb03476a637c6e8dbe7d7d8c77057362d49Jakub Pawlowskivoid btif_storage_load_bonded_hearing_aids(); 20089b0ccb03476a637c6e8dbe7d7d8c77057362d49Jakub Pawlowski 20189b0ccb03476a637c6e8dbe7d7d8c77057362d49Jakub Pawlowski/** Deletes the bonded hearing aid device info from NVRAM */ 20289b0ccb03476a637c6e8dbe7d7d8c77057362d49Jakub Pawlowskivoid btif_storage_remove_hearing_aid(const RawAddress& address); 20389b0ccb03476a637c6e8dbe7d7d8c77057362d49Jakub Pawlowski 204dc77837a27e4110a74b977990adfade076770a19Hansong Zhang/** Remove the hearing aid device from white list */ 205dc77837a27e4110a74b977990adfade076770a19Hansong Zhangvoid btif_storage_remove_hearing_aid_white_list(const RawAddress& address); 206dc77837a27e4110a74b977990adfade076770a19Hansong Zhang 2077b266be449e4f915c419199c2312eb31f70e63bcAjay Panicker/******************************************************************************* 2086bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 2096bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Function btif_storage_is_retricted_device 2106bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 2116bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Description BTIF storage API - checks if this device is a restricted 212f45481678af0694902b5200ba69ced4cb61d73f0Myles Watson * device 2136bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 2146bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * Returns true if the device is labled as restricted 2156bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * false otherwise 2166bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson * 2176bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson ******************************************************************************/ 218a484a888196ddf8bcbf1ad3226d6451bc735a94bJakub Pawlowskibool btif_storage_is_restricted_device(const RawAddress* remote_bd_addr); 2197b266be449e4f915c419199c2312eb31f70e63bcAjay Panicker 220a484a888196ddf8bcbf1ad3226d6451bc735a94bJakub Pawlowskibt_status_t btif_storage_add_ble_bonding_key(RawAddress* remote_bd_addr, 22180a9ee783ae47262c3a12b983e7681bc75c69338Myles Watson const uint8_t* key, 22280a9ee783ae47262c3a12b983e7681bc75c69338Myles Watson uint8_t key_type, 2236bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson uint8_t key_length); 224a484a888196ddf8bcbf1ad3226d6451bc735a94bJakub Pawlowskibt_status_t btif_storage_get_ble_bonding_key(RawAddress* remote_bd_addr, 22580a9ee783ae47262c3a12b983e7681bc75c69338Myles Watson uint8_t key_type, 22680a9ee783ae47262c3a12b983e7681bc75c69338Myles Watson uint8_t* key_value, 227ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta int key_length); 228ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 2296bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watsonbt_status_t btif_storage_add_ble_local_key(char* key, uint8_t key_type, 230ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta uint8_t key_length); 231c2276b06572ab6fc1f900fbb1f41087e77d47e2aJakub Pawlowskibt_status_t btif_storage_remove_ble_bonding_keys( 232a484a888196ddf8bcbf1ad3226d6451bc735a94bJakub Pawlowski const RawAddress* remote_bd_addr); 233ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battabt_status_t btif_storage_remove_ble_local_keys(void); 2346bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watsonbt_status_t btif_storage_get_ble_local_key(uint8_t key_type, char* key_value, 235ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta int key_len); 236ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 237a484a888196ddf8bcbf1ad3226d6451bc735a94bJakub Pawlowskibt_status_t btif_storage_get_remote_addr_type(const RawAddress* remote_bd_addr, 2386bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson int* addr_type); 239ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 240a484a888196ddf8bcbf1ad3226d6451bc735a94bJakub Pawlowskibt_status_t btif_storage_set_remote_addr_type(const RawAddress* remote_bd_addr, 241b7f64bc45dec7f7fec74ceb04874f322b9434bbfMarie Janssen uint8_t addr_type); 242ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta 2438843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta/******************************************************************************* 2448843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Function btif_storage_load_hidd 2458843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * 2468843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Description Loads hidd bonded device and "plugs" it into hidd 2478843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * 2488843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Returns BT_STATUS_SUCCESS if successful, BT_STATUS_FAIL otherwise 2498843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * 2508843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta ******************************************************************************/ 2518843cc830b522cfe6f1e361297fc28fd331a1378Hemant Guptabt_status_t btif_storage_load_hidd(void); 2528843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta 2538843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta/******************************************************************************* 2548843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * 2558843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Function btif_storage_set_hidd 2568843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * 2578843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Description Stores hidd bonded device info in nvram. 2588843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * 2598843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Returns BT_STATUS_SUCCESS 2608843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * 2618843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta ******************************************************************************/ 2628843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta 263a484a888196ddf8bcbf1ad3226d6451bc735a94bJakub Pawlowskibt_status_t btif_storage_set_hidd(RawAddress* remote_bd_addr); 2648843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta 2658843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta/******************************************************************************* 2668843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * 2678843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Function btif_storage_remove_hidd 2688843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * 2698843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Description Removes hidd bonded device info from nvram 2708843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * 2718843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * Returns BT_STATUS_SUCCESS 2728843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta * 2738843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta ******************************************************************************/ 2748843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta 275a484a888196ddf8bcbf1ad3226d6451bc735a94bJakub Pawlowskibt_status_t btif_storage_remove_hidd(RawAddress* remote_bd_addr); 2768843cc830b522cfe6f1e361297fc28fd331a1378Hemant Gupta 277e91297a4d1a77ae0c367fbe756090b7357e9893aPavlin Radoslavov// Gets the device name for a given Bluetooth address |bd_addr|. 278e91297a4d1a77ae0c367fbe756090b7357e9893aPavlin Radoslavov// The device name (if found) is stored in |name|. 279e91297a4d1a77ae0c367fbe756090b7357e9893aPavlin Radoslavov// Returns true if the device name is found, othervise false. 280e91297a4d1a77ae0c367fbe756090b7357e9893aPavlin Radoslavov// Note: |name| should point to a buffer that can store string of length 281e91297a4d1a77ae0c367fbe756090b7357e9893aPavlin Radoslavov// |BTM_MAX_REM_BD_NAME_LEN|. 282a484a888196ddf8bcbf1ad3226d6451bc735a94bJakub Pawlowskibool btif_storage_get_stored_remote_name(const RawAddress& bd_addr, char* name); 283e91297a4d1a77ae0c367fbe756090b7357e9893aPavlin Radoslavov 28416856640e6179a73abf955e24dc7acf0699b66e4Andre Eisenbach/****************************************************************************** 28516856640e6179a73abf955e24dc7acf0699b66e4Andre Eisenbach * Exported for unit tests 28616856640e6179a73abf955e24dc7acf0699b66e4Andre Eisenbach *****************************************************************************/ 287819e2ecb84a22d6e03ec9ed67b3260c0dd7e8abaJakub Pawlowskisize_t btif_split_uuids_string(const char* str, bluetooth::Uuid* p_uuid, 2886bd442f543972b072ef2cbbcf2f7c91202de1045Myles Watson size_t max_uuids); 28916856640e6179a73abf955e24dc7acf0699b66e4Andre Eisenbach 2905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BTIF_STORAGE_H */ 291