int ble_att_conn_chan_find(uint16_t conn_handle, struct ble_hs_conn **out_conn, struct ble_l2cap_chan **out_chan) { int rc; rc = ble_hs_misc_conn_chan_find_reqd(conn_handle, BLE_L2CAP_CID_ATT, out_conn, out_chan); return rc; }
static int ble_sm_tx(uint16_t conn_handle, struct os_mbuf *txom) { struct ble_l2cap_chan *chan; struct ble_hs_conn *conn; int rc; BLE_HS_DBG_ASSERT(ble_hs_locked_by_cur_task()); STATS_INC(ble_l2cap_stats, sm_tx); ble_hs_misc_conn_chan_find_reqd(conn_handle, BLE_L2CAP_CID_SM, &conn, &chan); rc = ble_l2cap_tx(conn, chan, txom); if (rc != BLE_HS_ENONE) { return rc; } return BLE_HS_ENONE; }
static int ble_l2cap_sig_tx(uint16_t conn_handle, struct os_mbuf *txom) { struct ble_l2cap_chan *chan; struct ble_hs_conn *conn; int rc; STATS_INC(ble_l2cap_stats, sig_tx); ble_hs_lock(); rc = ble_hs_misc_conn_chan_find_reqd(conn_handle, BLE_L2CAP_CID_SIG, &conn, &chan); if (rc == 0) { rc = ble_l2cap_tx(conn, chan, txom); } ble_hs_unlock(); return rc; }