• Home
  • Raw
  • Download

Lines Matching refs:p_ccb

43 static void      gap_release_ccb (tGAP_CCB *p_ccb);
125 tGAP_CCB *p_ccb; in GAP_ConnOpen() local
132 if ((p_ccb = gap_allocate_ccb()) == NULL) in GAP_ConnOpen()
140 p_ccb->rem_addr_specified = TRUE; in GAP_ConnOpen()
142 memcpy (&p_ccb->rem_dev_address[0], p_rem_bda, BD_ADDR_LEN); in GAP_ConnOpen()
151 if (!p_ccb->rem_addr_specified && !is_server) in GAP_ConnOpen()
153 gap_release_ccb (p_ccb); in GAP_ConnOpen()
160 p_ccb->cfg = *p_cfg; in GAP_ConnOpen()
162 p_ccb->p_callback = p_cb; in GAP_ConnOpen()
178 …if ((p_ccb->psm = L2CA_REGISTER (psm, &gap_cb.conn.reg_info, AMP_AUTOSWITCH_ALLOWED|AMP_USE_AMP_IF… in GAP_ConnOpen()
181 gap_release_ccb (p_ccb); in GAP_ConnOpen()
186 p_ccb->service_id = service_id; in GAP_ConnOpen()
187 …if (!BTM_SetSecurityLevel ((UINT8)!is_server, p_serv_name, p_ccb->service_id, security, p_ccb->psm… in GAP_ConnOpen()
190 gap_release_ccb (p_ccb); in GAP_ConnOpen()
195 if( p_ccb->cfg.fcr_present ) in GAP_ConnOpen()
197 p_ccb->ertm_info.preferred_mode = p_ccb->cfg.fcr.mode; in GAP_ConnOpen()
198 p_ccb->ertm_info.user_rx_pool_id = GAP_DATA_POOL_ID; in GAP_ConnOpen()
199 p_ccb->ertm_info.user_tx_pool_id = GAP_DATA_POOL_ID; in GAP_ConnOpen()
200 p_ccb->ertm_info.fcr_rx_pool_id = L2CAP_DEFAULT_ERM_POOL_ID; in GAP_ConnOpen()
201 p_ccb->ertm_info.fcr_tx_pool_id = L2CAP_DEFAULT_ERM_POOL_ID; in GAP_ConnOpen()
205p_ccb->ertm_info.allowed_modes = (chan_mode_mask) ? chan_mode_mask : (UINT8)L2CAP_FCR_CHAN_OPT_BAS… in GAP_ConnOpen()
209 p_ccb->con_flags |= GAP_CCB_FLAGS_SEC_DONE; /* assume btm/l2cap would handle it */ in GAP_ConnOpen()
210 p_ccb->con_state = GAP_CCB_STATE_LISTENING; in GAP_ConnOpen()
211 return (p_ccb->gap_handle); in GAP_ConnOpen()
216 p_ccb->con_flags = GAP_CCB_FLAGS_IS_ORIG; in GAP_ConnOpen()
219 p_ccb->con_state = GAP_CCB_STATE_CONN_SETUP; in GAP_ConnOpen()
223 p_ccb->con_flags |= GAP_CCB_FLAGS_SEC_DONE; in GAP_ConnOpen()
226 …if (p_rem_bda && ((cid = L2CA_CONNECT_REQ (p_ccb->psm, p_rem_bda, &p_ccb->ertm_info, &bt_uuid)) !=… in GAP_ConnOpen()
228 p_ccb->connection_id = cid; in GAP_ConnOpen()
229 return (p_ccb->gap_handle); in GAP_ConnOpen()
233 gap_release_ccb (p_ccb); in GAP_ConnOpen()
254 tGAP_CCB *p_ccb = gap_find_ccb_by_handle (gap_handle); in GAP_ConnClose() local
258 if (p_ccb) in GAP_ConnClose()
261 if (p_ccb->con_state != GAP_CCB_STATE_LISTENING) in GAP_ConnClose()
262 L2CA_DISCONNECT_REQ (p_ccb->connection_id); in GAP_ConnClose()
264 gap_release_ccb (p_ccb); in GAP_ConnClose()
293 tGAP_CCB *p_ccb = gap_find_ccb_by_handle (gap_handle); in GAP_ConnReadData() local
297 if (!p_ccb) in GAP_ConnReadData()
302 p_buf = (BT_HDR *)GKI_getfirst (&p_ccb->rx_queue); in GAP_ConnReadData()
331 GKI_freebuf (GKI_dequeue (&p_ccb->rx_queue)); in GAP_ConnReadData()
335 p_ccb->rx_queue_size -= *p_len; in GAP_ConnReadData()
340 p_ccb->rx_queue_size, *p_len); in GAP_ConnReadData()
358 tGAP_CCB *p_ccb; in GAP_GetRxQueueCnt() local
364 p_ccb = &gap_cb.conn.ccb_pool[handle]; in GAP_GetRxQueueCnt()
366 if (p_ccb->con_state == GAP_CCB_STATE_CONNECTED) in GAP_GetRxQueueCnt()
368 *p_rx_queue_count = p_ccb->rx_queue_size; in GAP_GetRxQueueCnt()
399 tGAP_CCB *p_ccb = gap_find_ccb_by_handle (gap_handle); in GAP_ConnBTRead() local
402 if (!p_ccb) in GAP_ConnBTRead()
405 p_buf = (BT_HDR *)GKI_dequeue (&p_ccb->rx_queue); in GAP_ConnBTRead()
411 p_ccb->rx_queue_size -= p_buf->len; in GAP_ConnBTRead()
438 tGAP_CCB *p_ccb = gap_find_ccb_by_handle (gap_handle); in GAP_ConnBTWrite() local
440 if (!p_ccb) in GAP_ConnBTWrite()
446 if (p_ccb->con_state != GAP_CCB_STATE_CONNECTED) in GAP_ConnBTWrite()
458 GKI_enqueue (&p_ccb->tx_queue, p_buf); in GAP_ConnBTWrite()
460 if (p_ccb->is_congested) in GAP_ConnBTWrite()
469 while ((p_buf = (BT_HDR *)GKI_dequeue (&p_ccb->tx_queue)) != NULL) in GAP_ConnBTWrite()
471 UINT8 status = L2CA_DATA_WRITE (p_ccb->connection_id, p_buf); in GAP_ConnBTWrite()
475 p_ccb->is_congested = TRUE; in GAP_ConnBTWrite()
506 tGAP_CCB *p_ccb = gap_find_ccb_by_handle (gap_handle); in GAP_ConnWriteData() local
511 if (!p_ccb) in GAP_ConnWriteData()
514 if (p_ccb->con_state != GAP_CCB_STATE_CONNECTED) in GAP_ConnWriteData()
519 if (p_ccb->cfg.fcr.mode == L2CAP_FCR_ERTM_MODE) in GAP_ConnWriteData()
521 if ((p_buf = (BT_HDR *)GKI_getpoolbuf (p_ccb->ertm_info.user_tx_pool_id)) == NULL) in GAP_ConnWriteData()
531 p_buf->len = (p_ccb->rem_mtu_size < max_len) ? p_ccb->rem_mtu_size : max_len; in GAP_ConnWriteData()
542 GKI_enqueue (&p_ccb->tx_queue, p_buf); in GAP_ConnWriteData()
545 if (p_ccb->is_congested) in GAP_ConnWriteData()
554 while ((p_buf = (BT_HDR *)GKI_dequeue (&p_ccb->tx_queue)) != NULL) in GAP_ConnWriteData()
556 UINT8 status = L2CA_DATA_WRITE (p_ccb->connection_id, p_buf); in GAP_ConnWriteData()
560 p_ccb->is_congested = TRUE; in GAP_ConnWriteData()
586 tGAP_CCB *p_ccb = gap_find_ccb_by_handle (gap_handle); in GAP_ConnReconfig() local
588 if (!p_ccb) in GAP_ConnReconfig()
591 p_ccb->cfg = *p_cfg; in GAP_ConnReconfig()
593 if (p_ccb->con_state == GAP_CCB_STATE_CONNECTED) in GAP_ConnReconfig()
594 L2CA_CONFIG_REQ (p_ccb->connection_id, p_cfg); in GAP_ConnReconfig()
624 tGAP_CCB *p_ccb; in GAP_ConnSetIdleTimeout() local
626 if ((p_ccb = gap_find_ccb_by_handle (gap_handle)) == NULL) in GAP_ConnSetIdleTimeout()
629 if (L2CA_SetIdleTimeout (p_ccb->connection_id, timeout, FALSE)) in GAP_ConnSetIdleTimeout()
652 tGAP_CCB *p_ccb = gap_find_ccb_by_handle (gap_handle); in GAP_ConnGetRemoteAddr() local
656 if ((p_ccb) && (p_ccb->con_state > GAP_CCB_STATE_LISTENING)) in GAP_ConnGetRemoteAddr()
659p_ccb->rem_dev_address[0],p_ccb->rem_dev_address[1],p_ccb->rem_dev_address[2], in GAP_ConnGetRemoteAddr()
660p_ccb->rem_dev_address[3],p_ccb->rem_dev_address[4],p_ccb->rem_dev_address[5]); in GAP_ConnGetRemoteAddr()
661 return (p_ccb->rem_dev_address); in GAP_ConnGetRemoteAddr()
684 tGAP_CCB *p_ccb; in GAP_ConnGetRemMtuSize() local
686 if ((p_ccb = gap_find_ccb_by_handle (gap_handle)) == NULL) in GAP_ConnGetRemMtuSize()
689 return (p_ccb->rem_mtu_size); in GAP_ConnGetRemMtuSize()
706 tGAP_CCB *p_ccb; in GAP_ConnGetL2CAPCid() local
708 if ((p_ccb = gap_find_ccb_by_handle (gap_handle)) == NULL) in GAP_ConnGetL2CAPCid()
711 return (p_ccb->connection_id); in GAP_ConnGetL2CAPCid()
729 tGAP_CCB *p_ccb; in gap_connect_ind() local
733 for (xx = 0, p_ccb = gap_cb.conn.ccb_pool; xx < GAP_MAX_CONNECTIONS; xx++, p_ccb++) in gap_connect_ind()
735 if ((p_ccb->con_state == GAP_CCB_STATE_LISTENING) in gap_connect_ind()
736 && (p_ccb->psm == psm) in gap_connect_ind()
737 && ((p_ccb->rem_addr_specified == FALSE) in gap_connect_ind()
738 || (!memcmp (bd_addr, p_ccb->rem_dev_address, BD_ADDR_LEN)))) in gap_connect_ind()
754 p_ccb->con_state = GAP_CCB_STATE_CFG_SETUP; in gap_connect_ind()
757 memcpy (&p_ccb->rem_dev_address[0], bd_addr, BD_ADDR_LEN); in gap_connect_ind()
758 p_ccb->connection_id = l2cap_cid; in gap_connect_ind()
761 …L2CA_CONNECT_RSP (bd_addr, l2cap_id, l2cap_cid, L2CAP_CONN_OK, L2CAP_CONN_OK, &p_ccb->ertm_info, &… in gap_connect_ind()
763 GAP_TRACE_EVENT1("GAP_CONN - Rcvd L2CAP conn ind, CID: 0x%x", p_ccb->connection_id); in gap_connect_ind()
766 L2CA_CONFIG_REQ (l2cap_cid, &p_ccb->cfg); in gap_connect_ind()
779 static void gap_checks_con_flags (tGAP_CCB *p_ccb) in gap_checks_con_flags() argument
781 GAP_TRACE_EVENT1 ("gap_checks_con_flags conn_flags:0x%x, ", p_ccb->con_flags); in gap_checks_con_flags()
783 if ((p_ccb->con_flags & GAP_CCB_FLAGS_CONN_DONE) == GAP_CCB_FLAGS_CONN_DONE) in gap_checks_con_flags()
785 p_ccb->con_state = GAP_CCB_STATE_CONNECTED; in gap_checks_con_flags()
787 p_ccb->p_callback (p_ccb->gap_handle, GAP_EVT_CONN_OPENED); in gap_checks_con_flags()
803 tGAP_CCB *p_ccb = (tGAP_CCB *)p_ref_data; in gap_sec_check_complete() local
806 p_ccb->con_state, p_ccb->con_flags, res); in gap_sec_check_complete()
807 if (p_ccb->con_state == GAP_CCB_STATE_IDLE) in gap_sec_check_complete()
812 p_ccb->con_flags |= GAP_CCB_FLAGS_SEC_DONE; in gap_sec_check_complete()
813 gap_checks_con_flags (p_ccb); in gap_sec_check_complete()
818 L2CA_DISCONNECT_REQ (p_ccb->connection_id); in gap_sec_check_complete()
835 tGAP_CCB *p_ccb; in gap_connect_cfm() local
838 if ((p_ccb = gap_find_ccb_by_cid (l2cap_cid)) == NULL) in gap_connect_cfm()
842 if ( (p_ccb->con_flags & GAP_CCB_FLAGS_SEC_DONE) == 0) in gap_connect_cfm()
844 btm_sec_mx_access_request (p_ccb->rem_dev_address, p_ccb->psm, TRUE, in gap_connect_cfm()
845 0, 0, &gap_sec_check_complete, p_ccb); in gap_connect_cfm()
850 if ((result == L2CAP_CONN_OK) && (p_ccb->con_state == GAP_CCB_STATE_CONN_SETUP)) in gap_connect_cfm()
852 p_ccb->con_state = GAP_CCB_STATE_CFG_SETUP; in gap_connect_cfm()
855 L2CA_CONFIG_REQ (l2cap_cid, &p_ccb->cfg); in gap_connect_cfm()
860 if (p_ccb->p_callback) in gap_connect_cfm()
861 (*p_ccb->p_callback) (p_ccb->gap_handle, GAP_EVT_CONN_CLOSED); in gap_connect_cfm()
863 gap_release_ccb (p_ccb); in gap_connect_cfm()
879 tGAP_CCB *p_ccb; in gap_config_ind() local
883 if ((p_ccb = gap_find_ccb_by_cid (l2cap_cid)) == NULL) in gap_config_ind()
888 if (p_ccb->cfg.fcr.mode == L2CAP_FCR_ERTM_MODE) in gap_config_ind()
890 local_mtu_size = GKI_get_pool_bufsize (p_ccb->ertm_info.user_tx_pool_id) in gap_config_ind()
898 p_ccb->rem_mtu_size = local_mtu_size; in gap_config_ind()
901 p_ccb->rem_mtu_size = p_cfg->mtu; in gap_config_ind()
911 p_ccb->con_flags |= GAP_CCB_FLAGS_HIS_CFG_DONE; in gap_config_ind()
913 gap_checks_con_flags (p_ccb); in gap_config_ind()
929 tGAP_CCB *p_ccb; in gap_config_cfm() local
932 if ((p_ccb = gap_find_ccb_by_cid (l2cap_cid)) == NULL) in gap_config_cfm()
937 p_ccb->con_flags |= GAP_CCB_FLAGS_MY_CFG_DONE; in gap_config_cfm()
940 if (p_ccb->cfg.fcr_present) in gap_config_cfm()
941 p_ccb->cfg.fcr.mode = p_cfg->fcr.mode; in gap_config_cfm()
943 p_ccb->cfg.fcr.mode = L2CAP_FCR_BASIC_MODE; in gap_config_cfm()
945 gap_checks_con_flags (p_ccb); in gap_config_cfm()
949 p_ccb->p_callback (p_ccb->gap_handle, GAP_EVT_CONN_CLOSED); in gap_config_cfm()
950 gap_release_ccb (p_ccb); in gap_config_cfm()
967 tGAP_CCB *p_ccb; in gap_disconnect_ind() local
972 if ((p_ccb = gap_find_ccb_by_cid (l2cap_cid)) == NULL) in gap_disconnect_ind()
978 p_ccb->p_callback (p_ccb->gap_handle, GAP_EVT_CONN_CLOSED); in gap_disconnect_ind()
979 gap_release_ccb (p_ccb); in gap_disconnect_ind()
994 tGAP_CCB *p_ccb; in gap_data_ind() local
997 if ((p_ccb = gap_find_ccb_by_cid (l2cap_cid)) == NULL) in gap_data_ind()
1003 if (p_ccb->con_state == GAP_CCB_STATE_CONNECTED) in gap_data_ind()
1005 GKI_enqueue (&p_ccb->rx_queue, p_msg); in gap_data_ind()
1007 p_ccb->rx_queue_size += p_msg->len; in gap_data_ind()
1013 p_ccb->p_callback (p_ccb->gap_handle, GAP_EVT_CONN_DATA_AVAIL); in gap_data_ind()
1032 tGAP_CCB *p_ccb; in gap_congestion_ind() local
1041 if ((p_ccb = gap_find_ccb_by_cid (lcid)) == NULL) in gap_congestion_ind()
1044 p_ccb->is_congested = is_congested; in gap_congestion_ind()
1047 p_ccb->p_callback (p_ccb->gap_handle, event); in gap_congestion_ind()
1051 while ((p_buf = (BT_HDR *)GKI_dequeue (&p_ccb->tx_queue)) != NULL) in gap_congestion_ind()
1053 status = L2CA_DATA_WRITE (p_ccb->connection_id, p_buf); in gap_congestion_ind()
1057 p_ccb->is_congested = TRUE; in gap_congestion_ind()
1080 tGAP_CCB *p_ccb; in gap_find_ccb_by_cid() local
1083 for (xx = 0, p_ccb = gap_cb.conn.ccb_pool; xx < GAP_MAX_CONNECTIONS; xx++, p_ccb++) in gap_find_ccb_by_cid()
1085 if ((p_ccb->con_state != GAP_CCB_STATE_IDLE) && (p_ccb->connection_id == cid)) in gap_find_ccb_by_cid()
1086 return (p_ccb); in gap_find_ccb_by_cid()
1106 tGAP_CCB *p_ccb; in gap_find_ccb_by_handle() local
1111 p_ccb = &gap_cb.conn.ccb_pool[handle]; in gap_find_ccb_by_handle()
1113 if (p_ccb->con_state != GAP_CCB_STATE_IDLE) in gap_find_ccb_by_handle()
1114 return (p_ccb); in gap_find_ccb_by_handle()
1134 tGAP_CCB *p_ccb; in gap_allocate_ccb() local
1137 for (xx = 0, p_ccb = gap_cb.conn.ccb_pool; xx < GAP_MAX_CONNECTIONS; xx++, p_ccb++) in gap_allocate_ccb()
1139 if (p_ccb->con_state == GAP_CCB_STATE_IDLE) in gap_allocate_ccb()
1141 memset (p_ccb, 0, sizeof (tGAP_CCB)); in gap_allocate_ccb()
1143 p_ccb->gap_handle = xx; in gap_allocate_ccb()
1144 p_ccb->rem_mtu_size = L2CAP_MTU_SIZE; in gap_allocate_ccb()
1146 return (p_ccb); in gap_allocate_ccb()
1164 static void gap_release_ccb (tGAP_CCB *p_ccb) in gap_release_ccb() argument
1167 UINT16 psm = p_ccb->psm; in gap_release_ccb()
1168 UINT8 service_id = p_ccb->service_id; in gap_release_ccb()
1171 p_ccb->rx_queue_size = 0; in gap_release_ccb()
1173 while (p_ccb->rx_queue.p_first) in gap_release_ccb()
1174 GKI_freebuf (GKI_dequeue (&p_ccb->rx_queue)); in gap_release_ccb()
1176 while (p_ccb->tx_queue.p_first) in gap_release_ccb()
1177 GKI_freebuf (GKI_dequeue (&p_ccb->tx_queue)); in gap_release_ccb()
1179 p_ccb->con_state = GAP_CCB_STATE_IDLE; in gap_release_ccb()
1182 for (xx = 0, p_ccb = gap_cb.conn.ccb_pool; xx < GAP_MAX_CONNECTIONS; xx++, p_ccb++) in gap_release_ccb()
1184 if ((p_ccb->con_state != GAP_CCB_STATE_IDLE) && (p_ccb->psm == psm)) in gap_release_ccb()
1234 tGAP_CCB *p_ccb = gap_find_ccb_by_handle (p_msg->layer_specific); in gap_proc_btu_event() local
1238 if (!p_ccb) in gap_proc_btu_event()
1243 if (p_ccb->con_state != GAP_CCB_STATE_CONNECTED) in gap_proc_btu_event()
1248 if (p_ccb->is_congested) in gap_proc_btu_event()
1255 while ((p_buf = (BT_HDR *)GKI_dequeue (&p_ccb->tx_queue)) != NULL) in gap_proc_btu_event()
1257 status = L2CA_DATA_WRITE (p_ccb->connection_id, p_buf); in gap_proc_btu_event()
1261 p_ccb->is_congested = TRUE; in gap_proc_btu_event()