/*
* $ Copyright Cypress Semiconductor $
*/
/** @file
*
* Bluetooth Management (BTM) Application Programming Interface
*
* The BTM consists of several management entities:
* 1. Device Control - controls the local device
* 2. Device Discovery - manages inquiries, discover database
* 3. ACL Channels - manages ACL connections (BR/EDR and LE)
* 4. SCO Channels - manages SCO connections
* 5. Security - manages all security functionality
* 6. Power Management - manages park, sniff, hold, etc.
*
* WICED Bluetooth Framework Functions
*/
#pragma once
#include "wiced_bt_cfg.h"
/******************************************************
* Function Declarations
******************************************************/
#ifdef __cplusplus
extern "C" {
#endif
/****************************************************************************/
/**
*
* @ingroup wiced_bt_cfg
*
* @{
*/
/****************************************************************************/
/**
*
* Initialize the Bluetooth controller and stack; register
* callback for Bluetooth event notification.
*
* @param[in] p_bt_management_cback : Callback for receiving Bluetooth management events
* @param[in] p_bt_cfg_settings : Bluetooth stack configuration #wiced_bt_cfg_settings_t
*
* @return WICED_BT_SUCCESS : on success; \n
* WICED_BT_FAILED : if an error occurred
* @note This API must be called before using any BT functionality. \n
* If p_bt_cfg_settings is null, stack uses default parameters defined in wiced_bt_cfg.h \n
* However, it is strongly recommended that applications define the configuration to appropriate values based on the application use case.
*/
wiced_result_t wiced_bt_stack_init(wiced_bt_management_cback_t *p_bt_management_cback,
const wiced_bt_cfg_settings_t *p_bt_cfg_settings);
/**
* This is a blocking call (returns after all de-initialisation procedures are complete)
* It is recommended that the application disconnect any outstanding connections prior to invoking this function.
*
* @return WICED_BT_SUCCESS : on success; \n
* WICED_BT_ERROR : if an error occurred
*/
wiced_result_t wiced_bt_stack_deinit( void );
/**@} wicedbt_Framework */
#ifdef __cplusplus
}
#endif