204 lines
7.3 KiB
C
204 lines
7.3 KiB
C
|
/***************************************************************************
|
||
|
*
|
||
|
* Copyright 2015-2019 BES.
|
||
|
* All rights reserved. All unpublished rights reserved.
|
||
|
*
|
||
|
* No part of this work may be used or reproduced in any form or by any
|
||
|
* means, or stored in a database or retrieval system, without prior written
|
||
|
* permission of BES.
|
||
|
*
|
||
|
* Use of this work is governed by a license granted by BES.
|
||
|
* This work contains confidential and proprietary information of
|
||
|
* BES. which is protected by copyright, trade secret,
|
||
|
* trademark and other intellectual property rights.
|
||
|
*
|
||
|
****************************************************************************/
|
||
|
|
||
|
#ifndef __CONMGR_API_H_
|
||
|
#define __CONMGR_API_H_
|
||
|
|
||
|
#include "me_api.h"
|
||
|
|
||
|
typedef void btif_cmgr_handler_t;
|
||
|
|
||
|
#ifndef BTIF_CMGR_DEFAULT_SNIFF_EXIT_POLICY
|
||
|
#define BTIF_CMGR_DEFAULT_SNIFF_EXIT_POLICY CMGR_SNIFF_EXIT_ON_AUDIO
|
||
|
#endif /* */
|
||
|
|
||
|
#ifndef BTIF_CMGR_DEFAULT_SNIFF_TIMER
|
||
|
#define BTIF_CMGR_DEFAULT_SNIFF_TIMER CMGR_SNIFF_DONT_CARE
|
||
|
#endif /* */
|
||
|
|
||
|
#ifndef BTIF_CMGR_AUDIO_DEFAULT_PARMS
|
||
|
//#define CMGR_AUDIO_DEFAULT_PARMS CMGR_AUDIO_PARMS_S3
|
||
|
#define BTIF_CMGR_AUDIO_DEFAULT_PARMS CMGR_AUDIO_PARMS_S4
|
||
|
#endif /* */
|
||
|
|
||
|
#ifndef BTIF_CMGR_SNIFF_MIN_INTERVAL
|
||
|
#ifdef BISTO_ENABLED
|
||
|
#define BTIF_CMGR_SNIFF_MIN_INTERVAL 160
|
||
|
#else
|
||
|
#define BTIF_CMGR_SNIFF_MIN_INTERVAL 800
|
||
|
#endif
|
||
|
#endif /* */
|
||
|
|
||
|
#ifndef BTIF_CMGR_SNIFF_MAX_INTERVAL
|
||
|
#ifdef BISTO_ENABLED
|
||
|
#define BTIF_CMGR_SNIFF_MAX_INTERVAL 160
|
||
|
#else
|
||
|
#define BTIF_CMGR_SNIFF_MAX_INTERVAL 800
|
||
|
#endif
|
||
|
#endif /* */
|
||
|
|
||
|
#ifndef BTIF_CMGR_SNIFF_ATTEMPT
|
||
|
#define BTIF_CMGR_SNIFF_ATTEMPT 3
|
||
|
#endif /* */
|
||
|
|
||
|
#ifndef BTIF_CMGR_SNIFF_TIMEOUT
|
||
|
#define BTIF_CMGR_SNIFF_TIMEOUT 1
|
||
|
#endif /* */
|
||
|
|
||
|
#define BTIF_CMGR_SNIFF_DISABLED (0xFF)
|
||
|
#define BTIF_CMGR_SNIFF_DONT_CARE (0)
|
||
|
#define BTIF_CMGR_SNIFF_TIMER (10000)
|
||
|
#define BTIF_CMGR_TWS_SNIFF_TIMER (10000)
|
||
|
#define BTIF_CMGR_MOBILE_SNIFF_TIMER (20000)
|
||
|
|
||
|
typedef U8 btif_cmgr_sniff_exit_policy_t;
|
||
|
|
||
|
#define BTIF_CMGR_SNIFF_EXIT_ON_SEND 0x01
|
||
|
|
||
|
#define BTIF_CMGR_SNIFF_EXIT_ON_AUDIO 0x02
|
||
|
|
||
|
/* End of CmgrSniffExitPolicy */
|
||
|
|
||
|
/*---------------------------------------------------------------------------
|
||
|
* cmgr_event_t type
|
||
|
*
|
||
|
* All indications and confirmations are sent through a callback function.
|
||
|
* The profile registers with the Connection Manager at initialization. Calls
|
||
|
* are made to request ACL and SCO resources. The Connection Manager calls
|
||
|
* the profile's callback function to indicate the results of those requests.
|
||
|
*/
|
||
|
typedef uint8_t cmgr_event_t;
|
||
|
|
||
|
#define BTIF_CMEVENT_DATA_LINK_CON_CNF 1
|
||
|
|
||
|
#define BTIF_CMEVENT_DATA_LINK_CON_IND 2
|
||
|
|
||
|
#define BTIF_CMEVENT_DATA_LINK_DIS 3
|
||
|
|
||
|
#define BTIF_CMEVENT_AUDIO_LINK_REQ 4
|
||
|
|
||
|
#define BTIF_CMEVENT_AUDIO_LINK_CON 5
|
||
|
|
||
|
#define BTIF_CMEVENT_AUDIO_LINK_DIS 6
|
||
|
|
||
|
#define BTIF_CMEVENT_AUDIO_DATA 7
|
||
|
|
||
|
#define BTIF_CMEVENT_AUDIO_DATA_SENT 8
|
||
|
|
||
|
#define BTIF_CMEVENT_ENTER_SNIFF_MODE 9
|
||
|
|
||
|
#define BTIF_CMEVENT_EXIT_SNIFF_PARK_MODE 10
|
||
|
|
||
|
/* End of cmgr_event_t */
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif /* */
|
||
|
|
||
|
btif_cmgr_handler_t *btif_cmgr_get_first_handler(btif_remote_device_t * remDev);
|
||
|
|
||
|
bt_status_t btif_cmgr_set_sniff_exit_policy(btif_cmgr_handler_t * cmgr_handler,
|
||
|
btif_cmgr_sniff_exit_policy_t Policy);
|
||
|
|
||
|
bt_status_t btif_cmgr_set_sniff_timer(btif_cmgr_handler_t * cmgr_handler,
|
||
|
btif_sniff_info_t * SniffInfo, TimeT Time);
|
||
|
|
||
|
uint32_t btif_cmgr_get_cmgrhandler_sniff_timeout(btif_cmgr_handler_t * cmgr_handler);
|
||
|
|
||
|
uint16_t btif_cmgr_get_cmgrhandler_sniff_Interval(btif_cmgr_handler_t * cmgr_handler);
|
||
|
|
||
|
btif_sniff_info_t*btif_cmgr_get_cmgrhandler_sniff_info(btif_cmgr_handler_t *cmgr_handler);
|
||
|
|
||
|
btif_remote_device_t *btif_cmgr_get_cmgrhandler_remdev(btif_cmgr_handler_t *cmgr_handler);
|
||
|
|
||
|
uint16_t btif_cmgr_get_cmgrhandler_remdev_hci_handle(btif_cmgr_handler_t * cmgr_handler);
|
||
|
|
||
|
btif_handler *btif_cmgr_get_cmgrhandler_remdev_bthandle(btif_cmgr_handler_t *cmgr_handler);
|
||
|
|
||
|
bt_status_t btif_cmgr_set_sniff_info_to_all_handler_by_remdev(btif_sniff_info_t * SniffInfo,
|
||
|
btif_remote_device_t * remDev);
|
||
|
|
||
|
bt_status_t btif_cmgr_set_sniff_timeout_handler_ext(void (*ext_fn)(evm_timer_t * timer,
|
||
|
BOOL * skipInternalHandler));
|
||
|
|
||
|
bt_status_t btif_cmgr_init_sniff_timer(btif_remote_device_t *remDev);
|
||
|
|
||
|
bt_status_t btif_cmgr_deinit_sniff_timer(btif_remote_device_t *remDev);
|
||
|
|
||
|
bt_status_t btif_cmgr_clear_sniff_timer(btif_cmgr_handler_t * Handler);
|
||
|
|
||
|
bt_status_t btif_cmgr_disable_sniff_timer(btif_cmgr_handler_t * Handler);
|
||
|
|
||
|
btif_link_type_t btif_cmgr_get_sco_connect_sco_link_type(btif_cmgr_handler_t * cmgr_handler);
|
||
|
|
||
|
uint16_t btif_cmgr_get_sco_connect_sco_Hcihandler(btif_cmgr_handler_t * cmgr_handler);
|
||
|
|
||
|
uint8_t btif_cmgr_get_sco_connect_sco_rx_parms_sco_transmission_interval(btif_cmgr_handler_t *
|
||
|
cmgr_handler);
|
||
|
|
||
|
uint8_t btif_cmgr_get_sco_connect_sco_rx_parms_sco_retransmission_window(btif_cmgr_handler_t *
|
||
|
cmgr_handler);
|
||
|
|
||
|
uint8_t btif_cmgr_set_sco_connect_sco_rx_parms_sco_transmission_interval(
|
||
|
btif_cmgr_handler_t * cmgr_handler,
|
||
|
uint8_t interval);
|
||
|
|
||
|
uint8_t btif_cmgr_set_sco_connect_sco_rx_parms_sco_retransmission_window(
|
||
|
btif_cmgr_handler_t *cmgr_handler,
|
||
|
uint8_t window);
|
||
|
|
||
|
bt_status_t btif_cmgr_remove_audio_link(btif_cmgr_handler_t * cmgr_handler);
|
||
|
|
||
|
bool btif_cmgr_is_audio_up(btif_cmgr_handler_t *Handler);
|
||
|
|
||
|
bt_status_t btif_cmgr_set_master_role(btif_cmgr_handler_t *cmgr_handler, BOOL flag);
|
||
|
|
||
|
void btif_evm_start_timer(evm_timer_t *timer, TimeT ms);
|
||
|
|
||
|
void *btif_cmgr_get_default_conn_handler(void);
|
||
|
|
||
|
void *btif_cmgr_handler_create(void);
|
||
|
|
||
|
void btif_cmgr_handler_init(void);
|
||
|
|
||
|
bt_status_t btif_cmgr_register_handler(btif_cmgr_handler_t *cmgr_handler,
|
||
|
btif_cmgr_callback callback);
|
||
|
|
||
|
bt_status_t btif_cmgr_create_data_link(btif_cmgr_handler_t *cmgr_handler,
|
||
|
bt_bdaddr_t *bd_addr);
|
||
|
|
||
|
bt_status_t btif_cmgr_remove_data_link(btif_cmgr_handler_t *cmgr_handler);
|
||
|
|
||
|
btif_cmgr_handler_t *btif_cmgr_get_acl_handler(btif_remote_device_t *remDev);
|
||
|
|
||
|
btif_cmgr_handler_t * btif_cmgr_get_conn_ind_handler(btif_remote_device_t *remDev);
|
||
|
|
||
|
bool btif_cmgr_is_link_up(btif_cmgr_handler_t *cmgr_handler);
|
||
|
btif_remote_device_t *btif_cmgr_pts_get_remDev(btif_cmgr_handler_t *cmgr_handler);
|
||
|
|
||
|
#if defined(IBRT)
|
||
|
uint32_t btif_save_cmgr_cxt(uint8_t * ctx_buffer);
|
||
|
uint32_t btif_set_cmgr_cxt(uint8_t * ctx_buffer, uint8_t bt_devices_idx,uint8_t rm_devtbl_idx);
|
||
|
uint32_t btif_save_avrcp_ctx(uint8_t * ctx_buffer);
|
||
|
uint32_t btif_set_avrcp_ctx(uint8_t * ctx_buffer, uint8_t bt_devices_idx,uint8_t rm_devtbl_idx, uint8_t avd_ctx_device_idx);
|
||
|
#endif
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif /* */
|
||
|
#endif /* */
|
||
|
|