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
335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**  Functions
365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project********************************************************************************/
375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_get_adapter_property
415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Fetches the adapter property->type
435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  from NVRAM and fills property->val.
445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Caller should provide memory for property->val and
455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  set the property->val
465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the fetch was successful,
485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_get_adapter_property(bt_property_t *property);
525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_set_adapter_property
565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Stores the adapter property
585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  to NVRAM
595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the store was successful,
615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_set_adapter_property(bt_property_t *property);
655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_get_remote_device_property
695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Fetches the remote device property->type
715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  from NVRAM and fills property->val.
725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  Caller should provide memory for property->val and
735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  set the property->val
745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the fetch was successful,
765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_get_remote_device_property(bt_bdaddr_t *remote_bd_addr,
805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                                    bt_property_t *property);
815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_set_remote_device_property
855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Stores the remote device property
875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  to NVRAM
885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the store was successful,
905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_set_remote_device_property(bt_bdaddr_t *remote_bd_addr,
945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                                    bt_property_t *property);
955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_add_remote_device
995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Adds a newly discovered device to NVRAM
1015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  along with the timestamp. Also, stores the various
1025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  properties - RSSI, BDADDR, NAME (if found in EIR)
1035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the store was successful,
1055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
1065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
1085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_add_remote_device(bt_bdaddr_t *remote_bdaddr,
1095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                           uint32_t num_properties,
1105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                           bt_property_t *properties);
1115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
1135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_add_bonded_device
1155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Adds the newly bonded device to NVRAM
1175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  along with the link-key, Key type and Pin key length
1185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the store was successful,
1205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
1215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
1235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_add_bonded_device(bt_bdaddr_t *remote_bd_addr,
1245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                           LINK_KEY link_key,
1255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                           uint8_t key_type,
1265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                           uint8_t pin_length);
1275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
1295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_remove_bonded_device
1315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Deletes the bonded device from NVRAM
1335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the deletion was successful,
1355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
1365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
1385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_remove_bonded_device(bt_bdaddr_t *remote_bd_addr);
1395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
1415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_remove_bonded_device
1435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Deletes the bonded device from NVRAM
1455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the deletion was successful,
1475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
1485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
1505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_load_bonded_devices(void);
1515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
1535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_read_hl_apps_cb
1555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Read HL application control block from NVRAM
1575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the operation was successful,
1595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
1605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
1625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_read_hl_apps_cb(char *value, int value_size);
1635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
1655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_write_hl_apps_cb
1675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Write HL application control block to NVRAM
1695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the operation was successful,
1715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
1725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
1745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_write_hl_apps_cb(char *value, int value_size);
1755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
1775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_read_hl_apps_cb
1795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Read HL application configuration from NVRAM
1815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the operation was successful,
1835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
1845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
1865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_read_hl_app_data(UINT8 app_idx, char *value, int value_size);
1875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
1895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_write_hl_app_data
1915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Write HL application configuration to NVRAM
1935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the operation was successful,
1955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
1965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
1975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
1985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_write_hl_app_data(UINT8 app_idx, char *value, int value_size);
1995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
2015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_read_hl_mdl_data
2035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Read HL application MDL configuration from NVRAM
2055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the operation was successful,
2075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
2085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
2105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_read_hl_mdl_data(UINT8 app_idx, char *value, int value_size);
2115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
2135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_write_hl_mdl_data
2155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Write HL application MDL configuration from NVRAM
2175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the operation was successful,
2195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
2205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
2225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_write_hl_mdl_data(UINT8 app_idx, char *value, int value_size);
2235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
2255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_add_hid_device_info
2275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Adds the hid information of bonded hid devices-to NVRAM
2295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2305738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the store was successful,
2315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
2325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
2345738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_add_hid_device_info(bt_bdaddr_t *remote_bd_addr,
2355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                                    UINT16 attr_mask, UINT8 sub_class,
2365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                                    UINT8 app_id, UINT16 vendor_id,
2375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                                    UINT16 product_id, UINT16 version,
2385738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                                    UINT8 ctry_code, UINT16 dl_len,
2395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project                                                    UINT8 *dsc_list);
2405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
2425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2435738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_load_bonded_hid_info
2445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Loads hid info for all the bonded devices
2465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  from NVRAM and adds those devices  to the BTA_HH.
2475738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2485738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if successful, BT_STATUS_FAIL otherwise
2495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
2515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_load_bonded_hid_info(void);
2525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
2545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2555738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_remove_hid_info
2565738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2575738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Deletes the bonded hid device info from NVRAM
2585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2595738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the deletion was successful,
2605738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
2615738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2625738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
2635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_remove_hid_info(bt_bdaddr_t *remote_bd_addr);
2645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
2665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2675738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_load_autopair_device_list
2685738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2695738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Populates auto pair device list
2705738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the auto pair blacklist is successfully populated
2725738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
2735738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2745738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
2755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_load_autopair_device_list();
2765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
2785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_is_device_autopair_blacklisted
2805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API  Checks if the given device is blacklisted for auto pairing
2825738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2835738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          TRUE if the device is found in the auto pair blacklist
2845738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  FALSE otherwise
2855738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2865738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
2875738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBOOLEAN  btif_storage_is_device_autopair_blacklisted(bt_bdaddr_t *remote_dev_addr);
2885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
2895738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
2905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_add_device_to_autopair_blacklist
2925738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2935738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - Add a remote device to the auto pairing blacklist
2945738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          BT_STATUS_SUCCESS if the device is successfully added to the auto pair blacklist
2965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  BT_STATUS_FAIL otherwise
2975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
2985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
2995738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectbt_status_t btif_storage_add_device_to_autopair_blacklist(bt_bdaddr_t *remote_dev_addr);
3005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3015738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
3025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Function         btif_storage_is_fixed_pin_zeros_keyboard
3045738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3055738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Description      BTIF storage API - checks if this device has fixed PIN key device list
3065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project** Returns          TRUE   if the device is found in the fixed pin keyboard device list
3085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**                  FALSE otherwise
3095738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project**
3105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*******************************************************************************/
3115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source ProjectBOOLEAN btif_storage_is_fixed_pin_zeros_keyboard(bt_bdaddr_t *remote_dev_addr);
3125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BTIF_STORAGE_H */
314