Commonly used API's for both BE/EDR and LE L2CAP
Functions | |
| wiced_bool_t | wiced_bt_l2cap_register_fixed_channel (uint16_t fixed_cid, wiced_bt_l2cap_fixed_chnl_reg_t *p_freg) |
| Register a fixed channel. More... | |
| wiced_bool_t | wiced_bt_l2cap_deregister_fixed_channel (uint16_t fixed_cid) |
| De-register a fixed channel. More... | |
| wiced_bool_t | wiced_bt_l2cap_connect_fixed_chnl (uint16_t fixed_cid, wiced_bt_device_address_t bd_addr, wiced_bt_ble_address_type_t ble_addr_type) |
| Connect an fixed signalling channel to a remote device. More... | |
| uint16_t | wiced_bt_l2cap_send_fixed_chnl_data (uint16_t fixed_cid, wiced_bt_device_address_t rem_bda, uint8_t *p_data, uint16_t data_len) |
| Write data on a fixed signalling channel. More... | |
| wiced_bool_t | wiced_bt_l2cap_remove_fixed_chnl (uint16_t fixed_cid, wiced_bt_device_address_t rem_bda) |
| Remove a fixed channel to a remote device. More... | |
| wiced_bool_t | wiced_bt_l2cap_set_fixed_channel_timeout (wiced_bt_device_address_t rem_bda, uint16_t fixed_cid, uint16_t idle_timeout) |
| Higher layers call this function to set the idle timeout for a fixed channel. More... | |
| wiced_bool_t | wiced_bt_l2cap_ecrb_register (uint16_t psm, wiced_bt_l2cap_ecrb_cb_ptrs_t *p_ecrb_callbacks) |
| Application calls this function to register support for enhanced credit-based channels. More... | |
| wiced_bool_t | wiced_bt_l2cap_ecrb_deregister (uint16_t psm) |
| Application calls this function to deregister support for enhanced credit-based channels. More... | |
| int | wiced_bt_l2cap_ecrb_connect_req (uint16_t psm, wiced_bt_transport_t transport, wiced_bt_device_address_t bd_addr, wiced_bt_ble_address_type_t bd_addr_type, wiced_bt_ble_conn_mode_t conn_mode, uint16_t our_rx_mtu, uint16_t our_rx_mps, int num_channels, tDRB **p_rx_drb_list, wiced_bt_ecrb_cid_list_t lcid_list) |
| Higher layers call this function to create up to 5 credit-based L2CAP connections on the same PSM. More... | |
| void | wiced_bt_l2cap_ecrb_ConnectRsp (uint16_t result, uint8_t trans_id, int16_t our_rx_mtu, uint16_t our_rx_mps, wiced_bt_ecrb_cid_list_t lcid_list, tDRB **p_rx_drb_list) |
| Higher layers call this function to accept incoming Enhanced Credit-based L2CAP channel establishment, for which they had gotten a connect indication callback. More... | |
| wiced_bool_t | wiced_bt_l2cap_ecrb_reconfigure (uint16_t new_rx_mtu, int16_t new_rx_mps, int num_channels, wiced_bt_ecrb_cid_list_t lcid_list, tDRB **p_rx_drb_list) |
| Higher layers call this function to reconfigure the MTU and or MPS of Enhanced Credit-based L2CAP channels. More... | |
| wiced_bool_t | wiced_bt_l2cap_get_current_config (uint16_t lcid, wiced_bt_l2cap_cfg_information_t **pp_our_cfg, wiced_bt_l2cap_ch_cfg_bits_t *p_our_cfg_bits, wiced_bt_l2cap_cfg_information_t **pp_peer_cfg, wiced_bt_l2cap_ch_cfg_bits_t *p_peer_cfg_bits) |
| This function returns configurations of L2CAP channel. More... | |
| uint16_t | wiced_bt_l2cap_register (uint16_t psm, wiced_bt_l2cap_appl_information_t *p_cb_information) |
| Other layers call this function to register for L2CAP services. More... | |
| void | wiced_bt_l2cap_deregister (uint16_t psm) |
| Other layers call this function to deregister for L2CAP services. More... | |
| uint16_t | wiced_bt_l2cap_allocate_psm (void) |
| Other layers call this function to find an unused PSM for L2CAP services. More... | |
| wiced_bool_t | wiced_bt_l2cap_disconnect_req (uint16_t cid) |
| Higher layers call this function to disconnect a channel. More... | |
| wiced_bool_t | wiced_bt_l2cap_disconnect_rsp (uint16_t cid) |
| Higher layers call this function to acknowledge the disconnection of a channel. More... | |
| uint8_t | wiced_bt_l2cap_data_write (uint16_t cid, uint8_t *p_buf, uint16_t buf_len, uint16_t flags) |
| Higher layers call this function to write data with extended. More... | |
| wiced_bool_t | wiced_bt_l2cap_set_idle_timeout (uint16_t cid, uint16_t timeout, wiced_bool_t is_global) |
| Higher layers call this function to set the idle timeout for a connection, or for all future connections. More... | |
| wiced_bool_t | wiced_bt_l2cap_set_idle_timeout_by_bd_addr (wiced_bt_device_address_t bd_addr, uint16_t timeout, wiced_bt_transport_t transport) |
| Higher layers call this function to set the idle timeout for a connection. More... | |
| wiced_bool_t | wiced_bt_l2cap_get_bdaddrby_handle (uint16_t handle, wiced_bt_device_address_t bd_addr) |
| Get BD address for the given HCI handle. More... | |
| wiced_bool_t wiced_bt_l2cap_register_fixed_channel | ( | uint16_t | fixed_cid, |
| wiced_bt_l2cap_fixed_chnl_reg_t * | p_freg | ||
| ) |
Register a fixed channel.
| [in] | fixed_cid | : Fixed Channel # |
| [in] | p_freg | : Channel Callbacks and config |
| wiced_bool_t wiced_bt_l2cap_deregister_fixed_channel | ( | uint16_t | fixed_cid | ) |
De-register a fixed channel.
| [in] | fixed_cid | : Fixed Channel # |
| wiced_bool_t wiced_bt_l2cap_connect_fixed_chnl | ( | uint16_t | fixed_cid, |
| wiced_bt_device_address_t | bd_addr, | ||
| wiced_bt_ble_address_type_t | ble_addr_type | ||
| ) |
Connect an fixed signalling channel to a remote device.
| [in] | fixed_cid | : Fixed CID |
| [in] | bd_addr | : BD Address of remote |
| [in] | ble_addr_type | : Address type |
| uint16_t wiced_bt_l2cap_send_fixed_chnl_data | ( | uint16_t | fixed_cid, |
| wiced_bt_device_address_t | rem_bda, | ||
| uint8_t * | p_data, | ||
| uint16_t | data_len | ||
| ) |
Write data on a fixed signalling channel.
| [in] | fixed_cid | : Fixed CID |
| [in] | rem_bda | : BD Address of remote |
| [in] | p_data | : Pointer to data to send |
| [in] | data_len | : Length of data to send |
| wiced_bool_t wiced_bt_l2cap_remove_fixed_chnl | ( | uint16_t | fixed_cid, |
| wiced_bt_device_address_t | rem_bda | ||
| ) |
Remove a fixed channel to a remote device.
| [in] | fixed_cid | : Fixed CID |
| [in] | rem_bda | : BD Address of remote Idle timeout to use (or 0xFFFF if don't care) |
| wiced_bool_t wiced_bt_l2cap_set_fixed_channel_timeout | ( | wiced_bt_device_address_t | rem_bda, |
| uint16_t | fixed_cid, | ||
| uint16_t | idle_timeout | ||
| ) |
Higher layers call this function to set the idle timeout for a fixed channel.
The "idle timeout" is the amount of time that a connection can remain up with no L2CAP channels on it. A timeout of zero means that the connection will be torn down immediately when the last channel is removed. A timeout of 0xFFFF means no timeout. Values are in seconds. A bd_addr is the remote BD address. If bd_addr = BT_BD_ANY, then the idle timeouts for all active l2cap links will be changed.
| [in] | rem_bda | : Remote BD address |
| [in] | fixed_cid | : Fixed CID |
| [in] | idle_timeout | : Idle timeout |
| wiced_bool_t wiced_bt_l2cap_ecrb_register | ( | uint16_t | psm, |
| wiced_bt_l2cap_ecrb_cb_ptrs_t * | p_ecrb_callbacks | ||
| ) |
Application calls this function to register support for enhanced credit-based channels.
The PSM must have been previously registered for BR and/or LE.
| [in] | psm | : PSM value |
| [in] | p_ecrb_callbacks | : callbacks for the credit based channel connections |
| wiced_bool_t wiced_bt_l2cap_ecrb_deregister | ( | uint16_t | psm | ) |
Application calls this function to deregister support for enhanced credit-based channels.
The PSM must have been previously registered.
| [in] | psm | PSM value |
| int wiced_bt_l2cap_ecrb_connect_req | ( | uint16_t | psm, |
| wiced_bt_transport_t | transport, | ||
| wiced_bt_device_address_t | bd_addr, | ||
| wiced_bt_ble_address_type_t | bd_addr_type, | ||
| wiced_bt_ble_conn_mode_t | conn_mode, | ||
| uint16_t | our_rx_mtu, | ||
| uint16_t | our_rx_mps, | ||
| int | num_channels, | ||
| tDRB ** | p_rx_drb_list, | ||
| wiced_bt_ecrb_cid_list_t | lcid_list | ||
| ) |
Higher layers call this function to create up to 5 credit-based L2CAP connections on the same PSM.
| [in] | psm | PSM Value |
| [in] | transport | Bluetooth transport for the connection |
| [in] | bd_addr | : Bluetooth device address to connect |
| [in] | bd_addr_type | BLE_ADDR_PUBLIC or BLE_ADDR_RANDOM |
| [in] | conn_mode | : LE connection mode |
| [in] | our_rx_mtu | Our RX MTU to be used for the channels |
| [in] | our_rx_mps | Our RX MPS to be used for the channels |
our_rx_mps must be less then wiced_bt_cfg_ble_t::ble_max_rx_pdu_size or wiced_bt_cfg_br_t::br_max_rx_pdu_size for LE and BR/EDR transports respectively | [in] | num_channels | : Number of channels to be created |
| [in] | p_rx_drb_list | list of the allocated tDRB 's, one for each num_channels |
our_rx_mtu bytes + DRB_OVERHEAD_SIZE) lcid_list | [out] | lcid_list | list of cids (channel ids) which will be started |
| void wiced_bt_l2cap_ecrb_ConnectRsp | ( | uint16_t | result, |
| uint8_t | trans_id, | ||
| int16_t | our_rx_mtu, | ||
| uint16_t | our_rx_mps, | ||
| wiced_bt_ecrb_cid_list_t | lcid_list, | ||
| tDRB ** | p_rx_drb_list | ||
| ) |
Higher layers call this function to accept incoming Enhanced Credit-based L2CAP channel establishment, for which they had gotten a connect indication callback.
| [in] | result | : Result of the connection set by the application. L2CAP result codes (L2CAP_CONN_RESULT) |
| [in] | trans_id | : trans_id received in the wiced_bt_l2cap_ecrb_connect_ind |
| [in] | our_rx_mtu | Our RX MTU to be used for the channels |
| [in] | our_rx_mps | Our RX MPS to be used for the channels |
our_rx_mps must be less then wiced_bt_cfg_ble_t::ble_max_rx_pdu_size or wiced_bt_cfg_br_t::br_max_rx_pdu_size for LE and BR/EDR transports respectively | [out] | lcid_list | list of cids (channel ids) which will be started as received in wiced_bt_l2cap_ecrb_connect_ind |
lcid_list must match the CID list returned in the callback. The DRB pointer list must contain a valid DRB pointer for each non-zero CID in the list that the application accepts. | [in] | p_rx_drb_list | : list of the allocated tDRB 's, one for each num_channels |
our_rx_mtu | wiced_bool_t wiced_bt_l2cap_ecrb_reconfigure | ( | uint16_t | new_rx_mtu, |
| int16_t | new_rx_mps, | ||
| int | num_channels, | ||
| wiced_bt_ecrb_cid_list_t | lcid_list, | ||
| tDRB ** | p_rx_drb_list | ||
| ) |
Higher layers call this function to reconfigure the MTU and or MPS of Enhanced Credit-based L2CAP channels.
| [in] | new_rx_mtu | Our new RX MTU to be used for the channels |
new_rx_mtu is zero, no change to MTU is requested. Otherwise new_rx_mtu must be larger than the old MTU for all channels.| [in] | new_rx_mps | Our new RX MPS to be used for the channels |
new_rx_mts is zero, no change to MPS is requested. Otherwise new_rx_mps must be larger than the old MPS for all channels. new_rx_mps must be less then wiced_bt_cfg_ble_t::ble_max_rx_pdu_size or wiced_bt_cfg_br_t::br_max_rx_pdu_size for LE and BR/EDR transports respectively| [in] | num_channels | : Number of channels to be created |
| [in] | lcid_list | : list of channels to be reconfigured |
| [in] | p_rx_drb_list | : list of the allocated tDRB 's, one for each num_channels |
new_rx_mtu | wiced_bool_t wiced_bt_l2cap_get_current_config | ( | uint16_t | lcid, |
| wiced_bt_l2cap_cfg_information_t ** | pp_our_cfg, | ||
| wiced_bt_l2cap_ch_cfg_bits_t * | p_our_cfg_bits, | ||
| wiced_bt_l2cap_cfg_information_t ** | pp_peer_cfg, | ||
| wiced_bt_l2cap_ch_cfg_bits_t * | p_peer_cfg_bits | ||
| ) |
This function returns configurations of L2CAP channel.
| [in] | lcid | : Local CID |
| [in] | pp_our_cfg | : pointer of our saved configuration options |
| [in] | p_our_cfg_bits | : valid config in bitmap |
| [in] | pp_peer_cfg | : pointer of peer's saved configuration options |
| [in] | p_peer_cfg_bits | : valid config in bitmap |
| uint16_t wiced_bt_l2cap_register | ( | uint16_t | psm, |
| wiced_bt_l2cap_appl_information_t * | p_cb_information | ||
| ) |
Other layers call this function to register for L2CAP services.
| [in] | psm | : PSM value |
| [in] | p_cb_information | : L2CAP cb info |
| void wiced_bt_l2cap_deregister | ( | uint16_t | psm | ) |
Other layers call this function to deregister for L2CAP services.
| [in] | psm | : PSM value |
| uint16_t wiced_bt_l2cap_allocate_psm | ( | void | ) |
Other layers call this function to find an unused PSM for L2CAP services.
| wiced_bool_t wiced_bt_l2cap_disconnect_req | ( | uint16_t | cid | ) |
Higher layers call this function to disconnect a channel.
| [in] | cid | : CID value |
| wiced_bool_t wiced_bt_l2cap_disconnect_rsp | ( | uint16_t | cid | ) |
Higher layers call this function to acknowledge the disconnection of a channel.
| [in] | cid | : CID value |
| uint8_t wiced_bt_l2cap_data_write | ( | uint16_t | cid, |
| uint8_t * | p_buf, | ||
| uint16_t | buf_len, | ||
| uint16_t | flags | ||
| ) |
Higher layers call this function to write data with extended.
| [in] | cid | : CID value |
| [in] | p_buf | : Input buffer |
| [in] | buf_len | : p_buf buffer size |
| [in] | flags | : refer L2CAP data write flags |
| wiced_bool_t wiced_bt_l2cap_set_idle_timeout | ( | uint16_t | cid, |
| uint16_t | timeout, | ||
| wiced_bool_t | is_global | ||
| ) |
Higher layers call this function to set the idle timeout for a connection, or for all future connections.
The "idle timeout" is the amount of time that a connection can remain up with no L2CAP channels on it. A timeout of zero means that the connection will be torn down immediately when the last channel is removed. A timeout of 0xFFFF means no timeout. Values are in seconds.
| [in] | cid | : CID value |
| [in] | timeout | : Timeout value |
| [in] | is_global | : TRUE, if global |
| wiced_bool_t wiced_bt_l2cap_set_idle_timeout_by_bd_addr | ( | wiced_bt_device_address_t | bd_addr, |
| uint16_t | timeout, | ||
| wiced_bt_transport_t | transport | ||
| ) |
Higher layers call this function to set the idle timeout for a connection.
The "idle timeout" is the amount of time that a connection can remain up with no L2CAP channels on it. A timeout of zero means that the connection will be torn down immediately when the last channel is removed. A timeout of 0xFFFF means no timeout. Values are in seconds. A bd_addr is the remote BD address. If bd_addr = BT_BD_ANY, then the idle timeouts for all active l2cap links will be changed.
| [in] | bd_addr | : BD Address |
| [in] | timeout | : Timeout value |
| [in] | transport | : Transport (BR-EDR or LE) |
| wiced_bool_t wiced_bt_l2cap_get_bdaddrby_handle | ( | uint16_t | handle, |
| wiced_bt_device_address_t | bd_addr | ||
| ) |
Get BD address for the given HCI handle.
| [in] | handle | : HCI handle |
| [in] | bd_addr | : Peer Bd Address |