15738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
25738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
35738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  Copyright (C) 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
225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "data_types.h"
235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bt_types.h"
245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include <utils/Log.h>
265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**  Constants & Macros
295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project********************************************************************************/
305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTIF_STORAGE_FILL_PROPERTY(p_prop, t, l, p_v) \
315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project         (p_prop)->type = t;(p_prop)->len = l; (p_prop)->val = (p_v);
325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
33377cb1407ee6ee1ff91b15bfa7052abed1023d18Sunny Kapdi#define  BTIF_STORAGE_MAX_ALLOWED_REMOTE_DEVICE 512
345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**  Functions
375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project********************************************************************************/
385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_get_adapter_property
425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Fetches the adapter property->type
445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  from NVRAM and fills property->val.
455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Caller should provide memory for property->val and
465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  set the property->val
475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the fetch was successful,
495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_get_adapter_property(bt_property_t *property);
535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_set_adapter_property
575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Stores the adapter property
595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  to NVRAM
605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the store was successful,
625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_set_adapter_property(bt_property_t *property);
665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_get_remote_device_property
705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Fetches the remote device property->type
725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  from NVRAM and fills property->val.
735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Caller should provide memory for property->val and
745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  set the property->val
755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the fetch was successful,
775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_get_remote_device_property(bt_bdaddr_t *remote_bd_addr,
815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                                    bt_property_t *property);
825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_set_remote_device_property
865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Stores the remote device property
885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  to NVRAM
895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the store was successful,
915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_set_remote_device_property(bt_bdaddr_t *remote_bd_addr,
955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                                    bt_property_t *property);
965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_add_remote_device
1005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Adds a newly discovered device to NVRAM
1025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  along with the timestamp. Also, stores the various
1035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  properties - RSSI, BDADDR, NAME (if found in EIR)
1045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the store was successful,
1065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
1075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
109ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battabt_status_t btif_storage_add_remote_device(bt_bdaddr_t *remote_bd_addr,
1105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                           uint32_t num_properties,
1115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                           bt_property_t *properties);
1125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
1145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_add_bonded_device
1165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Adds the newly bonded device to NVRAM
1185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  along with the link-key, Key type and Pin key length
1195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the store was successful,
1215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
1225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
1245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_add_bonded_device(bt_bdaddr_t *remote_bd_addr,
1255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                           LINK_KEY link_key,
1265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                           uint8_t key_type,
1275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                           uint8_t pin_length);
1285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
1305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_remove_bonded_device
1325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Deletes the bonded device from NVRAM
1345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the deletion was successful,
1365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
1375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
1395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_remove_bonded_device(bt_bdaddr_t *remote_bd_addr);
1405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
1425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_remove_bonded_device
1445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Deletes the bonded device from NVRAM
1465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the deletion was successful,
1485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
1495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
1515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_load_bonded_devices(void);
1525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
1545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_read_hl_apps_cb
1565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Read HL application control block from NVRAM
1585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the operation was successful,
1605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
1615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
1635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_read_hl_apps_cb(char *value, int value_size);
1645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
1665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_write_hl_apps_cb
1685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Write HL application control block to NVRAM
1705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the operation was successful,
1725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
1735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
1755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_write_hl_apps_cb(char *value, int value_size);
1765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
1785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_read_hl_apps_cb
1805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Read HL application configuration from NVRAM
1825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the operation was successful,
1845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
1855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
1875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_read_hl_app_data(UINT8 app_idx, char *value, int value_size);
1885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
1905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_write_hl_app_data
1925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Write HL application configuration to NVRAM
1945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the operation was successful,
1965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
1975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
1995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_write_hl_app_data(UINT8 app_idx, char *value, int value_size);
2005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
2025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_read_hl_mdl_data
2045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Read HL application MDL configuration from NVRAM
2065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the operation was successful,
2085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
2095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
2115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_read_hl_mdl_data(UINT8 app_idx, char *value, int value_size);
2125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
2145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_write_hl_mdl_data
2165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Write HL application MDL configuration from NVRAM
2185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the operation was successful,
2205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
2215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
2235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_write_hl_mdl_data(UINT8 app_idx, char *value, int value_size);
2245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
2265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_add_hid_device_info
2285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Adds the hid information of bonded hid devices-to NVRAM
2305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the store was successful,
2325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
2335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
235ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
2365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_add_hid_device_info(bt_bdaddr_t *remote_bd_addr,
2375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                                    UINT16 attr_mask, UINT8 sub_class,
2385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                                    UINT8 app_id, UINT16 vendor_id,
2395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                                    UINT16 product_id, UINT16 version,
2408a82348c04109cb85e3c0b676dd1c7c5cb461c24Adam Hampson                                                    UINT8 ctry_code, UINT16 ssr_max_latency,
2418a82348c04109cb85e3c0b676dd1c7c5cb461c24Adam Hampson                                                    UINT16 ssr_min_tout, UINT16 dl_len, UINT8 *dsc_list);
2425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
2445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_load_bonded_hid_info
2465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
247ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Description      BTIF storage API - Loads hid info for all the bonded devices from NVRAM
248ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta**                  and adds those devices  to the BTA_HH.
2495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if successful, BT_STATUS_FAIL otherwise
2515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
2535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_load_bonded_hid_info(void);
2545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
2565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_remove_hid_info
2585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Deletes the bonded hid device info from NVRAM
2605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the deletion was successful,
2625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
2635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
2655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_remove_hid_info(bt_bdaddr_t *remote_bd_addr);
2665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
2685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_load_autopair_device_list
2705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Populates auto pair device list
2725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the auto pair blacklist is successfully populated
2745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
2755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
2775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_load_autopair_device_list();
2785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
2805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_is_device_autopair_blacklisted
2825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API  Checks if the given device is blacklisted for auto pairing
2845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          TRUE if the device is found in the auto pair blacklist
2865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  FALSE otherwise
2875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
289ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
290ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi BattaBOOLEAN  btif_storage_is_device_autopair_blacklisted(bt_bdaddr_t *remote_bd_addr);
2915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
2935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_add_device_to_autopair_blacklist
2955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Add a remote device to the auto pairing blacklist
2975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the device is successfully added to the auto pair blacklist
2995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
3005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
302ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
303ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battabt_status_t btif_storage_add_device_to_autopair_blacklist(bt_bdaddr_t *remote_bd_addr);
3045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
3065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_is_fixed_pin_zeros_keyboard
3085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - checks if this device has fixed PIN key device list
3105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          TRUE   if the device is found in the fixed pin keyboard device list
3125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  FALSE otherwise
3135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
315ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi BattaBOOLEAN btif_storage_is_fixed_pin_zeros_keyboard(bt_bdaddr_t *remote_bd_addr);
316ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
317ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#if (BLE_INCLUDED == TRUE)
318ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battabt_status_t btif_storage_add_ble_bonding_key( bt_bdaddr_t *remote_bd_addr,
319ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta                                              char *key,
320ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta                                              uint8_t key_type,
321ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta                                              uint8_t key_length);
322ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battabt_status_t btif_storage_get_ble_bonding_key(bt_bdaddr_t *remote_bd_addr,
323ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta                                             UINT8 key_type,
324ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta                                             char *key_value,
325ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta                                             int key_length);
326ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
327ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battabt_status_t btif_storage_add_ble_local_key(char *key,
328ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta                                           uint8_t key_type,
329ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta                                           uint8_t key_length);
330ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battabt_status_t btif_storage_remove_ble_bonding_keys(bt_bdaddr_t *remote_bd_addr);
331ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battabt_status_t btif_storage_remove_ble_local_keys(void);
332ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battabt_status_t btif_storage_get_ble_local_key(UINT8 key_type,
333ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta                                           char *key_value,
334ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta                                           int key_len);
335ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
336ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battabt_status_t btif_storage_get_remote_addr_type(bt_bdaddr_t *remote_bd_addr,
337ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta                                              int *addr_type);
338ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
339ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battabt_status_t btif_storage_set_remote_addr_type(bt_bdaddr_t *remote_bd_addr,
340ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta                                              UINT8 addr_type);
341ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
342ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta#endif
343ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta/*******************************************************************************
344ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta**
345ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Function         btif_storage_get_remote_version
346ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta**
347ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Description      Fetch remote version info on cached remote device
348ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta**
349ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta** Returns          BT_STATUS_SUCCESS if found
350ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta**                  BT_STATUS_FAIL otherwise
351ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta**
352ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta*******************************************************************************/
3535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
354ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Battabt_status_t btif_storage_get_remote_version(const bt_bdaddr_t *remote_bd_addr,
355ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta                                  bt_remote_version_t *p_ver);
3567fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta
3577fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta/*******************************************************************************
3587fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta**
3597fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta** Function         btif_storage_set_dmt_support_type
3607fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta**
3617fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta** Description      Sets DMT support status for a remote device
3627fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta**
3637fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta** Returns          BT_STATUS_SUCCESS if config update is successful
3647fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta**                  BT_STATUS_FAIL otherwise
3657fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta**
3667fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta*******************************************************************************/
3677fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta
3687fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Battabt_status_t btif_storage_set_dmt_support_type(const bt_bdaddr_t *remote_bd_addr,
3697fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta                                                   BOOLEAN dmt_supported);
3707fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta
3717fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta
3727fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta
3737fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta/*******************************************************************************
3747fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta**
3757fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta** Function         btif_storage_is_dmt_supported_device
3767fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta**
3777fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta** Description      checks if a device supports Dual mode topology
3787fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta**
3797fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta** Returns         TRUE if remote supports DMT else FALSE
3807fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta**
3817fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta*******************************************************************************/
3827fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta
3837fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi BattaBOOLEAN btif_storage_is_dmt_supported_device(const bt_bdaddr_t *remote_bd_addr);
3847fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta
3857fa4fba6f59f97df00aff07dbe8fb21b114b3c2cGanesh Ganapathi Batta
3865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BTIF_STORAGE_H */
387