SmartSnippets DA1459x SDK
ble_l2cap.h
Go to the documentation of this file.
1 
39 #ifndef BLE_L2CAP_H_
40 #define BLE_L2CAP_H_
41 
42 #include <stdint.h>
43 #include "ble_common.h"
44 #include "ble_gap.h"
45 
62 };
63 
80 };
81 
83 typedef struct {
84  ble_evt_hdr_t hdr;
85  uint16_t conn_idx;
86  uint16_t psm;
87  uint16_t scid;
88  uint16_t dcid;
89  uint16_t local_credits;
90  uint16_t remote_credits;
91  uint16_t mtu;
93 
95 typedef struct {
96  ble_evt_hdr_t hdr;
97  uint16_t conn_idx;
98  uint16_t scid;
101 
103 typedef struct {
104  ble_evt_hdr_t hdr;
105  uint16_t conn_idx;
106  uint16_t psm;
107  uint16_t scid;
108  uint16_t dcid;
109  uint16_t mtu;
110  uint16_t remote_credits;
112 
114 typedef struct {
115  ble_evt_hdr_t hdr;
116  uint16_t conn_idx;
117  uint16_t scid;
118  uint16_t reason;
120 
122 typedef struct {
123  ble_evt_hdr_t hdr;
124  uint16_t conn_idx;
125  uint16_t scid;
126  uint16_t remote_credits;
128 
130 typedef struct {
131  ble_evt_hdr_t hdr;
132  uint16_t conn_idx;
133  uint16_t scid;
135  uint16_t length;
136  uint8_t data[0];
138 
140 typedef struct {
141  ble_evt_hdr_t hdr;
142  uint16_t conn_idx;
143  uint16_t scid;
144  uint16_t remote_credits;
147 
167 ble_error_t ble_l2cap_listen(uint16_t conn_idx, uint16_t psm, gap_sec_level_t sec_level,
168  uint16_t initial_credits, uint16_t *scid);
169 
189 ble_error_t ble_l2cap_listen_defer_setup(uint16_t conn_idx, uint16_t psm,
190  gap_sec_level_t sec_level, uint16_t initial_credits,
191  uint16_t *scid);
192 
207 ble_error_t ble_l2cap_connection_cfm(uint16_t conn_idx, uint16_t scid,
208  enum ble_l2cap_connection_status status);
209 
221 ble_error_t ble_l2cap_stop_listen(uint16_t conn_idx, uint16_t scid);
222 
236 ble_error_t ble_l2cap_connect(uint16_t conn_idx, uint16_t psm, uint16_t initial_credits,
237  uint16_t *scid);
238 
250 ble_error_t ble_l2cap_disconnect(uint16_t conn_idx, uint16_t scid);
251 
266 ble_error_t ble_l2cap_add_credits(uint16_t conn_idx, uint16_t scid, uint16_t credits);
267 
279 ble_error_t ble_l2cap_send(uint16_t conn_idx, uint16_t scid, uint16_t length, const void *data);
280 
281 
282 
300 DEPRECATED_MSG("API no longer supported, use ble_gap_conn_param_update() instead.")
301 ble_error_t ble_l2cap_conn_param_update(uint16_t conn_idx, const gap_conn_params_t *conn_params);
302 
303 #endif /* BLE_L2CAP_H_ */
304 
BLE_L2CAP_CONNECTION_REFUSED_INSUFFICIENT_AUTHORIZATION
Definition: ble_l2cap.h:75
ble_evt_l2cap_connected_t::remote_credits
uint16_t remote_credits
Definition: ble_l2cap.h:90
ble_evt_l2cap_connection_req_t::mtu
uint16_t mtu
Definition: ble_l2cap.h:109
gap_conn_params_t
Definition: ble_gap.h:574
ble_evt_l2cap_credit_changed_t
Definition: ble_l2cap.h:122
ble_evt_l2cap_connection_req_t::scid
uint16_t scid
Definition: ble_l2cap.h:107
ble_evt_l2cap_data_ind_t::length
uint16_t length
Definition: ble_l2cap.h:135
ble_l2cap_disconnect
ble_error_t ble_l2cap_disconnect(uint16_t conn_idx, uint16_t scid)
Disconnect channel.
ble_evt_l2cap_connection_failed_t::status
ble_error_t status
Definition: ble_l2cap.h:99
ble_evt_l2cap_connected_t::scid
uint16_t scid
Definition: ble_l2cap.h:87
ble_evt_l2cap_sent_t::scid
uint16_t scid
Definition: ble_l2cap.h:143
ble_evt_l2cap_credit_changed_t::scid
uint16_t scid
Definition: ble_l2cap.h:125
ble_evt_l2cap
ble_evt_l2cap
Definition: ble_l2cap.h:47
BLE_EVT_L2CAP_CONNECTION_FAILED
Definition: ble_l2cap.h:51
ble_evt_l2cap_data_ind_t::local_credits_consumed
uint16_t local_credits_consumed
Definition: ble_l2cap.h:134
ble_evt_l2cap_connected_t::conn_idx
uint16_t conn_idx
Definition: ble_l2cap.h:85
ble_evt_l2cap_connected_t::local_credits
uint16_t local_credits
Definition: ble_l2cap.h:89
ble_l2cap_listen
ble_error_t ble_l2cap_listen(uint16_t conn_idx, uint16_t psm, gap_sec_level_t sec_level, uint16_t initial_credits, uint16_t *scid)
Create a connection oriented channel listening for incoming connections.
ble_evt_l2cap_connection_failed_t::conn_idx
uint16_t conn_idx
Definition: ble_l2cap.h:97
BLE_EVT_L2CAP_SENT
Definition: ble_l2cap.h:61
ble_evt_l2cap_connected_t::psm
uint16_t psm
Definition: ble_l2cap.h:86
ble_evt_l2cap_data_ind_t::scid
uint16_t scid
Definition: ble_l2cap.h:133
BLE_L2CAP_CONNECTION_REFUSED_INSUFFICIENT_ENCRYPTION
Definition: ble_l2cap.h:79
ble_evt_l2cap_connection_failed_t::scid
uint16_t scid
Definition: ble_l2cap.h:98
ble_evt_l2cap_data_ind_t
Definition: ble_l2cap.h:130
ble_evt_l2cap_sent_t::remote_credits
uint16_t remote_credits
Definition: ble_l2cap.h:144
ble_l2cap_conn_param_update
ble_error_t ble_l2cap_conn_param_update(uint16_t conn_idx, const gap_conn_params_t *conn_params)
Initiate a connection parameter update over L2CAP.
ble_evt_l2cap_connection_failed_t
Definition: ble_l2cap.h:95
BLE_L2CAP_CONNECTION_REFUSED_NO_RESOURCES_AVAILABLE
Definition: ble_l2cap.h:71
ble_evt_l2cap_disconnected_t::scid
uint16_t scid
Definition: ble_l2cap.h:117
ble_evt_l2cap_credit_changed_t::conn_idx
uint16_t conn_idx
Definition: ble_l2cap.h:124
ble_evt_l2cap_connection_req_t::remote_credits
uint16_t remote_credits
Definition: ble_l2cap.h:110
ble_evt_l2cap_sent_t::conn_idx
uint16_t conn_idx
Definition: ble_l2cap.h:142
ble_l2cap_stop_listen
ble_error_t ble_l2cap_stop_listen(uint16_t conn_idx, uint16_t scid)
Stop listening for incoming connections.
ble_l2cap_connection_status
ble_l2cap_connection_status
Definition: ble_l2cap.h:65
ble_evt_hdr_t
Definition: ble_common.h:156
ble_evt_l2cap_sent_t::status
ble_error_t status
Definition: ble_l2cap.h:145
ble_evt_l2cap_sent_t
Definition: ble_l2cap.h:140
BLE_L2CAP_CONNECTION_SUCCESSFUL
Definition: ble_l2cap.h:67
ble_evt_l2cap_connected_t
Definition: ble_l2cap.h:83
ble_evt_l2cap_connection_req_t
Definition: ble_l2cap.h:103
BLE_EVT_CAT_FIRST
#define BLE_EVT_CAT_FIRST(CAT)
Definition: ble_common.h:153
BLE_EVT_L2CAP_CONNECTED
Definition: ble_l2cap.h:49
ble_l2cap_connection_cfm
ble_error_t ble_l2cap_connection_cfm(uint16_t conn_idx, uint16_t scid, enum ble_l2cap_connection_status status)
Accept or reject incoming connection.
ble_evt_l2cap_connected_t::dcid
uint16_t dcid
Definition: ble_l2cap.h:88
ble_l2cap_connect
ble_error_t ble_l2cap_connect(uint16_t conn_idx, uint16_t psm, uint16_t initial_credits, uint16_t *scid)
Connect a connection oriented channel to remote peer.
ble_evt_l2cap_connection_req_t::dcid
uint16_t dcid
Definition: ble_l2cap.h:108
BLE_EVT_L2CAP_DISCONNECTED
Definition: ble_l2cap.h:55
ble_evt_l2cap_credit_changed_t::remote_credits
uint16_t remote_credits
Definition: ble_l2cap.h:126
ble_evt_l2cap_connection_req_t::conn_idx
uint16_t conn_idx
Definition: ble_l2cap.h:105
BLE_EVT_L2CAP_REMOTE_CREDITS_CHANGED
Definition: ble_l2cap.h:57
ble_l2cap_listen_defer_setup
ble_error_t ble_l2cap_listen_defer_setup(uint16_t conn_idx, uint16_t psm, gap_sec_level_t sec_level, uint16_t initial_credits, uint16_t *scid)
Create a connection oriented channel listening for incoming connections.
ble_evt_l2cap_connection_req_t::psm
uint16_t psm
Definition: ble_l2cap.h:106
ble_error_t
ble_error_t
Definition: ble_common.h:53
ble_l2cap_send
ble_error_t ble_l2cap_send(uint16_t conn_idx, uint16_t scid, uint16_t length, const void *data)
Send data on channel.
gap_sec_level_t
gap_sec_level_t
Definition: ble_gap.h:531
BLE_L2CAP_CONNECTION_REFUSED_LE_PSM_NOT_SUPPORTED
Definition: ble_l2cap.h:69
ble_common.h
Common definitions for BLE API.
ble_gap.h
BLE GAP API.
BLE_EVT_L2CAP_DATA_IND
Definition: ble_l2cap.h:59
ble_evt_l2cap_connected_t::mtu
uint16_t mtu
Definition: ble_l2cap.h:91
ble_evt_l2cap_disconnected_t
Definition: ble_l2cap.h:114
BLE_L2CAP_CONNECTION_REFUSED_INSUFFICIENT_ENCRYPTION_KEY_SIZE
Definition: ble_l2cap.h:77
BLE_L2CAP_CONNECTION_REFUSED_INSUFFICIENT_AUTHENTICATION
Definition: ble_l2cap.h:73
ble_l2cap_add_credits
ble_error_t ble_l2cap_add_credits(uint16_t conn_idx, uint16_t scid, uint16_t credits)
Add local credits on channel.
ble_evt_l2cap_disconnected_t::conn_idx
uint16_t conn_idx
Definition: ble_l2cap.h:116
BLE_EVT_L2CAP_CONNECTION_REQ
Definition: ble_l2cap.h:53
ble_evt_l2cap_disconnected_t::reason
uint16_t reason
Definition: ble_l2cap.h:118
ble_evt_l2cap_data_ind_t::conn_idx
uint16_t conn_idx
Definition: ble_l2cap.h:132