48typedef BOOLEAN (tBTA_SYS_EVT_HDLR)(
BT_HDR *p_msg);
51typedef void (tBTA_SYS_DISABLE)(void);
65 BTA_SYS_MAX_HW_MODULES
68typedef UINT16 tBTA_SYS_HW_MODULE;
70#ifndef BTA_DM_NUM_JV_ID
71#define BTA_DM_NUM_JV_ID 2
78#define BTA_ID_DM_SEARCH 2
79#define BTA_ID_DM_SEC 3
110#define BTA_ID_GATTC 31
111#define BTA_ID_GATTS 32
112#define BTA_ID_BLUETOOTH_MAX 33
117#define BTA_ID_FMTX 35
127#define BTA_ID_SYSTEM 39
128#define BTA_ID_SWRAP 40
137#define BTA_ID_MAX (43 + BTA_DM_NUM_JV_ID)
141#define BTA_ID_BLUETOOTH_MAX 26
146typedef UINT8 tBTA_SYS_ID;
149#define BTA_SYS_CONN_OPEN 0x00
150#define BTA_SYS_CONN_CLOSE 0x01
151#define BTA_SYS_APP_OPEN 0x02
152#define BTA_SYS_APP_CLOSE 0x03
153#define BTA_SYS_SCO_OPEN 0x04
154#define BTA_SYS_SCO_CLOSE 0x05
155#define BTA_SYS_CONN_IDLE 0x06
156#define BTA_SYS_CONN_BUSY 0x07
159#define BTA_SYS_PLCY_SET 0x10
160#define BTA_SYS_PLCY_CLR 0x11
161#define BTA_SYS_PLCY_DEF_SET 0x12
162#define BTA_SYS_PLCY_DEF_CLR 0x13
163#define BTA_SYS_ROLE_CHANGE 0x14
165typedef UINT8 tBTA_SYS_CONN_STATUS;
168#define BTA_SYS_FEAT_PCM2 0x0001
169#define BTA_SYS_FEAT_PCM2_MASTER 0x0002
172typedef UINT8 tBTA_SYS_PREF_ROLES;
175typedef void (tBTA_SYS_CONN_CBACK)(tBTA_SYS_CONN_STATUS status,UINT8 id, UINT8 app_id, BD_ADDR peer_addr);
178typedef void (tBTA_SYS_SSR_CFG_CBACK)(UINT8 id, UINT8 app_id, UINT16 latency, UINT16 tout);
180#if ( BTM_EIR_SERVER_INCLUDED == TRUE )&&(BTA_EIR_CANNED_UUID_LIST != TRUE)
182typedef void (tBTA_SYS_EIR_CBACK)(UINT16 uuid16, BOOLEAN adding);
188 tBTA_SYS_EVT_HDLR *evt_hdlr;
189 tBTA_SYS_DISABLE *disable;
205 tBTA_SYS_HW_MODULE hw_module;
215extern UINT8 appl_trace_level;
222#define BTA_SYS_EVT_START(id) ((id) << 8)
232 BTA_SYS_API_ENABLE_EVT = BTA_SYS_EVT_START(BTA_ID_SYS),
233 BTA_SYS_EVT_ENABLED_EVT,
234 BTA_SYS_EVT_STACK_ENABLED_EVT,
235 BTA_SYS_API_DISABLE_EVT,
236 BTA_SYS_EVT_DISABLED_EVT,
249 BTA_SYS_HW_STARTING_EVT,
250 BTA_SYS_HW_STOPPING_EVT,
254typedef UINT8 tBTA_SYS_HW_EVT;
257typedef void (tBTA_SYS_HW_CBACK)(tBTA_SYS_HW_EVT status);
267BTA_API
extern void bta_sys_init(
void);
268BTA_API
extern void bta_sys_event(
BT_HDR *p_msg);
269BTA_API
extern void bta_sys_timer_update(
void);
270BTA_API
extern void bta_sys_disable_timers(
void);
271BTA_API
extern void bta_sys_set_trace_level(UINT8 level);
272extern void bta_sys_register(UINT8
id,
const tBTA_SYS_REG *p_reg);
273extern void bta_sys_deregister(UINT8
id);
274extern BOOLEAN bta_sys_is_register(UINT8
id);
275extern UINT16 bta_sys_get_sys_features(
void);
276extern void bta_sys_sendmsg(
void *p_msg);
277extern void bta_sys_start_timer(TIMER_LIST_ENT *p_tle, UINT16 type, INT32 timeout);
278extern void bta_sys_stop_timer(TIMER_LIST_ENT *p_tle);
279extern void bta_sys_disable(tBTA_SYS_HW_MODULE module);
281extern void bta_sys_hw_register( tBTA_SYS_HW_MODULE module, tBTA_SYS_HW_CBACK *cback);
282extern void bta_sys_hw_unregister( tBTA_SYS_HW_MODULE module );
285extern void bta_sys_rm_register(tBTA_SYS_CONN_CBACK * p_cback);
286extern void bta_sys_compress_register(tBTA_SYS_CONN_CBACK * p_cback);
287extern void bta_sys_pm_register(tBTA_SYS_CONN_CBACK * p_cback);
289extern void bta_sys_policy_register(tBTA_SYS_CONN_CBACK * p_cback);
290extern void bta_sys_sco_register(tBTA_SYS_CONN_CBACK * p_cback);
293extern void bta_sys_conn_open(UINT8
id, UINT8 app_id, BD_ADDR peer_addr);
294extern void bta_sys_conn_close(UINT8
id, UINT8 app_id, BD_ADDR peer_addr);
295extern void bta_sys_app_open(UINT8
id, UINT8 app_id, BD_ADDR peer_addr);
296extern void bta_sys_app_close(UINT8
id, UINT8 app_id, BD_ADDR peer_addr);
297extern void bta_sys_sco_open(UINT8
id, UINT8 app_id, BD_ADDR peer_addr);
298extern void bta_sys_sco_close(UINT8
id, UINT8 app_id, BD_ADDR peer_addr);
299extern void bta_sys_sco_use(UINT8
id, UINT8 app_id, BD_ADDR peer_addr);
300extern void bta_sys_sco_unuse(UINT8
id, UINT8 app_id, BD_ADDR peer_addr);
301extern void bta_sys_idle(UINT8
id, UINT8 app_id, BD_ADDR peer_addr);
302extern void bta_sys_busy(UINT8
id, UINT8 app_id, BD_ADDR peer_addr);
304#if (BTM_SSR_INCLUDED == TRUE)
305extern void bta_sys_ssr_cfg_register(tBTA_SYS_SSR_CFG_CBACK * p_cback);
306extern void bta_sys_chg_ssr_config (UINT8
id, UINT8 app_id, UINT16 max_latency, UINT16 min_tout);
309extern void bta_sys_role_chg_register(tBTA_SYS_CONN_CBACK * p_cback);
310extern void bta_sys_notify_role_chg(BD_ADDR_PTR p_bda, UINT8 new_role, UINT8 hci_status);
311extern void bta_sys_collision_register(UINT8 bta_id, tBTA_SYS_CONN_CBACK *p_cback);
312extern void bta_sys_notify_collision (BD_ADDR_PTR p_bda);
314#if ( BTM_EIR_SERVER_INCLUDED == TRUE )&&(BTA_EIR_CANNED_UUID_LIST != TRUE)
315extern void bta_sys_eir_register(tBTA_SYS_EIR_CBACK * p_cback);
316extern void bta_sys_add_uuid(UINT16 uuid16);
317extern void bta_sys_remove_uuid(UINT16 uuid16);
319#define bta_sys_eir_register(ut)
320#define bta_sys_add_uuid(ut)
321#define bta_sys_remove_uuid(ut)
324extern void bta_sys_set_policy (UINT8
id, UINT8 policy, BD_ADDR peer_addr);
325extern void bta_sys_clear_policy (UINT8
id, UINT8 policy, BD_ADDR peer_addr);
326extern void bta_sys_set_default_policy (UINT8
id, UINT8 policy);
327extern void bta_sys_clear_default_policy (UINT8
id, UINT8 policy);