Infineon Logo AIROC BTSDK v4.2 - Documentation
 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages

Commonly used API's for both BE/EDR and LE L2CAP. More...

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_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_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...
 

Detailed Description

Commonly used API's for both BE/EDR and LE L2CAP.

Function Documentation

uint16_t wiced_bt_l2cap_allocate_psm ( void  )

Other layers call this function to find an unused PSM for L2CAP services.

Returns
PSM to use.
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.

Parameters
[in]fixed_cid: Fixed CID
[in]bd_addr: BD Address of remote
[in]ble_addr_type: Address type
Returns
TRUE if connection started
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.

Parameters
[in]cid: CID value
[in]p_buf: Input buffer
[in]buf_len: p_buf buffer size
[in]flags: refer L2CAP data write flags
Returns
refer L2CAP data write result
void wiced_bt_l2cap_deregister ( uint16_t  psm)

Other layers call this function to deregister for L2CAP services.

Parameters
[in]psm: PSM value
Returns
void
wiced_bool_t wiced_bt_l2cap_disconnect_req ( uint16_t  cid)

Higher layers call this function to disconnect a channel.

Parameters
[in]cid: CID value
Returns
TRUE if disconnect sent, else FALSE
wiced_bool_t wiced_bt_l2cap_disconnect_rsp ( uint16_t  cid)

Higher layers call this function to acknowledge the disconnection of a channel.

Parameters
[in]cid: CID value
Returns
void
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.

Parameters
[in]handle: HCI handle
[in]bd_addr: Peer Bd Address
Returns
: TRUE if found lcb for the given handle, FALSE otherwise
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.

Parameters
[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
Returns
TRUE if successful
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.

Parameters
[in]psm: PSM value
[in]p_cb_information: L2CAP cb info
Returns
PSM to use or zero if error. Typically, the PSM returned is the same as was passed in, but for an outgoing-only connection to a dynamic PSM, a "virtual" PSM is returned and should be used in the calls to wiced_bt_l2cap_connect_req().
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.

Parameters
[in]fixed_cid: Fixed Channel #
[in]p_freg: Channel Callbacks and config
Returns
TRUE if registered OK
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.

Parameters
[in]fixed_cid: Fixed CID
[in]rem_bda: BD Address of remote Idle timeout to use (or 0xFFFF if don't care)
Returns
TRUE if channel removed
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.

Parameters
[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
Returns
L2CAP_DATAWRITE_SUCCESS, if data accepted L2CAP_DATAWRITE_FAILED, if error
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.

Parameters
[in]rem_bda: Remote BD address
[in]fixed_cid: Fixed CID
[in]idle_timeout: Idle timeout
Returns
TRUE if command succeeded, FALSE if failed
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.

Parameters
[in]cid: CID value
[in]timeout: Timeout value
[in]is_global: TRUE, if global
Returns
TRUE if command succeeded, FALSE if failed
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.

Parameters
[in]bd_addr: BD Address
[in]timeout: Timeout value
[in]transport: Transport (BR-EDR or LE)
Returns
TRUE if command succeeded, FALSE if failed
Note
This timeout applies to all logical channels active on the ACL link.