ble_l2cap.h
Go to the documentation of this file.
1 /**
2 ****************************************************************************************
3 *
4 * @file ble_l2cap.h
5 *
6 * @brief BLE L2CAP API
7 *
8 ****************************************************************************************
9 * @attention
10 #####Copyright (c) 2019 GOODIX
11 All rights reserved.
12
13 Redistribution and use in source and binary forms, with or without
14 modification, are permitted provided that the following conditions are met:
15 * Redistributions of source code must retain the above copyright
16 notice, this list of conditions and the following disclaimer.
17 * Redistributions in binary form must reproduce the above copyright
18 notice, this list of conditions and the following disclaimer in the
19 documentation and/or other materials provided with the distribution.
20 * Neither the name of GOODIX nor the names of its contributors may be used
21 to endorse or promote products derived from this software without
22 specific prior written permission.
23
24 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
28 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34 POSSIBILITY OF SUCH DAMAGE.
35 *****************************************************************************************
36 */
37
38 /**
39 * @addtogroup BLE
40 * @{
41 */
42
43 /**
44 * @addtogroup BLE_L2CAP Logical Link Control and Adaptation Protocol (L2CAP)
45 * @{
46 * @brief Definitions and prototypes for the L2CAP interface.
47 */
48
49 #ifndef __BLE_L2CAP_H__
50 #define __BLE_L2CAP_H__
51
52 #include "ble_error.h"
53 #include <stdint.h>
54 #include <stdbool.h>
55
56 /** @addtogroup BLE_L2CAP_ENUMERATIONS Enumerations
57 * @{
58 */
59 /**@brief LE credit based disconnection reasons. */
60 typedef enum
61 {
62 BLE_L2CAP_REMOTE_USER_TERM_CON = 0x00, /**< Remote user terminates the connection. */
63 BLE_L2CAP_LOCAL_USER_TERM_CON = 0x01, /**< Local user terminates the connection. */
64 } ble_l2cap_lecb_disconn_reason_t;
65
66 /** @} */
67
68 /** @addtogroup BLE_L2CAP_STRUCTURES Structures
69 * @{
70 */
71 /** @brief The parameter of LE credit based connection request packet sending.
72 * @note The le_psm should be registered by the peer device, otherwise the peer device will reject this request with result of LE_PSM not supported.
73 * @note The local_cid should be 0x0040-0x007F. If the local_cid is set to 0, the stack will assign it dynamically.
74 * @note The local_credit is required to be sure that at least one SDU can be received, otherwise the stack will use the default value: (MTU + MPS + 1) /MPS + 1.
75 * @note The MTU range is [23~max_mtu].
76 * @note The MPS range is [23~max_mps].
77 * @note About max_mtu and max_mps config, please see @ref ble_gap_l2cap_params_set.
78 */
79 typedef struct
80 {
81 uint16_t le_psm; /**< The le_psm number. */
82 uint16_t local_cid; /**< The local CID. */
83 uint16_t local_credits; /**< The local credits indicate the number of LE-frames that the peer device can send to the L2CAP layer entity sending the LE Credit Based Connection Request. */
84 uint16_t mtu; /**< The MTU field specifies the maximum SDU size (in octets) that the L2CAP layer entity sending the LE Credit Based Connection Request can receive on this channel. */
85 uint16_t mps; /**< The MPS field specifies the maximum payload size (in octets) that the L2CAP layer entity sending the LE Credit Based Connection Request is capable of receiving on this channel. */
86 } ble_l2cap_lecb_conn_req_t;
87
88 /** @brief LE credit based connection confirm parameter.
89 * @note The accept flag indicates whether the App accepts the LE Credit Based connection request.
90 * @note The peer_cid represents the channel endpoint on the peer device.
91 * @note The local_cid should be 0x0040-0x007F. If the local_cid is set to 0, the stack will assign it dynamically.
92 * @note The local_credits required to be sure that at least one SDU can be received, otherwise the stack will use the default value: (MTU + MPS + 1) /MPS + 1.
93 * @note The MTU range is [23~max_mtu].
94 * @note The MPS range is [23~max_mps].
95 * @note About the max_mtu and max_mps config, please see @ref ble_gap_l2cap_params_set.
96 */
97 typedef struct
98 {
99 bool accept; /**< Whether to accept the connection request. */
100 uint16_t peer_cid; /**< It represents the channel endpoint on the device sending the request and receiving the response. */
101 uint16_t local_cid; /**< Local CID. */
102 uint16_t local_credits; /**< It indicates the number of LE-frames that the peer device can send to the L2CAP layer entity sending the LE Credit Based Connection Respone. */
103 uint16_t mtu; /**< The MTU field specifies the maximum SDU size (in octets) that the L2CAP layer entity sending
104 the LE Credit Based Connection Request can receive on this channel. */
105 uint16_t mps; /**< The MPS field specifies the maximum payload size (in octets) that the L2CAP layer entity sending
106 the LE Credit Based Connection Request is capable of receiving on this channel. */
107 } ble_l2cap_lecb_cfm_conn_t;
108
109 /** @brief LE flow control credit packet parameter. */
110 typedef struct
111 {
112 uint16_t local_cid; /**< The local source channel ID. */
113 uint16_t credits; /**< Number of credits that the receiving device can increment. */
114 } ble_l2cap_lecb_add_credits_t;
115
116 /** @brief Sdu parameter. */
117 typedef struct
118 {
119 uint16_t cid; /**< The local source channel. */
120 uint16_t credits; /**< The credits is 0 if this packet is being sent, otherwise it represents the number of credits consumed by the sdu. */
121 uint16_t length; /**< The lenght of data. */
122 uint8_t *data; /**< The data of this sdu packet. */
123 } ble_l2cap_lecb_sdu_t;
124
125 /** @brief Receive LE credit based connection request packet indication. */
126 typedef struct
127 {
128 uint16_t le_psm; /**< Le_psm number that should be registered by local device. */
129 uint16_t peer_cid; /**< It represents the channel endpoint on the device sending the request and receiving the response. */
130 uint16_t peer_mtu; /**< It indicates the maximum SDU size (in octets) that the L2CAP layer entity sending the LE Credit
131 Based Connection Request can receive on this channel. */
132 uint16_t peer_mps; /**< It indicates the maximum payload size (in octets) that the L2CAP layer entity sending the LE Credit
133 Based Connection Request is capable of receiving on this channe. */
134 } lecb_conn_req_ind_t;
135
136 /** @brief LE credit based connection created indication. */
137 typedef struct
138 {
139 uint16_t le_psm; /**< Le_psm number. */
140 uint16_t local_cid; /**< The local source channel ID. */
141 uint16_t local_credits; /**< It indicates the number of LE-frames that the local device can receive. */
142 uint16_t peer_credits; /**< It indicates the number of LE-frames that the peer device can receive. */
143 uint16_t peer_mtu; /**< It indicates the maximum SDU size (in octets) that the L2CAP layer entity sending the LE Credit
144 Based Connection Request can receive on this channel. */
145 uint16_t peer_mps; /**< It indicates the maximum payload size (in octets) that the L2CAP layer entity sending the LE Credit
146 Based Connection Request is capable of receiving on this channe. */
147 } lecb_conn_ind_t;
148
149 /** @brief LE credit based disconnect indication. */
150 typedef struct
151 {
152 uint16_t local_cid; /**< The local source channel ID. */
153 uint8_t reason; /**< The reason for disconnection, see @ref ble_l2cap_lecb_disconn_reason_t. */
154 } lecb_disconn_ind_t;
155
156 /** @brief LE credit based connection addition indication. */
157 typedef struct
158 {
159 uint16_t local_cid; /**< The local source channel ID. */
160 uint16_t peer_added_credits; /**< Represent number of credits the receiving device can increment. */
161 } lecb_add_credits_ind_t;
162
163 /** @brief LE credit based SDU sending complete event. */
164 typedef struct
165 {
166 uint16_t cid; /**< Channel ID that is the local CID. */
167 uint16_t credits; /**< Number of peer credit used. */
168 } lecb_sdu_send_evt_t;
169
170 /** @brief L2cap Connect Request event for @ref BLE_L2CAP_EVT_CONN_REQ. */
171 typedef struct
172 {
173 uint16_t le_psm; /**< Le_psm number that should be registered by local device. */
174 uint16_t peer_cid; /**< It represents the channel endpoint on the device sending the request and receiving the response. */
175 uint16_t peer_mtu; /**< It indicates the maximum SDU size (in octets) that the L2CAP layer entity sending the LE Credit
176 Based Connection Request can receive on this channel. */
177 uint16_t peer_mps; /**< It indicates the maximum payload size (in octets) that the L2CAP layer entity sending the LE Credit
178 Based Connection Request is capable of receiving on this channe. */
179 } ble_l2cap_evt_conn_req_t;
180
181 /** @brief L2cap Connected Indicate event for @ref BLE_L2CAP_EVT_CONN_IND. */
182 typedef struct
183 {
184 uint16_t le_psm; /**< Le_psm number. */
185 uint16_t local_cid; /**< The local source channel ID. */
186 uint16_t local_credits; /**< It indicates the number of LE-frames that the local device can receive. */
187 uint16_t peer_credits; /**< It indicates the number of LE-frames that the peer device can receive. */
188 uint16_t peer_mtu; /**< It indicates the maximum SDU size (in octets) that the L2CAP layer entity sending the LE Credit
189 Based Connection Request can receive on this channel. */
190 uint16_t peer_mps; /**< It indicates the maximum payload size (in octets) that the L2CAP layer entity sending the LE Credit
191 Based Connection Request is capable of receiving on this channe. */
192 } ble_l2cap_evt_conn_ind_t;
193
194 /** @brief L2cap Credits Add Indicate event for @ref BLE_L2CAP_EVT_ADD_CREDITS_IND. */
195 typedef struct
196 {
197 uint16_t local_cid; /**< The local source channel ID. */
198 uint16_t peer_added_credits; /**< Represent number of credits the receiving device can increment. */
199 } ble_l2cap_evt_add_credits_ind_t;
200
201 /** @brief L2cap disconnect event for @ref BLE_L2CAP_EVT_DISCONNECTED. */
202 typedef struct
203 {
204 uint16_t local_cid; /**< The local source channel ID. */
205 ble_l2cap_lecb_disconn_reason_t reason; /**< The reason for disconnection, see @ref ble_l2cap_lecb_disconn_reason_t . */
206 } ble_l2cap_evt_disconnect_t;
207
208 /**@brief L2cap SDU Receive event for @ref BLE_L2CAP_EVT_SDU_RECV. */
209 typedef struct
210 {
211 uint16_t cid; /**< The local source channel. */
212 uint16_t credits; /**< The credits is 0 if this packet is being sent, otherwise it represents the number of credits consumed by the sdu. */
213 uint16_t length; /**< The lenght of data. */
214 uint8_t *data; /**< The data of this sdu packet. */
215 } ble_l2cap_evt_sdu_recv_t;
216
217 /**@brief L2cap SDU Send event for @ref BLE_L2CAP_EVT_SDU_SEND. */
218 typedef struct
219 {
220 uint16_t cid; /**< Channel ID that is the local CID. */
221 uint16_t credits; /**< Number of peer credit used. */
222 } ble_l2cap_evt_sdu_send_t;
223
224 /**@brief L2cap Credits Add Completed event for @ref BLE_L2CAP_EVT_ADD_CREDITS_CPLT. */
225 typedef struct
226 {
227 uint16_t local_cid; /**< Channel ID that is the local CID. */
228 } ble_l2cap_evt_add_credits_cplt_t;
229
230 /**@brief BLE L2CAP event structure. */
231 typedef struct
232 {
233 uint8_t index; /**< Index of connection. */
234 union
235 {
236 ble_l2cap_evt_conn_req_t conn_req; /**< Link Encrypte Request event. */
237 ble_l2cap_evt_conn_ind_t conn_ind; /**< Link Encrypted event. */
238 ble_l2cap_evt_add_credits_ind_t add_credits_ind; /**< Key Press Notify event. */
239 ble_l2cap_evt_disconnect_t disconnected; /**< Key Missing event. */
240 ble_l2cap_evt_sdu_recv_t sdu_recv; /**< Link Encrypte Request event. */
241 ble_l2cap_evt_sdu_send_t sdu_send; /**< Link Encrypted event. */
242 ble_l2cap_evt_add_credits_cplt_t add_credits_cplt; /**< Key Press Notify event. */
243 } params;
244 } ble_l2cap_evt_t;
245 /** @} */
246
247 /** @addtogroup BLE_L2CAP_FUNCTIONS Functions
248 * @{ */
249 /**
250 ****************************************************************************************
251 * @brief Create the LE credit based connection.
252 *
253 * @param[in] conn_idx: ACL connection index.
254 * @param[in] p_conn_req: Pointer to the LE Credit Based Connection Request structure.
255 *
256 * @retval ::SDK_SUCCESS: The LE Credit Based connection request is successfully set to the BLE stack.
257 * @retval ::SDK_ERR_POINTER_NULL: Invalid pointer supplied.
258 * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
259 * @retval ::SDK_ERR_NO_RESOURCES: Not enough resources.
260 ****************************************************************************************
261 */
262 uint16_t ble_l2cap_lecb_conn_create(uint8_t conn_idx, const ble_l2cap_lecb_conn_req_t *p_conn_req);
263
264 /**
265 ****************************************************************************************
266 * @brief Confirm the LE credit based connection after receiving the connection request packet from the peer device.
267 * @param[in] conn_idx: ACL connection index.
268 * @param[in] p_cfm_conn: Pointer to the LE Credit Based Connection Confirm structure.
269 *
270 * @retval ::SDK_SUCCESS: The LE Credit Based connection confirmation is successfully set to the BLE stack.
271 * @retval ::SDK_ERR_POINTER_NULL: Invalid pointer supplied.
272 * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
273 * @retval ::SDK_ERR_INVALID_PARAM: Invalid parameter supplied.
274 * @retval ::SDK_ERR_NO_RESOURCES: Not enough resources.
275 ****************************************************************************************
276 */
277 uint16_t ble_l2cap_lecb_conn_cfm(uint8_t conn_idx, const ble_l2cap_lecb_cfm_conn_t *p_cfm_conn);
278
279 /**
280 ****************************************************************************************
281 * @brief Disconnect the LE credit based connection.
282 *
283 * @param[in] conn_idx: ACL connection index.
284 * @param[in] local_cid: The local source channel ID.
285 *
286 * @retval ::SDK_SUCCESS: LE Credit Based disconnection request is successfully set to the BLE stack.
287 * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
288 * @retval ::SDK_ERR_NO_RESOURCES: Not enough resources.
289 ****************************************************************************************
290 */
291 uint16_t ble_l2cap_lecb_disconnect(uint8_t conn_idx, uint16_t local_cid);
292
293 /**
294 ****************************************************************************************
295 * @brief Send a LE Flow Control Credit packet when the device is capable of receiving additional LE-frames.
296 *
297 * @param[in] conn_idx: ACL connection index.
298 * @param[in] p_add_credits: Pointer to the LE Flow Control Credit structure.
299 *
300 * @retval ::SDK_SUCCESS: LE Flow Control Credit packet is successfully set to the BLE stack.
301 * @retval ::SDK_ERR_POINTER_NULL: Invalid pointer supplied.
302 * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
303 * @retval ::SDK_ERR_NO_RESOURCES: Not enough resources.
304 ****************************************************************************************
305 */
306 uint16_t ble_l2cap_lecb_credits_add(uint8_t conn_idx, const ble_l2cap_lecb_add_credits_t *p_add_credits);
307
308 /**
309 ****************************************************************************************
310 * @brief Send an SDU packet to the peer device.
311 *
312 * @param[in] conn_idx: ACL connection index.
313 * @param[in] p_sdu: Pointer to the sdu packet structure.
314 *
315 * @retval ::SDK_SUCCESS: The sdu packet is successfully set to the BLE stack.
316 * @retval ::SDK_ERR_POINTER_NULL: Invalid pointer supplied.
317 * @retval ::SDK_ERR_INVALID_CONN_IDX: Invalid connection index supplied.
318 * @retval ::SDK_ERR_NO_RESOURCES: Not enough resources.
319 ****************************************************************************************
320 */
321 uint16_t ble_l2cap_lecb_sdu_send(uint8_t conn_idx, const ble_l2cap_lecb_sdu_t *p_sdu);
322
323 /** @} */
324
325 #endif
326
327 /** @} */
328 /** @} */
ble_l2cap_evt_conn_req_t::peer_cid
uint16_t peer_cid
Definition: ble_l2cap.h:174
ble_l2cap_evt_conn_req_t::peer_mtu
uint16_t peer_mtu
Definition: ble_l2cap.h:175
ble_l2cap_evt_add_credits_ind_t::peer_added_credits
uint16_t peer_added_credits
Definition: ble_l2cap.h:198
ble_l2cap_evt_t::index
uint8_t index
Definition: ble_l2cap.h:233
ble_l2cap_lecb_cfm_conn_t::mtu
uint16_t mtu
Definition: ble_l2cap.h:103
ble_l2cap_lecb_conn_req_t
The parameter of LE credit based connection request packet sending.
Definition: ble_l2cap.h:80
lecb_conn_req_ind_t::peer_cid
uint16_t peer_cid
Definition: ble_l2cap.h:129
ble_l2cap_evt_conn_req_t
L2cap Connect Request event for BLE_L2CAP_EVT_CONN_REQ.
Definition: ble_l2cap.h:172
lecb_add_credits_ind_t::local_cid
uint16_t local_cid
Definition: ble_l2cap.h:159
ble_l2cap_evt_conn_ind_t::peer_mtu
uint16_t peer_mtu
Definition: ble_l2cap.h:188
ble_l2cap_lecb_conn_req_t::le_psm
uint16_t le_psm
Definition: ble_l2cap.h:81
ble_l2cap_lecb_add_credits_t
LE flow control credit packet parameter.
Definition: ble_l2cap.h:111
ble_l2cap_evt_add_credits_cplt_t
L2cap Credits Add Completed event for BLE_L2CAP_EVT_ADD_CREDITS_CPLT.
Definition: ble_l2cap.h:226
ble_l2cap_lecb_cfm_conn_t::local_cid
uint16_t local_cid
Definition: ble_l2cap.h:101
lecb_add_credits_ind_t
LE credit based connection addition indication.
Definition: ble_l2cap.h:158
ble_l2cap_evt_conn_ind_t::local_credits
uint16_t local_credits
Definition: ble_l2cap.h:186
BLE_L2CAP_REMOTE_USER_TERM_CON
@ BLE_L2CAP_REMOTE_USER_TERM_CON
Definition: ble_l2cap.h:62
ble_l2cap_lecb_sdu_t::cid
uint16_t cid
Definition: ble_l2cap.h:119
ble_l2cap_evt_sdu_recv_t::length
uint16_t length
Definition: ble_l2cap.h:213
ble_l2cap_evt_conn_req_t::le_psm
uint16_t le_psm
Definition: ble_l2cap.h:173
ble_l2cap_evt_conn_ind_t::peer_credits
uint16_t peer_credits
Definition: ble_l2cap.h:187
ble_l2cap_evt_t::disconnected
ble_l2cap_evt_disconnect_t disconnected
Definition: ble_l2cap.h:239
ble_l2cap_evt_t
BLE L2CAP event structure.
Definition: ble_l2cap.h:232
ble_l2cap_evt_add_credits_ind_t::local_cid
uint16_t local_cid
Definition: ble_l2cap.h:197
ble_l2cap_lecb_sdu_t::length
uint16_t length
Definition: ble_l2cap.h:121
ble_l2cap_lecb_sdu_send
uint16_t ble_l2cap_lecb_sdu_send(uint8_t conn_idx, const ble_l2cap_lecb_sdu_t *p_sdu)
Send an SDU packet to the peer device.
ble_l2cap_lecb_disconnect
uint16_t ble_l2cap_lecb_disconnect(uint8_t conn_idx, uint16_t local_cid)
Disconnect the LE credit based connection.
ble_l2cap_evt_sdu_recv_t::credits
uint16_t credits
Definition: ble_l2cap.h:212
lecb_conn_ind_t::peer_mtu
uint16_t peer_mtu
Definition: ble_l2cap.h:143
ble_l2cap_evt_conn_ind_t::le_psm
uint16_t le_psm
Definition: ble_l2cap.h:184
ble_l2cap_lecb_conn_req_t::local_cid
uint16_t local_cid
Definition: ble_l2cap.h:82
lecb_conn_ind_t::peer_credits
uint16_t peer_credits
Definition: ble_l2cap.h:142
lecb_conn_req_ind_t::peer_mps
uint16_t peer_mps
Definition: ble_l2cap.h:132
ble_l2cap_lecb_add_credits_t::local_cid
uint16_t local_cid
Definition: ble_l2cap.h:112
ble_l2cap_evt_t::sdu_send
ble_l2cap_evt_sdu_send_t sdu_send
Definition: ble_l2cap.h:241
BLE_L2CAP_LOCAL_USER_TERM_CON
@ BLE_L2CAP_LOCAL_USER_TERM_CON
Definition: ble_l2cap.h:63
ble_l2cap_lecb_conn_create
uint16_t ble_l2cap_lecb_conn_create(uint8_t conn_idx, const ble_l2cap_lecb_conn_req_t *p_conn_req)
Create the LE credit based connection.
ble_l2cap_evt_conn_ind_t::local_cid
uint16_t local_cid
Definition: ble_l2cap.h:185
ble_l2cap_evt_t::add_credits_cplt
ble_l2cap_evt_add_credits_cplt_t add_credits_cplt
Definition: ble_l2cap.h:242
lecb_conn_req_ind_t::le_psm
uint16_t le_psm
Definition: ble_l2cap.h:128
ble_l2cap_evt_t::sdu_recv
ble_l2cap_evt_sdu_recv_t sdu_recv
Definition: ble_l2cap.h:240
lecb_disconn_ind_t::local_cid
uint16_t local_cid
Definition: ble_l2cap.h:152
ble_error.h
File that contains error codes.
ble_l2cap_evt_sdu_send_t
L2cap SDU Send event for BLE_L2CAP_EVT_SDU_SEND.
Definition: ble_l2cap.h:219
ble_l2cap_lecb_add_credits_t::credits
uint16_t credits
Definition: ble_l2cap.h:113
ble_l2cap_evt_sdu_recv_t::cid
uint16_t cid
Definition: ble_l2cap.h:211
ble_l2cap_lecb_disconn_reason_t
ble_l2cap_lecb_disconn_reason_t
LE credit based disconnection reasons.
Definition: ble_l2cap.h:61
ble_l2cap_lecb_cfm_conn_t::accept
bool accept
Definition: ble_l2cap.h:99
lecb_disconn_ind_t::reason
uint8_t reason
Definition: ble_l2cap.h:153
lecb_disconn_ind_t
LE credit based disconnect indication.
Definition: ble_l2cap.h:151
ble_l2cap_evt_add_credits_ind_t
L2cap Credits Add Indicate event for BLE_L2CAP_EVT_ADD_CREDITS_IND.
Definition: ble_l2cap.h:196
ble_l2cap_lecb_conn_cfm
uint16_t ble_l2cap_lecb_conn_cfm(uint8_t conn_idx, const ble_l2cap_lecb_cfm_conn_t *p_cfm_conn)
Confirm the LE credit based connection after receiving the connection request packet from the peer de...
lecb_conn_ind_t
LE credit based connection created indication.
Definition: ble_l2cap.h:138
ble_l2cap_evt_t::add_credits_ind
ble_l2cap_evt_add_credits_ind_t add_credits_ind
Definition: ble_l2cap.h:238
ble_l2cap_evt_add_credits_cplt_t::local_cid
uint16_t local_cid
Definition: ble_l2cap.h:227
ble_l2cap_lecb_cfm_conn_t::peer_cid
uint16_t peer_cid
Definition: ble_l2cap.h:100
lecb_add_credits_ind_t::peer_added_credits
uint16_t peer_added_credits
Definition: ble_l2cap.h:160
lecb_conn_ind_t::peer_mps
uint16_t peer_mps
Definition: ble_l2cap.h:145
ble_l2cap_evt_sdu_recv_t::data
uint8_t * data
Definition: ble_l2cap.h:214
ble_l2cap_evt_conn_ind_t
L2cap Connected Indicate event for BLE_L2CAP_EVT_CONN_IND.
Definition: ble_l2cap.h:183
ble_l2cap_lecb_sdu_t
Sdu parameter.
Definition: ble_l2cap.h:118
lecb_conn_ind_t::le_psm
uint16_t le_psm
Definition: ble_l2cap.h:139
ble_l2cap_evt_t::conn_req
ble_l2cap_evt_conn_req_t conn_req
Definition: ble_l2cap.h:236
ble_l2cap_evt_t::conn_ind
ble_l2cap_evt_conn_ind_t conn_ind
Definition: ble_l2cap.h:237
lecb_sdu_send_evt_t::cid
uint16_t cid
Definition: ble_l2cap.h:166
ble_l2cap_lecb_credits_add
uint16_t ble_l2cap_lecb_credits_add(uint8_t conn_idx, const ble_l2cap_lecb_add_credits_t *p_add_credits)
Send a LE Flow Control Credit packet when the device is capable of receiving additional LE-frames.
lecb_conn_req_ind_t
Receive LE credit based connection request packet indication.
Definition: ble_l2cap.h:127
ble_l2cap_lecb_cfm_conn_t::local_credits
uint16_t local_credits
Definition: ble_l2cap.h:102
ble_l2cap_lecb_sdu_t::credits
uint16_t credits
Definition: ble_l2cap.h:120
ble_l2cap_lecb_conn_req_t::local_credits
uint16_t local_credits
Definition: ble_l2cap.h:83
ble_l2cap_lecb_cfm_conn_t::mps
uint16_t mps
Definition: ble_l2cap.h:105
lecb_conn_ind_t::local_cid
uint16_t local_cid
Definition: ble_l2cap.h:140
ble_l2cap_evt_sdu_recv_t
L2cap SDU Receive event for BLE_L2CAP_EVT_SDU_RECV.
Definition: ble_l2cap.h:210
ble_l2cap_lecb_cfm_conn_t
LE credit based connection confirm parameter.
Definition: ble_l2cap.h:98
ble_l2cap_lecb_conn_req_t::mtu
uint16_t mtu
Definition: ble_l2cap.h:84
ble_l2cap_evt_disconnect_t
L2cap disconnect event for BLE_L2CAP_EVT_DISCONNECTED.
Definition: ble_l2cap.h:203
lecb_conn_ind_t::local_credits
uint16_t local_credits
Definition: ble_l2cap.h:141
ble_l2cap_lecb_conn_req_t::mps
uint16_t mps
Definition: ble_l2cap.h:85
ble_l2cap_evt_conn_ind_t::peer_mps
uint16_t peer_mps
Definition: ble_l2cap.h:190
lecb_sdu_send_evt_t
LE credit based SDU sending complete event.
Definition: ble_l2cap.h:165
ble_l2cap_evt_disconnect_t::reason
ble_l2cap_lecb_disconn_reason_t reason
Definition: ble_l2cap.h:205
ble_l2cap_evt_disconnect_t::local_cid
uint16_t local_cid
Definition: ble_l2cap.h:204
ble_l2cap_evt_sdu_send_t::cid
uint16_t cid
Definition: ble_l2cap.h:220
lecb_sdu_send_evt_t::credits
uint16_t credits
Definition: ble_l2cap.h:167
ble_l2cap_evt_sdu_send_t::credits
uint16_t credits
Definition: ble_l2cap.h:221
ble_l2cap_lecb_sdu_t::data
uint8_t * data
Definition: ble_l2cap.h:122
lecb_conn_req_ind_t::peer_mtu
uint16_t peer_mtu
Definition: ble_l2cap.h:130
ble_l2cap_evt_conn_req_t::peer_mps
uint16_t peer_mps
Definition: ble_l2cap.h:177