87typedef UINT8 tMCA_CCB_STATE;
92 MCA_CCB_API_CONNECT_EVT,
93 MCA_CCB_API_DISCONNECT_EVT,
100 MCA_CCB_LL_CLOSE_EVT,
127typedef UINT8 tMCA_DCB_STATE;
132 MCA_DCB_API_CLOSE_EVT,
133 MCA_DCB_API_WRITE_EVT,
135 MCA_DCB_TC_CLOSE_EVT,
144#define MCA_TC_ST_UNUSED 0
145#define MCA_TC_ST_IDLE 1
146#define MCA_TC_ST_ACP 2
147#define MCA_TC_ST_INT 3
148#define MCA_TC_ST_CONN 4
149#define MCA_TC_ST_CFG 5
150#define MCA_TC_ST_OPEN 6
151#define MCA_TC_ST_SEC_INT 7
152#define MCA_TC_ST_SEC_ACP 8
155#define MCA_L2C_CFG_IND_DONE (1<<0)
156#define MCA_L2C_CFG_CFM_DONE (1<<1)
157#define MCA_L2C_CFG_CONN_INT (1<<2)
158#define MCA_L2C_CFG_CONN_ACP (1<<3)
159#define MCA_L2C_CFG_DISCN_INT (1<<4)
160#define MCA_L2C_CFG_DISCN_ACP (1<<5)
163#define MCA_CTRL_TCID 0
180 UINT8 lcid_tbl[MAX_L2CAP_CHANNELS];
187 tMCA_CTRL_CBACK *p_cback;
193 MCA_CCB_STAT_PENDING,
197typedef UINT8 tMCA_CCB_STAT;
207 TIMER_LIST_ENT timer_entry;
217 tMCA_CCB_STAT status;
227typedef UINT8 tMCA_DCB_STAT;
249 tMCA_DCB_STAT status;
265extern tMCA_CCB *mca_ccb_by_bd(tMCA_HANDLE handle, BD_ADDR bd_addr);
266extern tMCA_CCB *mca_ccb_alloc(tMCA_HANDLE handle, BD_ADDR bd_addr);
269extern tMCA_CL mca_ccb_to_hdl(
tMCA_CCB *p_ccb);
270extern tMCA_CCB *mca_ccb_by_hdl(tMCA_CL mcl);
271extern BOOLEAN mca_ccb_uses_mdl_id(
tMCA_CCB *p_ccb, UINT16 mdl_id);
274extern void mca_ccb_report_event(
tMCA_CCB *p_ccb, UINT8 event,
tMCA_CTRL *p_data);
288extern UINT8 mca_dep_free_mdl(
tMCA_CCB*p_ccb, tMCA_DEP dep);
290extern tMCA_DL mca_dcb_to_hdl(
tMCA_DCB *p_dcb);
291extern tMCA_DCB *mca_dcb_by_hdl(tMCA_DL hdl);
292extern void mca_dcb_close_by_mdl_id(
tMCA_CCB*p_ccb, UINT16 mdl_id);
304extern tMCA_HANDLE mca_handle_by_cpsm(UINT16 psm);
305extern tMCA_HANDLE mca_handle_by_dpsm(UINT16 psm);
308extern tMCA_TC_TBL * mca_tc_tbl_by_lcid(UINT16 lcid);
309extern void mca_free_tc_tbl_by_lcid(UINT16 lcid);
311extern void mca_tc_close_ind(
tMCA_TC_TBL *p_tbl, UINT16 reason);
313extern void mca_tc_cong_ind(
tMCA_TC_TBL *p_tbl, BOOLEAN is_congested);
316extern void mca_rcb_dealloc(tMCA_HANDLE handle);
317extern tMCA_HANDLE mca_rcb_to_handle(
tMCA_RCB *p_rcb);
318extern tMCA_RCB *mca_rcb_by_handle(tMCA_HANDLE handle);
319extern BOOLEAN mca_is_valid_dep_id(
tMCA_RCB *p_rcb, tMCA_DEP dep);
320extern void mca_free_buf(
void **p_buf);
321extern void mca_process_timeout(TIMER_LIST_ENT *p_tle);
322extern void mca_stop_timer(
tMCA_CCB *p_ccb);
325extern void mca_l2c_cconn_ind_cback(BD_ADDR bd_addr, UINT16 lcid, UINT16 psm, UINT8
id);
326extern void mca_l2c_dconn_ind_cback(BD_ADDR bd_addr, UINT16 lcid, UINT16 psm, UINT8
id);
327extern UINT16 mca_l2c_open_req(BD_ADDR bd_addr, UINT16 PSM,
const tMCA_CHNL_CFG *p_chnl_cfg);
340#if MCA_DYNAMIC_MEMORY == FALSE
343MCA_API
extern tMCA_CB *mca_cb_ptr;
344#define mca_cb (*mca_cb_ptr)
350extern const UINT8 mca_std_msg_len[];