Home | History | Annotate | Download | only in hh

Lines Matching full:p_cb

190     tBTA_HH_DEV_CB     *p_cb = bta_hh_cb.p_cur;
195 if ((result == SDP_SUCCESS) && (p_cb != NULL))
198 if (p_cb->sec_mask)
202 APPL_TRACE_EVENT4("bta_hh_sdp_cback: p_cb: %d result 0x%02x, \
204 p_cb, result, attr_mask,p_cb->hid_handle);
208 if (bta_hh_tod_spt(p_cb, sdp_rec->sub_class))
211 if (p_cb->hid_handle == BTA_HH_INVALID_HANDLE)
214 if(HID_HostAddDev (p_cb->addr, attr_mask, &hdl) == HID_SUCCESS)
218 bta_hh_cb.cb_index[hdl] = p_cb->index;
222 p_cb->app_id = 0;
227 if (p_cb->app_id != 0)
230 bta_hh_add_device_to_list(p_cb, hdl, attr_mask,
235 p_cb->app_id);
237 p_cb->dscp_info.ctry_code = sdp_rec->ctry_code;
251 bta_hh_sm_execute(p_cb, BTA_HH_SDP_CMPL_EVT, (tBTA_HH_DATA *)&status);
266 tBTA_HH_DEV_CB *p_cb = bta_hh_cb.p_cur;
271 APPL_TRACE_EVENT2("bta_hh_di_sdp_cback: p_cb: %d result 0x%02x", p_cb, result);
278 if (((result == SDP_SUCCESS) || (result == SDP_NO_RECS_MATCH)) && (p_cb != NULL))
285 bta_hh_update_di_info(p_cb, di_rec.rec.vendor, di_rec.rec.product, di_rec.rec.version, 0);
291 bta_hh_update_di_info(p_cb, BTA_HH_VENDOR_ID_INVALID, 0, 0, 0);
294 if ((ret = HID_HostGetSDPRecord(p_cb->addr,
315 bta_hh_sm_execute(p_cb, BTA_HH_SDP_CMPL_EVT, (tBTA_HH_DATA *)&status);
334 void bta_hh_start_sdp(tBTA_HH_DEV_CB *p_cb, tBTA_HH_DATA *p_data)
339 p_cb->sec_mask = p_data->api_conn.sec_mask;
340 p_cb->mode = p_data->api_conn.mode;
341 bta_hh_cb.p_cur = p_cb;
344 if (bta_hh_is_le_device(p_cb, p_data->api_conn.bd_addr))
346 bta_hh_le_open_conn(p_cb, p_data->api_conn.bd_addr);
352 if (p_cb->app_id)
358 if (p_cb->hid_handle == BTA_HH_INVALID_HANDLE)
360 if (HID_HostAddDev (p_cb->addr, p_cb->attr_mask, &hdl) \
364 bta_hh_add_device_to_list(p_cb, hdl, p_cb->attr_mask, NULL,
365 p_cb->sub_class,
366 p_cb->dscp_info.ssr_max_latency,
367 p_cb->dscp_info.ssr_min_tout,
368 p_cb->app_id);
370 bta_hh_cb.cb_index[hdl] = p_cb->index;
375 bta_hh_sm_execute(p_cb, BTA_HH_SDP_CMPL_EVT, (tBTA_HH_DATA *)&status);
390 bta_hh_cb.p_cur = p_cb;
410 bta_hh_sm_execute(p_cb, BTA_HH_SDP_CMPL_EVT, (tBTA_HH_DATA *)&status);
426 void bta_hh_sdp_cmpl(tBTA_HH_DEV_CB *p_cb, tBTA_HH_DATA *p_data)
437 conn_dat.handle = p_cb->hid_handle;
438 bdcpy(conn_dat.bda, p_cb->addr);
444 if (!p_cb->incoming_conn)
448 HID_HostSetSecurityLevel("", p_cb->sec_mask);
451 if ((ret = HID_HostOpenDev (p_cb->hid_handle)) != HID_SUCCESS)
458 HID_HostRemoveDev( p_cb->hid_handle);
468 bta_hh_sm_execute(p_cb, BTA_HH_OPEN_CMPL_EVT, NULL);
479 (p_cb->incoming_conn) &&(p_cb->app_id == 0))
482 p_cb->incoming_hid_handle);
483 HID_HostRemoveDev( p_cb->incoming_hid_handle);
489 bta_hh_sm_execute(p_cb, BTA_HH_API_CLOSE_EVT, NULL);
492 if (p_cb->app_id == 0 && !p_cb
495 bta_hh_clean_up_kdev(p_cb);
514 void bta_hh_api_disc_act(tBTA_HH_DEV_CB *p_cb, tBTA_HH_DATA *p_data)
520 if (p_cb->is_le_device)
521 bta_hh_le_api_disc_act(p_cb);
526 disc_dat.handle = p_data ?(UINT8)p_data->hdr.layer_specific :p_cb->hid_handle;
548 void bta_hh_open_cmpl_act(tBTA_HH_DEV_CB *p_cb, tBTA_HH_DATA *p_data)
552 p_cb->hid_handle;
556 bdcpy(conn.bda, p_cb->addr);
562 bta_hh_co_open(p_cb->hid_handle, p_cb->sub_class,
563 p_cb->attr_mask, p_cb->app_id);
566 conn.status = p_cb->status;
567 conn.le_hid = p_cb->is_le_device;
568 conn.scps_supported = p_cb->scps_supported;
570 if (!p_cb->is_le_device)
574 bta_sys_conn_open( BTA_ID_HH ,p_cb->app_id, p_cb->addr);
577 if ( p_cb->mode != BTA_HH_PROTO_RPT_MODE
579 && !p_cb->is_le_device
595 p_cb->w4_evt = BTA_HH_OPEN_EVT;
601 p_cb->incoming_conn = FALSE;
602 p_cb->incoming_hid_handle = BTA_HH_INVALID_HANDLE;
615 void bta_hh_open_act(tBTA_HH_DEV_CB *p_cb, tBTA_HH_DATA *p_data)
620 p_cb->hid_handle;
627 if (p_cb->app_id != 0)
629 bta_hh_sm_execute(p_cb, BTA_HH_OPEN_CMPL_EVT, p_data);
635 p_cb->incoming_conn = TRUE;
637 p_cb->incoming_hid_handle = dev_handle;
640 bdcpy(conn_data.bd_addr, p_cb->addr);
641 bta_hh_start_sdp(p_cb, (tBTA_HH_DATA *)&conn_data);
658 void bta_hh_data_act(tBTA_HH_DEV_CB *p_cb, tBTA_HH_DATA * p_data)
664 p_cb->mode, p_cb->sub_class, p_cb->dscp_info.ctry_code, p_cb->addr, p_cb->app_id);
680 void bta_hh_handsk_act(tBTA_HH_DEV_CB *p_cb, tBTA_HH_DATA * p_data)
688 bta_hh_get_w4_event(p_cb->w4_evt), p_data->hid_cback.data);
694 switch (p_cb->w4_evt)
702 hs_data.handle = p_cb->hid_handle;
707 (* bta_hh_cb.p_cback)(p_cb->w4_evt, (tBTA_HH *)&hs_data);
708 p_cb->w4_evt = 0;
715 cback_data.handle = p_cb->hid_handle;
717 (* bta_hh_cb.p_cback)(p_cb->w4_evt, (tBTA_HH *)&cback_data);
718 p_cb->w4_evt = 0;
724 conn.handle = p_cb->hid_handle;
725 bdcpy(conn.bda, p_cb->addr);
726 (* bta_hh_cb.p_cback)(p_cb->w4_evt, (tBTA_HH *)&conn);
730 p_cb->w4_evt = 0;
740 bta_sys_idle(BTA_ID_HH, p_cb->app_id, p_cb->addr);
753 void bta_hh_ctrl_dat_act(tBTA_HH_DEV_CB *p_cb, tBTA_HH_DATA * p_data)
761 bta_hh_get_w4_event(p_cb->w4_evt));
764 hs_data.handle = p_cb->hid_handle;
766 switch (p_cb->w4_evt)
793 bta_hh_get_w4_event(p_cb->w4_evt));
799 bta_sys_busy(BTA_ID_HH, p_cb->app_id, p_cb->addr);
800 bta_sys_idle(BTA_ID_HH, p_cb->app_id, p_cb->addr);
802 (* bta_hh_cb.p_cback)(p_cb->w4_evt, (tBTA_HH *)&hs_data);
804 p_cb->w4_evt = 0;
820 void bta_hh_open_failure(tBTA_HH_DEV_CB *p_cb, tBTA_HH_DATA *p_data)
826 conn_dat.handle = p_cb->hid_handle;
829 bdcpy(conn_dat.bda, p_cb->addr);
830 HID_HostCloseDev(p_cb->hid_handle);
839 p_cb->vp = FALSE;
840 p_cb->w4_evt = 0;
860 void bta_hh_close_act (tBTA_HH_DEV_CB *p_cb, tBTA_HH_DATA *p_data)
867 UINT16 event = p_cb->vp ? BTA_HH_VC_UNPLUG_EVT : BTA_HH_CLOSE_EVT;
869 disc_dat.handle = p_cb->hid_handle;
878 conn_dat.handle = p_cb->hid_handle;
880 bdcpy(conn_dat.bda, p_cb->addr);
881 HID_HostCloseDev(p_cb->hid_handle);
895 bta_hh_co_close(p_cb->hid_handle, p_cb->app_id);
897 bta_sys_conn_close( BTA_ID_HH ,p_cb->app_id, p_cb->addr);
907 if (p_cb->vp )
909 HID_HostRemoveDev( p_cb->hid_handle);
910 bta_hh_clean_up_kdev(p_cb);
919 p_cb->vp = FALSE;
920 p_cb->w4_evt = 0;
941 void bta_hh_get_dscp_act(tBTA_HH_DEV_CB *p_cb, tBTA_HH_DATA *p_data)
944 if (p_cb->is_le_device)
946 bta_hh_le_get_dscp_act(p_cb);
950 (*bta_hh_cb.p_cback)(BTA_HH_GET_DSCP_EVT, (tBTA_HH *)&p_cb->dscp_info);
963 void bta_hh_maint_dev_act(tBTA_HH_DEV_CB *p_cb, tBTA_HH_DATA *p_data)
977 if (p_cb->hid_handle == BTA_HH_INVALID_HANDLE)
980 if (bta_hh_is_le_device(p_cb, p_data->api_conn.bd_addr))
982 dev_info.handle = bta_hh_le_add_device(p_cb, p_dev_info);
996 bta_hh_update_di_info(p_cb,
1002 bta_hh_update_di_info(p_cb,
1010 bta_hh_add_device_to_list(p_cb, dev_handle,
1018 bta_hh_cb.cb_index[dev_handle] = p_cb->index;
1023 dev_info.handle = p_cb->hid_handle;
1033 bdcpy(dev_info.bda, p_cb->addr);
1036 if (p_cb->is_le_device)
1038 bta_hh_le_remove_dev_bg_conn(p_cb);
1039 bta_hh_sm_execute(p_cb, BTA_HH_API_CLOSE_EVT, NULL);
1040 bta_hh_clean_up_kdev(p_cb);
1050 bta_hh_clean_up_kdev(p_cb);
1071 void bta_hh_write_dev_act(tBTA_HH_DEV_CB *p_cb, tBTA_HH_DATA *p_data)
1078 if (p_cb->is_le_device)
1079 bta_hh_le_write_dev_act(p_cb, p_data);
1084 cbdata.handle = p_cb->hid_handle;
1093 if (HID_HostWriteDev (p_cb->hid_handle,
1125 p_cb->w4_evt = event;
1133 p_cb->vp = TRUE;
1148 bta_sys_busy(BTA_ID_HH, p_cb->app_id, p_cb->addr);
1149 bta_sys_idle(BTA_ID_HH, p_cb->app_id, p_cb->addr);
1153 bta_sys_sco_close(BTA_ID_HH, p_cb->app_id, p_cb->addr);
1157 bta_sys_busy(BTA_ID_HH, p_cb->app_id, p_cb->addr);