You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
394 lines
14 KiB
394 lines
14 KiB
/******************************************************************************
|
|
*
|
|
* Copyright 2009-2012 Broadcom Corporation
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at:
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*
|
|
******************************************************************************/
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Filename: btif_api.h
|
|
*
|
|
* Description: Main API header file for all BTIF functions accessed
|
|
* from main bluetooth HAL. All HAL extensions will not
|
|
* require headerfiles as they would be accessed through
|
|
* callout/callins.
|
|
*
|
|
******************************************************************************/
|
|
|
|
#ifndef BTIF_API_H
|
|
#define BTIF_API_H
|
|
|
|
#include <hardware/bluetooth.h>
|
|
|
|
#include "btif_common.h"
|
|
#include "btif_dm.h"
|
|
|
|
/*******************************************************************************
|
|
* BTIF CORE API
|
|
******************************************************************************/
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_init_bluetooth
|
|
*
|
|
* Description Creates BTIF task and prepares BT scheduler for startup
|
|
*
|
|
* Returns bt_status_t
|
|
*
|
|
******************************************************************************/
|
|
bt_status_t btif_init_bluetooth(void);
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_enable_bluetooth
|
|
*
|
|
* Description Performs chip power on and kickstarts OS scheduler
|
|
*
|
|
* Returns bt_status_t
|
|
*
|
|
******************************************************************************/
|
|
bt_status_t btif_enable_bluetooth(void);
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_cleanup_bluetooth
|
|
*
|
|
* Description Cleanup BTIF state.
|
|
*
|
|
*
|
|
* Returns void
|
|
*
|
|
******************************************************************************/
|
|
bt_status_t btif_cleanup_bluetooth(void);
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function is_restricted_mode
|
|
*
|
|
* Description Checks if BT was enabled in restriced mode. In restricted
|
|
* mode, bonds that are created are marked as temporary.
|
|
* These bonds persist until we leave restricted mode, at
|
|
* which point they will be deleted from the config. Also
|
|
* while in restricted mode, the user can access devices
|
|
* that are already paired before entering restricted mode,
|
|
* but they cannot remove any of these devices.
|
|
*
|
|
* Returns bool
|
|
*
|
|
******************************************************************************/
|
|
bool is_restricted_mode(void);
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function is_common_criteria_mode
|
|
*
|
|
* Description Check if BT is enabled in common criteria mode. In this
|
|
* mode, will use the LTK from the keystore to authenticate.
|
|
*
|
|
* Returns bool
|
|
*
|
|
******************************************************************************/
|
|
bool is_common_criteria_mode(void);
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function get_common_criteria_config_compare_result
|
|
*
|
|
* Description Get the common criteria config compare result for confirming
|
|
* the config checksum compare result. When the common criteria
|
|
* mode doesn't enable, it should be all pass (0b11).
|
|
* Bit define:
|
|
* CONFIG_FILE_COMPARE_PASS = 0b01
|
|
* CONFIG_BACKUP_COMPARE_PASS = 0b10
|
|
*
|
|
* Returns int
|
|
*
|
|
******************************************************************************/
|
|
int get_common_criteria_config_compare_result(void);
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function is_atv_device
|
|
*
|
|
* Description Returns true if the local device is an Android TV
|
|
* device, false if it is not.
|
|
*
|
|
* Returns bool
|
|
*
|
|
******************************************************************************/
|
|
bool is_atv_device(void);
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_get_adapter_properties
|
|
*
|
|
* Description Fetches all local adapter properties
|
|
*
|
|
******************************************************************************/
|
|
void btif_get_adapter_properties(void);
|
|
|
|
bt_property_t* property_deep_copy(const bt_property_t* prop);
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_get_adapter_property
|
|
*
|
|
* Description Fetches property value from local cache
|
|
*
|
|
******************************************************************************/
|
|
void btif_get_adapter_property(bt_property_type_t type);
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_set_adapter_property
|
|
*
|
|
* Description Updates core stack with property value and stores it in
|
|
* local cache
|
|
*
|
|
******************************************************************************/
|
|
void btif_set_adapter_property(bt_property_t* property);
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_get_remote_device_property
|
|
*
|
|
* Description Fetches the remote device property from the NVRAM
|
|
*
|
|
******************************************************************************/
|
|
void btif_get_remote_device_property(RawAddress remote_addr,
|
|
bt_property_type_t type);
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_get_remote_device_properties
|
|
*
|
|
* Description Fetches all the remote device properties from NVRAM
|
|
*
|
|
******************************************************************************/
|
|
void btif_get_remote_device_properties(RawAddress remote_addr);
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_set_remote_device_property
|
|
*
|
|
* Description Writes the remote device property to NVRAM.
|
|
* Currently, BT_PROPERTY_REMOTE_FRIENDLY_NAME is the only
|
|
* remote device property that can be set
|
|
*
|
|
******************************************************************************/
|
|
void btif_set_remote_device_property(RawAddress* remote_addr,
|
|
bt_property_t* property);
|
|
|
|
/*******************************************************************************
|
|
* BTIF DM API
|
|
******************************************************************************/
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_dm_start_discovery
|
|
*
|
|
* Description Start device discovery/inquiry
|
|
*
|
|
******************************************************************************/
|
|
void btif_dm_start_discovery(void);
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_dm_cancel_discovery
|
|
*
|
|
* Description Cancels search
|
|
*
|
|
******************************************************************************/
|
|
void btif_dm_cancel_discovery(void);
|
|
|
|
bool btif_dm_pairing_is_busy();
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_dm_create_bond
|
|
*
|
|
* Description Initiate bonding with the specified device
|
|
*
|
|
******************************************************************************/
|
|
void btif_dm_create_bond(const RawAddress bd_addr, int transport);
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_dm_create_bond_out_of_band
|
|
*
|
|
* Description Initiate bonding with the specified device using OOB data.
|
|
*
|
|
******************************************************************************/
|
|
void btif_dm_create_bond_out_of_band(const RawAddress bd_addr,
|
|
tBT_TRANSPORT transport,
|
|
const bt_oob_data_t p192_data,
|
|
const bt_oob_data_t p256_data);
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_dm_cancel_bond
|
|
*
|
|
* Description Initiate bonding with the specified device
|
|
*
|
|
******************************************************************************/
|
|
void btif_dm_cancel_bond(const RawAddress bd_addr);
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_dm_remove_bond
|
|
*
|
|
* Description Removes bonding with the specified device
|
|
*
|
|
******************************************************************************/
|
|
void btif_dm_remove_bond(const RawAddress bd_addr);
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_dm_get_connection_state
|
|
*
|
|
* Description Returns whether the remote device is currently connected
|
|
*
|
|
* Returns 0 if not connected
|
|
*
|
|
******************************************************************************/
|
|
uint16_t btif_dm_get_connection_state(const RawAddress* bd_addr);
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_dm_pin_reply
|
|
*
|
|
* Description BT legacy pairing - PIN code reply
|
|
*
|
|
******************************************************************************/
|
|
void btif_dm_pin_reply(const RawAddress bd_addr, uint8_t accept,
|
|
uint8_t pin_len, bt_pin_code_t pin_code);
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_dm_passkey_reply
|
|
*
|
|
* Description BT SSP passkey reply
|
|
*
|
|
* Returns bt_status_t
|
|
*
|
|
******************************************************************************/
|
|
bt_status_t btif_dm_passkey_reply(const RawAddress* bd_addr, uint8_t accept,
|
|
uint32_t passkey);
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_dm_ssp_reply
|
|
*
|
|
* Description BT SSP Reply - Just Works, Numeric Comparison & Passkey
|
|
* Entry
|
|
*
|
|
******************************************************************************/
|
|
void btif_dm_ssp_reply(const RawAddress bd_addr, bt_ssp_variant_t variant,
|
|
uint8_t accept);
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_dm_get_adapter_property
|
|
*
|
|
* Description Queries the BTA for the adapter property
|
|
*
|
|
* Returns bt_status_t
|
|
*
|
|
******************************************************************************/
|
|
bt_status_t btif_dm_get_adapter_property(bt_property_t* prop);
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_dm_get_remote_services
|
|
*
|
|
* Description Start SDP to get remote services
|
|
*
|
|
* Returns bt_status_t
|
|
*
|
|
******************************************************************************/
|
|
void btif_dm_get_remote_services(const RawAddress remote_addr, int transport);
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_dut_mode_configure
|
|
*
|
|
* Description Configure Test Mode - 'enable' to 1 puts the device in test
|
|
* mode and 0 exits test mode
|
|
*
|
|
******************************************************************************/
|
|
void btif_dut_mode_configure(uint8_t enable);
|
|
|
|
bool btif_is_dut_mode();
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_dut_mode_send
|
|
*
|
|
* Description Sends a HCI Vendor specific command to the controller
|
|
*
|
|
******************************************************************************/
|
|
void btif_dut_mode_send(uint16_t opcode, uint8_t* buf, uint8_t len);
|
|
|
|
void btif_ble_transmitter_test(uint8_t tx_freq, uint8_t test_data_len,
|
|
uint8_t packet_payload);
|
|
|
|
void btif_ble_receiver_test(uint8_t rx_freq);
|
|
void btif_ble_test_end();
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_dm_read_energy_info
|
|
*
|
|
* Description Reads the energy info from controller
|
|
*
|
|
* Returns void
|
|
*
|
|
******************************************************************************/
|
|
void btif_dm_read_energy_info();
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_config_hci_snoop_log
|
|
*
|
|
* Description enable or disable HCI snoop log
|
|
*
|
|
* Returns BT_STATUS_SUCCESS on success
|
|
*
|
|
******************************************************************************/
|
|
bt_status_t btif_config_hci_snoop_log(uint8_t enable);
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_debug_bond_event_dump
|
|
*
|
|
* Description Dump bond event information
|
|
*
|
|
* Returns void
|
|
*
|
|
******************************************************************************/
|
|
void btif_debug_bond_event_dump(int fd);
|
|
|
|
/*******************************************************************************
|
|
*
|
|
* Function btif_set_dynamic_audio_buffer_size
|
|
*
|
|
* Description Set dynamic audio buffer size
|
|
*
|
|
* Returns BT_STATUS_SUCCESS on success
|
|
*
|
|
******************************************************************************/
|
|
bt_status_t btif_set_dynamic_audio_buffer_size(int codec, int size);
|
|
|
|
#endif /* BTIF_API_H */
|