bta_hf_client_cb variable
* DATA TYPES AND CONTAINERS
![]()
tBTA_HF_CLIENT_CB bta_hf_client_cb;![]()
extern tBTA_HF_CLIENT_CB bta_hf_client_cb;![]()
extern tBTA_HF_CLIENT_CB bta_hf_client_cb;![]()
bta_hf_client_cb.scb.serv_sec_mask = p_data->api_register.sec_mask;![]()
bta_hf_client_cb.scb.features = p_data->api_register.features;![]()
(*bta_hf_client_cb.p_cback)(BTA_HF_CLIENT_REGISTER_EVT, &evt);![]()
bta_hf_client_cb.scb.deregister = TRUE;![]()
bta_hf_client_cb.scb.deregister = TRUE;![]()
bta_dm_pm_active(bta_hf_client_cb.scb.peer_addr);![]()
L2CA_SetIdleTimeoutByBdAddr(bta_hf_client_cb.scb.peer_addr, 0, BT_TRANSPORT_BR_EDR);![]()
if (bta_hf_client_cb.scb.sco_state == BTA_HF_CLIENT_SCO_OPEN_ST) {![]()
bta_hf_client_cb.scb.sco_close_rfc = TRUE;![]()
bdcpy(bta_hf_client_cb.scb.peer_addr, p_data->api_open.bd_addr);![]()
bta_hf_client_cb.scb.cli_sec_mask = p_data->api_open.sec_mask;![]()
bta_hf_client_collision_cback (0, BTA_ID_HS, 0, bta_hf_client_cb.scb.peer_addr);![]()
bta_hf_client_cb.scb.role = BTA_HF_CLIENT_INT;![]()
bdcpy(evt.bd_addr, bta_hf_client_cb.scb.peer_addr);![]()
(*bta_hf_client_cb.p_cback)(BTA_HF_CLIENT_OPEN_EVT, &evt);![]()
bta_sys_conn_open(BTA_ID_HS, 1, bta_hf_client_cb.scb.peer_addr);![]()
bta_hf_client_cb.scb.role = BTA_HF_CLIENT_ACP;![]()
bta_hf_client_cb.scb.serv_handle, p_data->rfc.port_handle);![]()
if (bta_hf_client_cb.scb.colli_tmr_on) {![]()
bta_hf_client_cb.scb.colli_tmr_on = FALSE;![]()
bta_sys_free_timer (&bta_hf_client_cb.scb.colli_timer);![]()
if (bdcmp (dev_addr, bta_hf_client_cb.scb.peer_addr) == 0) {![]()
bdcpy (bta_hf_client_cb.scb.peer_addr, dev_addr);![]()
bta_hf_client_cb.scb.conn_handle = p_data->rfc.port_handle;![]()
bta_hf_client_cb.scb.conn_handle = 0;![]()
bta_hf_client_cb.scb.peer_features = 0;![]()
bta_hf_client_cb.scb.chld_features = 0;![]()
bta_hf_client_cb.scb.role = BTA_HF_CLIENT_ACP;![]()
bta_hf_client_cb.scb.svc_conn = FALSE;![]()
bta_hf_client_cb.scb.send_at_reply = FALSE;![]()
bta_hf_client_cb.scb.negotiated_codec = BTM_SCO_CODEC_CVSD;![]()
bta_hf_client_cb.scb.peer_features = 0;![]()
bta_hf_client_cb.scb.chld_features = 0;![]()
bta_hf_client_cb.scb.role = BTA_HF_CLIENT_ACP;![]()
bta_hf_client_cb.scb.svc_conn = FALSE;![]()
bta_hf_client_cb.scb.send_at_reply = FALSE;![]()
bta_hf_client_cb.scb.negotiated_codec = BTM_SCO_CODEC_CVSD;![]()
bta_sys_conn_close(BTA_ID_HS, 1, bta_hf_client_cb.scb.peer_addr);![]()
(*bta_hf_client_cb.p_cback)(BTA_HF_CLIENT_CLOSE_EVT, NULL);![]()
if (bta_hf_client_cb.scb.deregister == FALSE) {![]()
bdcpy(bta_hf_client_cb.scb.peer_addr, bd_addr_null);![]()
bta_hf_client_cb.scb.conn_handle = 0;![]()
bta_sys_sco_unuse(BTA_ID_HS, 1, bta_hf_client_cb.scb.peer_addr);![]()
while (PORT_ReadData(bta_hf_client_cb.scb.conn_handle, buf, BTA_HF_CLIENT_RFC_READ_MAX, &len) == PORT_SUCCESS) {![]()
bta_sys_busy(BTA_ID_HS, 1, bta_hf_client_cb.scb.peer_addr);![]()
bta_sys_idle(BTA_ID_HS, 1, bta_hf_client_cb.scb.peer_addr);![]()
if (!bta_hf_client_cb.scb.svc_conn) {![]()
bta_hf_client_cb.scb.svc_conn = TRUE;![]()
evt.peer_feat = bta_hf_client_cb.scb.peer_features;![]()
evt.chld_feat = bta_hf_client_cb.scb.chld_features;![]()
(*bta_hf_client_cb.p_cback)(BTA_HF_CLIENT_CONN_EVT, &evt);![]()
(*bta_hf_client_cb.p_cback)(BTA_HF_CLIENT_IND_EVT, &evt);![]()
(*bta_hf_client_cb.p_cback)(type, &evt);![]()
(*bta_hf_client_cb.p_cback)(BTA_HF_CLIENT_OPERATOR_NAME_EVT, evt);![]()
(*bta_hf_client_cb.p_cback)(BTA_HF_CLIENT_CLIP_EVT, evt);![]()
(*bta_hf_client_cb.p_cback)(BTA_HF_CLIENT_CCWA_EVT, evt);![]()
(*bta_hf_client_cb.p_cback)(BTA_HF_CLIENT_AT_RESULT_EVT, &evt);![]()
(*bta_hf_client_cb.p_cback)(BTA_HF_CLIENT_CLCC_EVT, evt);![]()
(*bta_hf_client_cb.p_cback)(BTA_HF_CLIENT_CNUM_EVT, evt);![]()
(*bta_hf_client_cb.p_cback)(BTA_HF_CLIENT_BINP_EVT, evt);![]()
tBTA_HF_CLIENT_AT_QCMD *cur = bta_hf_client_cb.scb.at_cb.queued_cmd;![]()
bta_hf_client_cb.scb.at_cb.queued_cmd = NULL;![]()
if (bta_hf_client_cb.scb.at_cb.queued_cmd != NULL) {![]()
tBTA_HF_CLIENT_AT_QCMD *qcmd = bta_hf_client_cb.scb.at_cb.queued_cmd;![]()
bta_hf_client_cb.scb.at_cb.queued_cmd = new_cmd;![]()
bta_hf_client_cb.scb.at_cb.resp_timer_on = FALSE;![]()
if (bta_hf_client_cb.scb.at_cb.resp_timer_on) {![]()
bta_hf_client_cb.scb.at_cb.resp_timer_on = FALSE;![]()
bta_sys_stop_timer (&bta_hf_client_cb.scb.at_cb.resp_timer);![]()
bta_hf_client_cb.scb.at_cb.resp_timer_on = FALSE;![]()
bta_sys_free_timer (&bta_hf_client_cb.scb.at_cb.resp_timer);![]()
if (bta_hf_client_cb.scb.at_cb.resp_timer_on) {![]()
bta_sys_stop_timer (&bta_hf_client_cb.scb.at_cb.resp_timer);![]()
bta_hf_client_cb.scb.at_cb.resp_timer.p_cback = (TIMER_CBACK *)&bta_hf_client_at_resp_timer_cback;![]()
bta_sys_start_timer(&bta_hf_client_cb.scb.at_cb.resp_timer, 0, BTA_HF_CLIENT_AT_TIMEOUT);![]()
bta_hf_client_cb.scb.at_cb.resp_timer_on = TRUE;![]()
if ((bta_hf_client_cb.scb.at_cb.current_cmd == BTA_HF_CLIENT_AT_NONE ||![]()
bta_hf_client_cb.scb.svc_conn == FALSE) &&![]()
bta_hf_client_cb.scb.at_cb.hold_timer_on == FALSE) {![]()
bta_hf_client_cb.scb.at_cb.current_cmd = cmd;![]()
PORT_WriteData(bta_hf_client_cb.scb.conn_handle, buf, buf_len, &len);![]()
tBTA_HF_CLIENT_AT_QCMD *cur = bta_hf_client_cb.scb.at_cb.queued_cmd;![]()
bta_hf_client_cb.scb.at_cb.queued_cmd = cur->next;![]()
bta_hf_client_cb.scb.at_cb.hold_timer_on = FALSE;![]()
if (bta_hf_client_cb.scb.at_cb.hold_timer_on) {![]()
bta_hf_client_cb.scb.at_cb.hold_timer_on = FALSE;![]()
bta_sys_stop_timer (&bta_hf_client_cb.scb.at_cb.hold_timer);![]()
bta_hf_client_cb.scb.at_cb.hold_timer_on = FALSE;![]()
bta_sys_free_timer(&bta_hf_client_cb.scb.at_cb.hold_timer);![]()
TIMER_LIST_ENT *timer = &bta_hf_client_cb.scb.at_cb.hold_timer;![]()
if (bta_hf_client_cb.scb.at_cb.hold_timer_on) {![]()
bta_hf_client_cb.scb.at_cb.hold_timer_on = TRUE;![]()
if (!bta_hf_client_cb.scb.svc_conn) {![]()
switch (bta_hf_client_cb.scb.at_cb.current_cmd) {![]()
bta_hf_client_cb.scb.at_cb.current_cmd = BTA_HF_CLIENT_AT_NONE;![]()
if (bta_hf_client_cb.scb.send_at_reply == FALSE) {![]()
bta_hf_client_cb.scb.send_at_reply = TRUE;![]()
if (bta_hf_client_cb.scb.send_at_reply) {![]()
bta_hf_client_cb.scb.at_cb.current_cmd = BTA_HF_CLIENT_AT_NONE;![]()
if (!bta_hf_client_cb.scb.svc_conn) {![]()
switch (bta_hf_client_cb.scb.at_cb.current_cmd) {![]()
if (bta_hf_client_cb.scb.send_at_reply == FALSE) {![]()
bta_hf_client_cb.scb.send_at_reply = TRUE;![]()
if (bta_hf_client_cb.scb.send_at_reply) {![]()
bta_hf_client_cb.scb.at_cb.current_cmd = BTA_HF_CLIENT_AT_NONE;![]()
bta_hf_client_cb.scb.peer_features = value;![]()
bta_hf_client_cb.scb.at_cb.indicator_lookup[index] = i;![]()
if (bta_hf_client_cb.scb.at_cb.indicator_lookup[index] == -1) {![]()
index = bta_hf_client_cb.scb.at_cb.indicator_lookup[index];![]()
bta_hf_client_cb.scb.chld_features |= mask;![]()
realind = bta_hf_client_cb.scb.at_cb.indicator_lookup[index - 1];![]()
(codec == BTM_SCO_CODEC_MSBC && bta_hf_client_cb.msbc_enabled == TRUE)) {![]()
bta_hf_client_cb.scb.negotiated_codec = codec;![]()
bta_hf_client_cb.scb.negotiated_codec = BTM_SCO_CODEC_CVSD;![]()
char *buf = bta_hf_client_cb.scb.at_cb.buf;![]()
tBTA_HF_CLIENT_AT_CB *at_cb = &bta_hf_client_cb.scb.at_cb;![]()
memset(bta_hf_client_cb.scb.at_cb.buf, 0, sizeof(bta_hf_client_cb.scb.at_cb.buf));![]()
bta_hf_client_cb.scb.at_cb.offset = 0;![]()
APPL_TRACE_DEBUG("%s offset: %u len: %u", __FUNCTION__, bta_hf_client_cb.scb.at_cb.offset, len);![]()
if (len + bta_hf_client_cb.scb.at_cb.offset > BTA_HF_CLIENT_AT_PARSER_MAX_LEN) {![]()
unsigned int tmp = bta_hf_client_cb.scb.at_cb.offset;![]()
unsigned int space_left = BTA_HF_CLIENT_AT_PARSER_MAX_LEN - bta_hf_client_cb.scb.at_cb.offset;![]()
memcpy(bta_hf_client_cb.scb.at_cb.buf + bta_hf_client_cb.scb.at_cb.offset, buf, space_left);![]()
bta_hf_client_cb.scb.at_cb.offset += space_left;![]()
if (bta_hf_client_cb.scb.at_cb.offset == 0) {![]()
bta_hf_client_cb.scb.at_cb.offset--;![]()
tmp += space_left - bta_hf_client_cb.scb.at_cb.offset;![]()
memcpy(tmp_buff, bta_hf_client_cb.scb.at_cb.buf + bta_hf_client_cb.scb.at_cb.offset, tmp);![]()
bta_hf_client_cb.scb.at_cb.buf[bta_hf_client_cb.scb.at_cb.offset] = '\0';![]()
memcpy(bta_hf_client_cb.scb.at_cb.buf, tmp_buff, tmp);![]()
bta_hf_client_cb.scb.at_cb.offset += tmp;![]()
memcpy(bta_hf_client_cb.scb.at_cb.buf + bta_hf_client_cb.scb.at_cb.offset, buf, len);![]()
bta_hf_client_cb.scb.at_cb.offset += len;![]()
at_len = snprintf(buf, BTA_HF_CLIENT_AT_MAX_LEN, "AT+BRSF=%u\r", bta_hf_client_cb.scb.features);![]()
if (bta_hf_client_cb.msbc_enabled) {![]()
if (!(bta_hf_client_cb.scb.peer_features & BTA_HF_CLIENT_PEER_FEAT_ECNR)) {![]()
if (bta_hf_client_cb.scb.peer_version < HFP_VERSION_1_6) {![]()
int sup = bta_hf_client_cb.scb.at_cb.indicator_lookup[i] == -1 ? 0 : 1;![]()
memset(&bta_hf_client_cb.scb.at_cb, 0, sizeof(tBTA_HF_CLIENT_AT_CB));![]()
bta_hf_client_cb.scb.at_cb.indicator_lookup[i] = -1;![]()
bta_hf_client_cb.scb.at_cb.current_cmd = BTA_HF_CLIENT_AT_NONE;![]()
memset(&bta_hf_client_cb.scb, 0, sizeof(tBTA_HF_CLIENT_SCB));![]()
bta_hf_client_cb.scb.sco_idx = BTM_INVALID_SCO_INDEX;![]()
bta_hf_client_cb.scb.negotiated_codec = BTM_SCO_CODEC_CVSD;![]()
(*bta_hf_client_cb.p_cback)(BTA_HF_CLIENT_DISABLE_EVT, NULL);![]()
if (bta_hf_client_cb.scb.state == BTA_HF_CLIENT_INIT_ST) {![]()
bta_hf_client_cb.scb.state = BTA_HF_CLIENT_OPENING_ST;![]()
bta_hf_client_cb.scb.colli_tmr_on = FALSE;![]()
if (bta_hf_client_cb.scb.state == BTA_HF_CLIENT_OPENING_ST) {![]()
bta_hf_client_cb.scb.state = BTA_HF_CLIENT_INIT_ST;![]()
if (bta_hf_client_cb.scb.p_disc_db) {![]()
(void)SDP_CancelServiceSearch (bta_hf_client_cb.scb.p_disc_db);![]()
bta_hf_client_cb.scb.colli_timer.p_cback = (TIMER_CBACK *)&bta_hf_client_colli_timer_cback;![]()
bta_sys_start_timer(&bta_hf_client_cb.scb.colli_timer, 0, BTA_HF_CLIENT_COLLISION_TIMER);![]()
bta_hf_client_cb.scb.colli_tmr_on = TRUE;![]()
memset(&bta_hf_client_cb, 0, sizeof(tBTA_HF_CLIENT_CB));![]()
bta_hf_client_cb.p_cback = p_data->api_enable.p_cback;![]()
bta_hf_client_cb.msbc_enabled = FALSE;![]()
bta_hf_client_cb.msbc_enabled = FALSE;![]()
bta_hf_client_cb.scb.negotiated_codec = BTM_SCO_CODEC_CVSD;![]()
(*bta_hf_client_cb.p_cback)(BTA_HF_CLIENT_ENABLE_EVT, NULL);![]()
state_table = bta_hf_client_st_tbl[bta_hf_client_cb.scb.state];![]()
bta_hf_client_cb.scb.state = state_table[event][BTA_HF_CLIENT_NEXT_STATE];![]()
bta_hf_client_cb.scb.at_cb.current_cmd = BTA_HF_CLIENT_AT_NONE;![]()
APPL_TRACE_DEBUG("bta_hf_client_slc_seq cmd: %u", bta_hf_client_cb.scb.at_cb.current_cmd);![]()
bta_hf_client_cb.scb.at_cb.current_cmd);![]()
if (bta_hf_client_cb.scb.svc_conn) {![]()
switch (bta_hf_client_cb.scb.at_cb.current_cmd) {![]()
if (bta_hf_client_cb.scb.peer_features & BTA_HF_CLIENT_PEER_CODEC) {![]()
if (bta_hf_client_cb.scb.peer_features & BTA_HF_CLIENT_PEER_FEAT_3WAY) {![]()
bta_hf_client_cb.scb.at_cb.current_cmd);![]()
if (port_handle != bta_hf_client_cb.scb.conn_handle) {![]()
port_handle, bta_hf_client_cb.scb.conn_handle);![]()
code, port_handle, bta_hf_client_cb.scb.conn_handle, bta_hf_client_cb.scb.serv_handle);![]()
if ((code != PORT_SUCCESS) && (port_handle != bta_hf_client_cb.scb.conn_handle)) {![]()
if ((bta_hf_client_cb.scb.conn_handle && (port_handle == bta_hf_client_cb.scb.conn_handle)) || ![]()
(port_handle == bta_hf_client_cb.scb.serv_handle)) { ![]()
else if (port_handle == bta_hf_client_cb.scb.conn_handle) {![]()
if (bta_hf_client_cb.scb.serv_handle > 0) {![]()
APPL_TRACE_DEBUG("%s already started, handle: %d", __FUNCTION__, bta_hf_client_cb.scb.serv_handle);![]()
BTM_SetSecurityLevel(FALSE, "", BTM_SEC_SERVICE_HF_HANDSFREE, bta_hf_client_cb.scb.serv_sec_mask,![]()
BT_PSM_RFCOMM, BTM_SEC_PROTO_RFCOMM, bta_hf_client_cb.scn);![]()
port_status = RFCOMM_CreateConnection(UUID_SERVCLASS_HF_HANDSFREE, bta_hf_client_cb.scn,![]()
TRUE, BTA_HF_CLIENT_MTU, (UINT8 *) bd_addr_any, &(bta_hf_client_cb.scb.serv_handle),![]()
bta_hf_client_setup_port(bta_hf_client_cb.scb.serv_handle);![]()
APPL_TRACE_DEBUG("bta_hf_client_start_server handle: %d", bta_hf_client_cb.scb.serv_handle);![]()
APPL_TRACE_DEBUG("%s %d", __FUNCTION__, bta_hf_client_cb.scb.serv_handle);![]()
if (bta_hf_client_cb.scb.serv_handle == 0) {![]()
RFCOMM_RemoveServer(bta_hf_client_cb.scb.serv_handle);![]()
bta_hf_client_cb.scb.serv_handle = 0;![]()
bta_hf_client_cb.scb.cli_sec_mask, BT_PSM_RFCOMM,![]()
BTM_SEC_PROTO_RFCOMM, bta_hf_client_cb.scb.peer_scn);![]()
if (RFCOMM_CreateConnection(UUID_SERVCLASS_HF_HANDSFREE, bta_hf_client_cb.scb.peer_scn,![]()
FALSE, BTA_HF_CLIENT_MTU, bta_hf_client_cb.scb.peer_addr, &(bta_hf_client_cb.scb.conn_handle),![]()
bta_hf_client_setup_port(bta_hf_client_cb.scb.conn_handle);![]()
APPL_TRACE_DEBUG("bta_hf_client_rfc_do_open : conn_handle = %d", bta_hf_client_cb.scb.conn_handle);![]()
if (bta_hf_client_cb.scb.conn_handle) {![]()
RFCOMM_RemoveConnection(bta_hf_client_cb.scb.conn_handle);![]()
if (bta_hf_client_cb.scb.p_disc_db) {![]()
(void)SDP_CancelServiceSearch (bta_hf_client_cb.scb.p_disc_db);![]()
if (bta_hf_client_cb.scb.sco_idx != BTM_INVALID_SCO_INDEX) {![]()
status = BTM_RemoveSco(bta_hf_client_cb.scb.sco_idx);![]()
APPL_TRACE_DEBUG("%s idx 0x%04x, status:0x%x", __FUNCTION__, bta_hf_client_cb.scb.sco_idx, status);![]()
bta_hf_client_cb.scb.sco_idx = BTM_INVALID_SCO_INDEX;![]()
evt.sync_conn_handle = BTM_ReadScoHandle(bta_hf_client_cb.scb.sco_idx);![]()
(*bta_hf_client_cb.p_cback)(event, (tBTA_HF_CLIENT_HDR *) &evt);![]()
APPL_TRACE_DEBUG("%s: negotiated codec = %d", __FUNCTION__, bta_hf_client_cb.scb.negotiated_codec);![]()
if (bta_hf_client_cb.scb.sco_state == BTA_HF_CLIENT_SCO_LISTEN_ST) {![]()
if ((bta_hf_client_cb.scb.negotiated_codec == BTM_SCO_CODEC_CVSD) &&![]()
(bta_hf_client_cb.scb.features && BTA_HF_CLIENT_FEAT_ESCO_S4) &&![]()
(bta_hf_client_cb.scb.peer_features && BTA_HF_CLIENT_PEER_ESCO_S4)) {![]()
} else if (bta_hf_client_cb.scb.negotiated_codec == BTM_SCO_CODEC_MSBC) {![]()
bta_sys_sco_use(BTA_ID_HS, 1, bta_hf_client_cb.scb.peer_addr);![]()
bta_hf_client_cb.scb.sco_idx = p_data->conn_evt.sco_inx;![]()
bta_hf_client_cb.scb.sco_state = BTA_HF_CLIENT_SCO_OPENING_ST;![]()
if (rem_bd && bdcmp(bta_hf_client_cb.scb.peer_addr, rem_bd) == 0 &&![]()
bta_hf_client_cb.scb.svc_conn && bta_hf_client_cb.scb.sco_idx == sco_idx) {![]()
bta_hf_client_cb.scb.link_type = sco_data.link_type;![]()
bta_hf_client_cb.scb.tx_interval = sco_data.tx_interval;![]()
bta_hf_client_cb.scb.retrans_window = sco_data.retrans_window;![]()
bta_hf_client_cb.scb.air_mode = sco_data.air_mode;![]()
bta_hf_client_cb.scb.out_pkt_len = sco_data.tx_pkt_len * 2;![]()
bta_hf_client_cb.scb.in_pkt_len = sco_data.rx_pkt_len * 2;![]()
bta_hf_client_cb.scb.out_pkt_len = sco_data.tx_pkt_len;![]()
bta_hf_client_cb.scb.in_pkt_len = sco_data.rx_pkt_len;![]()
p_buf->layer_specific = bta_hf_client_cb.scb.conn_handle;![]()
bta_hf_client_cb.scb.sco_state = BTA_HF_CLIENT_SCO_SHUTDOWN_ST;![]()
if (bta_hf_client_cb.scb.sco_idx == sco_idx) {![]()
p_buf->layer_specific = bta_hf_client_cb.scb.conn_handle;;![]()
if (bta_hf_client_cb.scb.sco_idx != BTM_INVALID_SCO_INDEX) {![]()
bta_hf_client_cb.scb.sco_idx);![]()
if (bta_hf_client_cb.scb.negotiated_codec == BTM_SCO_CODEC_CVSD) {![]()
if ((bta_hf_client_cb.scb.features && BTA_HF_CLIENT_FEAT_ESCO_S4) &&![]()
(bta_hf_client_cb.scb.peer_features && BTA_HF_CLIENT_PEER_ESCO_S4)) {![]()
} else if (bta_hf_client_cb.scb.negotiated_codec == BTM_SCO_CODEC_MSBC) {![]()
if (bta_hf_client_cb.scb.peer_version >= HFP_VERSION_1_5 && !bta_hf_client_cb.scb.retry_with_sco_only) {![]()
bta_hf_client_cb.scb.retry_with_sco_only = TRUE;![]()
if (bta_hf_client_cb.scb.retry_with_sco_only) {![]()
bta_hf_client_cb.scb.retry_with_sco_only = FALSE;![]()
bta_sys_sco_use(BTA_ID_HS, 1, bta_hf_client_cb.scb.peer_addr);![]()
bta_hf_client_cb.scb.retry_with_sco_only = FALSE;![]()
p_bd_addr = bta_hf_client_cb.scb.peer_addr;![]()
&bta_hf_client_cb.scb.sco_idx, bta_hf_client_sco_conn_cback,![]()
if (!BTM_RegForEScoEvts(bta_hf_client_cb.scb.sco_idx, bta_hf_client_esco_connreq_cback)) {![]()
__FUNCTION__, is_orig, bta_hf_client_cb.scb.sco_idx,![]()
bta_hf_client_cb.scb.sco_state, event);![]()
switch (bta_hf_client_cb.scb.sco_state) {![]()
bta_hf_client_cb.scb.sco_state = BTA_HF_CLIENT_SCO_LISTEN_ST;![]()
bta_hf_client_cb.scb.sco_state = BTA_HF_CLIENT_SCO_OPENING_ST;![]()
bta_hf_client_cb.scb.sco_state = BTA_HF_CLIENT_SCO_SHUTDOWN_ST;![]()
bta_hf_client_cb.scb.sco_state = BTA_HF_CLIENT_SCO_LISTEN_ST;![]()
bta_hf_client_cb.scb.sco_state = BTA_HF_CLIENT_SCO_OPEN_CL_ST;![]()
bta_hf_client_cb.scb.sco_state = BTA_HF_CLIENT_SCO_SHUTTING_ST;![]()
bta_hf_client_cb.scb.sco_state = BTA_HF_CLIENT_SCO_OPEN_ST;![]()
bta_hf_client_cb.scb.sco_state = BTA_HF_CLIENT_SCO_LISTEN_ST;![]()
bta_hf_client_cb.scb.sco_state = BTA_HF_CLIENT_SCO_OPENING_ST;![]()
bta_hf_client_cb.scb.sco_state = BTA_HF_CLIENT_SCO_SHUTTING_ST;![]()
bta_hf_client_cb.scb.sco_state = BTA_HF_CLIENT_SCO_CLOSING_ST;![]()
bta_hf_client_cb.scb.sco_state = BTA_HF_CLIENT_SCO_LISTEN_ST;![]()
bta_hf_client_cb.scb.sco_state = BTA_HF_CLIENT_SCO_CLOSING_ST;![]()
bta_hf_client_cb.scb.sco_state = BTA_HF_CLIENT_SCO_SHUTTING_ST;![]()
bta_hf_client_cb.scb.sco_state = BTA_HF_CLIENT_SCO_LISTEN_ST;![]()
bta_hf_client_cb.scb.sco_state = BTA_HF_CLIENT_SCO_CLOSE_OP_ST;![]()
bta_hf_client_cb.scb.sco_state = BTA_HF_CLIENT_SCO_SHUTTING_ST;![]()
bta_hf_client_cb.scb.sco_state = BTA_HF_CLIENT_SCO_LISTEN_ST;![]()
bta_hf_client_cb.scb.sco_state = BTA_HF_CLIENT_SCO_CLOSING_ST;![]()
bta_hf_client_cb.scb.sco_state = BTA_HF_CLIENT_SCO_SHUTTING_ST;![]()
bta_hf_client_cb.scb.sco_state = BTA_HF_CLIENT_SCO_OPENING_ST;![]()
bta_hf_client_cb.scb.sco_state = BTA_HF_CLIENT_SCO_SHUTDOWN_ST;![]()
bta_hf_client_cb.scb.sco_state = BTA_HF_CLIENT_SCO_SHUTDOWN_ST;![]()
bta_sys_sco_open(BTA_ID_HS, 1, bta_hf_client_cb.scb.peer_addr);![]()
if (bta_hf_client_cb.scb.negotiated_codec == BTM_SCO_CODEC_MSBC) {![]()
bta_hf_client_cb.scb.retry_with_sco_only = FALSE;![]()
bta_hf_client_cb.scb.sco_idx = BTM_INVALID_SCO_INDEX;![]()
if (bta_hf_client_cb.scb.retry_with_sco_only && bta_hf_client_cb.scb.svc_conn) {![]()
bta_sys_sco_close(BTA_ID_HS, 1, bta_hf_client_cb.scb.peer_addr);![]()
bta_sys_sco_unuse(BTA_ID_HS, 1, bta_hf_client_cb.scb.peer_addr);![]()
if (bta_hf_client_cb.scb.sco_close_rfc == TRUE) {![]()
bta_hf_client_cb.scb.sco_close_rfc = FALSE;![]()
bta_hf_client_cb.scb.retry_with_sco_only = FALSE;![]()
APPL_TRACE_DEBUG("%s 0x%x", __FUNCTION__, bta_hf_client_cb.scb.sco_idx);![]()
if (bta_hf_client_cb.scb.sco_idx != BTM_INVALID_SCO_INDEX) {![]()
if (bta_hf_client_cb.scb.role == BTA_HF_CLIENT_ACP) {![]()
if (bta_hf_client_cb.sdp_handle == 0) {![]()
bta_hf_client_cb.sdp_handle = SDP_CreateRecord();![]()
bta_hf_client_cb.scn = BTM_AllocateSCN();![]()
bta_hf_client_cb.scn,![]()
bta_hf_client_cb.sdp_handle);![]()
if (bta_hf_client_cb.sdp_handle != 0) {![]()
SDP_DeleteRecord(bta_hf_client_cb.sdp_handle);![]()
bta_hf_client_cb.sdp_handle = 0;![]()
BTM_FreeSCN(bta_hf_client_cb.scn);![]()
bta_hf_client_cb.scb.peer_version = HFP_VERSION_1_1; ![]()
if ((p_rec = SDP_FindServiceInDb(bta_hf_client_cb.scb.p_disc_db, UUID_SERVCLASS_AG_HANDSFREE, p_rec)) == NULL) {![]()
if (bta_hf_client_cb.scb.role == BTA_HF_CLIENT_INT) {![]()
bta_hf_client_cb.scb.peer_scn = (UINT8) pe.params[0];![]()
SDP_FindProfileVersionInRec(p_rec, UUID_SERVCLASS_HF_HANDSFREE, &bta_hf_client_cb.scb.peer_version);![]()
if (bta_hf_client_cb.scb.peer_features == 0) {![]()
bta_hf_client_cb.scb.peer_features = p_attr->attr_value.v.u16;![]()
if (bta_hf_client_cb.scb.peer_features & 0x0020) {![]()
bta_hf_client_cb.scb.peer_features &= ~0x0020;![]()
bta_hf_client_cb.scb.peer_features |= BTA_HF_CLIENT_PEER_CODEC;![]()
bta_hf_client_cb.scb.peer_features |= BTA_HF_CLIENT_PEER_REJECT;![]()
__FUNCTION__, bta_hf_client_cb.scb.peer_version,![]()
bta_hf_client_cb.scb.peer_features);![]()
if (bta_hf_client_cb.scb.role == BTA_HF_CLIENT_INT) {![]()
bta_hf_client_cb.scb.p_disc_db = (tSDP_DISCOVERY_DB *) osi_malloc(BT_DEFAULT_BUFFER_SIZE);![]()
if (bta_hf_client_cb.scb.p_disc_db) {![]()
db_inited = SDP_InitDiscoveryDb(bta_hf_client_cb.scb.p_disc_db, BT_DEFAULT_BUFFER_SIZE, num_uuid,![]()
db_inited = SDP_ServiceSearchAttributeRequest(bta_hf_client_cb.scb.peer_addr,![]()
bta_hf_client_cb.scb.p_disc_db, bta_hf_client_sdp_cback);![]()
if (bta_hf_client_cb.scb.p_disc_db != NULL) {![]()
osi_free(bta_hf_client_cb.scb.p_disc_db);![]()
bta_hf_client_cb.scb.p_disc_db = NULL;
bta_hf_client_cb is read by 83 functions:
![]()
bta_hf_client_cb