TI BLE5-Stack API Documentation  3.03.01.00
l2cap.h
Go to the documentation of this file.
1 /******************************************************************************
2 
3  Group: WCS, BTS
4  $Target Device: DEVICES $
5 
6  ******************************************************************************
7  $License: TI_TEXT 2009 $
8  ******************************************************************************
9  $Release Name: PACKAGE NAME $
10  $Release Date: PACKAGE RELEASE DATE $
11  *****************************************************************************/
12 
21 #ifndef L2CAP_H
22 #define L2CAP_H
23 
24 #ifdef __cplusplus
25 extern "C"
26 {
27 #endif
28 
29 /*********************************************************************
30  * INCLUDES
31  */
32 #include "bcomdef.h"
33 #include "osal.h"
34 
35 /*********************************************************************
36  * CONSTANTS
37  */
38 
44 #define L2CAP_MTU_SIZE 23
45 
46 #define L2CAP_SDU_SIZE 65527
47 
48 #define L2CAP_NUM_PSM_DEFAULT 3
49 
50 #define L2CAP_NUM_CO_CHANNELS_DEFAULT 3
51 
52 #define L2CAP_SIG_MTU_SIZE 23
53 
54 #define L2CAP_HDR_SIZE 4
55 
56 #define L2CAP_MAX_NOF_CREDITS 0xFFFF
57 
58 #define L2CAP_LEN_FIELD_SIZE 2
59 
60 
68 #define L2CAP_INVALID_PSM 0x0000
69 
70 #define L2CAP_FIXED_PSM_MIN 0x0001
71 #define L2CAP_FIXED_PSM_MAX 0x007F
72 
73 #define L2CAP_DYNAMIC_PSM_MIN 0x0080
74 #define L2CAP_DYNAMIC_PSM_MAX 0x00FF
75 
76 
85 #define L2CAP_CID_NULL 0x0000
86 
87 #define L2CAP_CID_ATT 0x0004
88 #define L2CAP_CID_SIG 0x0005
89 #define L2CAP_CID_SMP 0x0006
90 #define L2CAP_CID_GENERIC 0x0007
91 
92 #define L2CAP_DYNAMIC_CID_MIN 0x0040
93 #define L2CAP_DYNAMIC_CID_MAX 0x007F
94 
95 #define L2CAP_NUM_FIXED_CHANNELS 4
96 
97 #define L2CAP_NUM_SIG_COMMANDS 1
98 
99 
109 #define L2CAP_RTX_TIMEOUT 30
110 
115 #define L2CAP_CMD_REJECT 0x01
116 #define L2CAP_DISCONNECT_REQ 0x06
117 #define L2CAP_DISCONNECT_RSP 0x07
118 #define L2CAP_INFO_REQ 0x0a
119 #define L2CAP_INFO_RSP 0x0b
120 #define L2CAP_PARAM_UPDATE_REQ 0x12
121 #define L2CAP_PARAM_UPDATE_RSP 0x13
122 #define L2CAP_CONNECT_IND 0x14
123 #define L2CAP_CONNECT_RSP 0x15
124 #define L2CAP_FLOW_CTRL_CREDIT 0x16
125 
126 
133 #define L2CAP_CHANNEL_ESTABLISHED_EVT 0x60
134 #define L2CAP_CHANNEL_TERMINATED_EVT 0x61
135 #define L2CAP_OUT_OF_CREDIT_EVT 0x62
136 #define L2CAP_PEER_CREDIT_THRESHOLD_EVT 0x63
137 #define L2CAP_SEND_SDU_DONE_EVT 0x64
138 #define L2CAP_NUM_CTRL_DATA_PKT_EVT 0x65
139 
140 
147 #define L2CAP_REJECT_CMD_NOT_UNDERSTOOD 0x0000
148 #define L2CAP_REJECT_SIGNAL_MTU_EXCEED 0x0001
149 #define L2CAP_REJECT_INVALID_CID 0x0002
150 
151 
158 #define L2CAP_CONN_SUCCESS 0x0000
159 #define L2CAP_CONN_PSM_NOT_SUPPORTED 0x0002
160 #define L2CAP_CONN_NO_RESOURCES 0x0004
161 #define L2CAP_CONN_INSUFFICIENT_AUTHEN 0x0005
162 #define L2CAP_CONN_INSUFFICIENT_AUTHOR 0x0006
163 #define L2CAP_CONN_INSUFFICIENT_KEY_SIZE 0x0007
164 #define L2CAP_CONN_INSUFFICIENT_ENCRYPT 0x0008
165 #define L2CAP_CONN_INVALID_SRC_CID 0x0009
166 #define L2CAP_CONN_SRC_CID_ALREADY_ALLOC 0x000A
167 #define L2CAP_CONN_UNACCEPTABLE_PARAMS 0x000B
168 
169 #define L2CAP_CONN_PENDING_SEC_VERIFY 0xFFFF
170 
171 
178 #define L2CAP_CONN_PARAMS_ACCEPTED 0x0000
179 #define L2CAP_CONN_PARAMS_REJECTED 0x0001
180 
181 
188 #define L2CAP_TERM_LINK_DOWN 0x0000
189 #define L2CAP_TERM_BY_PSM 0x0001
190 #define L2CAP_TERM_BY_PEER_PSM 0x0002
191 #define L2CAP_TERM_MAX_CREDIT_EXCEED 0x0003
192 #define L2CAP_TERM_SDU_LEN_EXCEED 0x0004
193 #define L2CAP_TERM_PSM_MTU_EXCEED 0x0005
194 #define L2CAP_TERM_RX_PKT_NO_CREDIT 0x0006
195 #define L2CAP_TERM_RX_ERROR 0x0007
196 #define L2CAP_TERM_TX_ERROR 0x0008
197 #define L2CAP_TERM_MEM_ALLOC_ERROR 0x0009
198 
199 
206 #define L2CAP_CLOSED 0x00
207 #define L2CAP_OPEN 0x01
208 #define L2CAP_PENDING_CONN_RSP 0x02
209 #define L2CAP_PENDING_DISCONN_RSP 0x03
210 #define L2CAP_PENDING_PARAM_UPDATE_RSP 0x04
211 #define L2CAP_PENDING_INFO_RSP 0x05
212 #define L2CAP_PENDING_SEC_VERIFY 0x06
213 
214 
221 #define L2CAP_INFO_CONNLESS_MTU 0x0001
222 #define L2CAP_INFO_EXTENDED_FEATURES 0x0002
223 #define L2CAP_INFO_FIXED_CHANNELS 0x0003
224 
225 
227 /*********************************************************************
228  * Information Response: Extended Features Mask Values
229  */
230 #define L2CAP_FIXED_CHANNELS 0x00000080
231 
232 #define L2CAP_EXTENDED_FEATURES_SIZE 4
233 
234 /*********************************************************************
235  * Information Response: Fixed Channels Mask Values
236  */
237 #define L2CAP_FIXED_CHANNELS_ATT 0x10
238 
239 #define L2CAP_FIXED_CHANNELS_SIG 0x20
240 
241 #define L2CAP_FIXED_CHANNELS_SMP 0x40
242 
243 #define L2CAP_FIXED_CHANNELS_SIZE 8
244 
245 /*********************************************************************
246  * Information Response: Result Values
247  */
248 #define L2CAP_INFO_SUCCESS 0x0000
249 
250 #define L2CAP_INFO_NOT_SUPPORTED 0x0001
251 
252 
254 /*********************************************************************
255  * L2CAP Test Modes: Test code values
256  */
257 #if defined ( TESTMODES )
258  // Test modes 0 through 10 are reserved for L2CAP Connection Request.
259  #define L2CAP_TESTMODE_OFF 0
260  #define L2CAP_TESTMODE_PSM_NOT_SUPPORTED 2
261  #define L2CAP_TESTMODE_NO_RESOURCES 4
262  #define L2CAP_TESTMODE_INSUFF_AUTHEN 5
263  #define L2CAP_TESTMODE_INSUFF_AUTHOR 6
264  #define L2CAP_TESTMODE_INSUFF_KEY_SIZE 7
265  #define L2CAP_TESTMODE_INSUFF_ENCRYPT 8
266  #define L2CAP_TESTMODE_INVALID_SRC_CID 9
267  #define L2CAP_TESTMODE_SRC_CID_ALREADY_ALLOC 10
268  #define L2CAP_TESTMODE_OUT_OF_RANGE_CREDITS 11
269  #define L2CAP_TESTMODE_SDU_LEN_EXCEED 12
270  #define L2CAP_TESTMODE_TX_PKT_NO_CREDIT 13
271  #define L2CAP_TESTMODE_BLOCK_DATA_TX 14
272 #endif
273 
275 
278 /*********************************************************************
279  * MACROS
280  */
281 
282 /*********************************************************************
283  * TYPEDEFS
284  */
286 typedef enum
287 {
289  L2CAPCOC_RESPONDER = 0x01
296 typedef struct
298 {
299  uint8 maxNumPSM;
302 
304 typedef struct
305 {
306  uint16 localCID;
307  uint16 remoteCID;
309 
311 typedef union
312 {
313  uint16 signalMTU;
316 
318 typedef struct
319 {
320  uint16 reason;
322 
323  // Shorthand access for union members
324  #define maxSignalMTU reasonData.signalMTU
325  #define invalidLocalCID reasonData.invalidCID.localCID
326  #define invalidRemoteCID reasonData.invalidCID.remoteCID
327 } l2capCmdReject_t;
328 
330 typedef struct
331 {
332  uint16 intervalMin;
333  uint16 intervalMax;
337 
339 typedef struct
340 {
341  uint16 result;
343 
345 typedef struct
346 {
347  uint16 infoType;
349 
351 typedef union
352 {
355  uint8 fixedChannels[L2CAP_FIXED_CHANNELS_SIZE];
356 } l2capInfo_t;
357 
359 typedef struct
360 {
361  uint16 result;
362  uint16 infoType;
365 
367 typedef struct
368 {
369  uint16 psm;
370  uint16 srcCID;
371  uint16 mtu;
372  uint16 mps;
374  uint16 initCredits;
377 
379 typedef struct
380 {
381  uint16 dstCID;
382  uint16 mtu;
383  uint16 mps;
385  uint16 initCredits;
387  uint16 result;
389 
391 typedef struct
392 {
393  uint16 dstCID;
394  uint16 srcCID;
396 
398 typedef struct
399 {
400  uint16 dstCID;
401  uint16 srcCID;
403 
405 typedef struct
406 {
407  uint16 CID;
408  uint16 credits;
410 
412 typedef struct
413 {
414  uint16 mtu;
415  uint16 mps;
421 
423 typedef struct
424 {
425  uint16 psm;
426  uint16 mtu;
427  uint16 mps;
428  uint16 credits;
429  uint16 peerCID;
430  uint16 peerMtu;
431  uint16 peerMps;
432  uint16 peerCredits;
435 
437 typedef struct
438 {
439  uint8 state;
442 
456 typedef struct
457 {
458  uint16 result;
459  uint16 CID;
462 
469 typedef struct
470 {
471  uint16 CID;
472  uint16 peerCID;
473  uint16 reason;
475 
482 typedef struct
483 {
484  uint16 CID;
485  uint16 peerCID;
486  uint16 credits;
489 
496 typedef struct
497 {
498  uint16 CID;
499  uint16 credits;
500  uint16 peerCID;
501  uint16 peerCredits;
502  uint16 totalLen;
503  uint16 txLen;
505 
512 typedef struct
513 {
514  uint8 numDataPkt;
516 
518 typedef union
519 {
520  // Requests
526 
527  // Responses
533 
534  // Proprietary local events
541 
548 typedef struct
549 {
551  uint16 connHandle;
552  uint8 id;
553  uint8 opcode;
556 
558 typedef struct
559 {
560  uint16 CID;
561  uint8 *pPayload;
562  uint16 len;
565 } l2capPacket_t;
566 
577 typedef struct
578 {
580  uint16 connHandle;
583 
605 typedef uint16 (*pfnVerifySecCB_t)( uint16 connHandle, uint8 id, l2capConnectReq_t *pReq );
606 
614 typedef struct
616 {
617  uint16 psm;
618  uint16 mtu;
619  uint16 mps;
622  uint16 initPeerCredits;
626  uint8 taskId;
628 } l2capPsm_t;
629  // end of L2CAP_Structs
631 
632 /*********************************************************************
633  * GLOBAL VARIABLES
634  */
635 
636 /*********************************************************************
637  * FUNCTIONS
638  */
639 
649 extern bStatus_t L2CAP_RegisterApp( uint8 taskId, uint16 CID );
650 
657 extern void L2CAP_RegisterFlowCtrlTask( uint8 taskId );
658 
682 extern bStatus_t L2CAP_SendData( uint16 connHandle, l2capPacket_t *pPkt );
683 
696 extern bStatus_t L2CAP_RegisterPsm( l2capPsm_t *pPsm );
697 
708 extern bStatus_t L2CAP_DeregisterPsm( uint8 taskId, uint16 psm );
709 
719 extern bStatus_t L2CAP_PsmInfo( uint16 psm, l2capPsmInfo_t *pInfo );
720 
731 extern bStatus_t L2CAP_PsmChannels( uint16 psm, uint8 numCIDs, uint16 *pCIDs );
732 
742 extern bStatus_t L2CAP_ChannelInfo( uint16 CID, l2capChannelInfo_t *pInfo );
743 
759 extern bStatus_t L2CAP_ConnectReq( uint16 connHandle, uint16 psm, uint16 peerPsm );
760 
774 extern bStatus_t L2CAP_ConnectRsp( uint16 connHandle, uint8 id, uint16 result );
775 
788 extern bStatus_t L2CAP_DisconnectReq( uint16 CID );
789 
803 extern bStatus_t L2CAP_FlowCtrlCredit( uint16 CID, uint16 peerCredits );
804 
820 extern bStatus_t L2CAP_SendSDU( l2capPacket_t *pPkt );
821 
835 extern bStatus_t L2CAP_CmdReject( uint16 connHandle, uint8 id, l2capCmdReject_t *pCmdReject );
836 
851 extern bStatus_t L2CAP_InfoReq( uint16 connHandle, l2capInfoReq_t *pInfoReq, uint8 taskId );
852 
868 extern bStatus_t L2CAP_ConnParamUpdateReq( uint16 connHandle, l2capParamUpdateReq_t *pUpdateReq, uint8 taskId );
869 
883 extern bStatus_t L2CAP_ConnParamUpdateRsp( uint16 connHandle, uint8 id, l2capParamUpdateRsp_t *pUpdateRsp );
884 
893 extern void L2CAP_SetUserConfig( l2capUserCfg_t *pUserCfg );
894 
900 extern void L2CAP_GetUserConfig( l2capUserCfg_t *pL2capCfg );
901 
910 extern void L2CAP_SetBufSize( uint16 dataPktLen, uint8 numDataPkts );
911 
917 extern uint16 L2CAP_GetMTU( void );
918 
931 extern void *L2CAP_bm_alloc( uint16 size );
932 
941 extern uint16 L2CAP_BuildConnectReq( uint8 *pBuf, uint8 *pData );
942 
953 extern bStatus_t L2CAP_ParseConnectReq( l2capSignalCmd_t *pCmd, uint8 *pData, uint16 len );
954 
965 extern bStatus_t L2CAP_ParseFlowCtrlCredit( l2capSignalCmd_t *pCmd, uint8 *pData, uint16 len );
966 
975 extern uint16 L2CAP_BuildCmdReject( uint8 *pBuf, uint8 *pCmd );
976 
987 extern bStatus_t L2CAP_ParseInfoReq( l2capSignalCmd_t *pCmd, uint8 *pData, uint16 len );
988 
999 extern bStatus_t L2CAP_ParseParamUpdateReq( l2capSignalCmd_t *pCmd, uint8 *pData, uint16 len );
1000 
1009 extern uint16 L2CAP_BuildParamUpdateRsp( uint8 *pBuf, uint8 *pData );
1010 
1019 extern uint16 L2CAP_BuildInfoRsp( uint8 *pBuf, uint8 *pData );
1020 
1028 extern void L2CAP_SetControllerToHostFlowCtrl( uint16 hostBuffSize, uint8 flowCtrlMode );
1029 
1040 extern void L2CAP_HostNumCompletedPkts( uint16 connHandle, uint16 numCompletedPkts );
1041 
1049 extern void L2CAP_SetParamValue( uint16 value );
1050 
1056 extern uint16 L2CAP_GetParamValue( void );
1057 
1058 /*-------------------------------------------------------------------
1059  * TASK API - These functions must only be called by OSAL.
1060  */
1061 
1063 
1071 extern void L2CAP_Init( uint8 taskId );
1072 
1082 extern uint16 L2CAP_ProcessEvent( uint8 taskId, uint16 events );
1083 
1085 
1086 /*********************************************************************
1087 *********************************************************************/
1088 
1089 #ifdef __cplusplus
1090 }
1091 #endif
1092 
1093 #endif /* L2CAP_H */
1094 
uint8 numActiveChannels
Number of active CO Channels.
Definition: l2cap.h:419
uint16 remoteCID
Source CID from the rejected command.
Definition: l2cap.h:307
Local channel information format.
Definition: l2cap.h:437
uint16 peerCreditThreshold
Low threshold for number of peer credits.
Definition: l2cap.h:417
This API allows the software components in the Z-Stack to be written independently of the specifics o...
osal_event_hdr_t hdr
L2CAP_DATA_EVENT and status.
Definition: l2cap.h:579
l2capConnectRsp_t connectRsp
LE Credit Based Connection Response.
Definition: l2cap.h:531
uint16 intervalMin
Minimum Interval.
Definition: l2cap.h:332
uint16(* pfnVerifySecCB_t)(uint16 connHandle, uint8 id, l2capConnectReq_t *pReq)
Callback function prototype to verify security when a Connection Request is received.
Definition: l2cap.h:605
Command Reject format.
Definition: l2cap.h:318
bStatus_t L2CAP_ConnParamUpdateRsp(uint16 connHandle, uint8 id, l2capParamUpdateRsp_t *pUpdateRsp)
Send Connection Parameter Update Response.
uint16 CID
Local channel id.
Definition: l2cap.h:498
uint16 CID
local channel id
Definition: l2cap.h:560
Command Reject Reason Data format.
Definition: l2cap.h:311
l2capParamUpdateReq_t updateReq
Connection Parameter Update Request.
Definition: l2cap.h:521
uint8 maxNumCoChannels
Max number of Connection Oriented Channels: L2CAP_NUM_CO_CHANNELS_DEFAULT.
Definition: l2cap.h:300
Information Response Data field.
Definition: l2cap.h:351
uint16 totalLen
Total length of SDU being transmitted.
Definition: l2cap.h:502
uint16 localCID
Destination CID from the rejected command.
Definition: l2cap.h:306
bStatus_t L2CAP_RegisterPsm(l2capPsm_t *pPsm)
Register a Protocol/Service Multiplexer (PSM) with L2CAP.
uint16 L2CAP_GetMTU(void)
Get the maximum payload size that L2CAP is capable of receiving.
#define L2CAP_FIXED_CHANNELS_SIZE
Length of Fixed Channels bit mask.
Definition: l2cap.h:243
uint16 initPeerCredits
Number of LE-frames that peer device can send.
Definition: l2cap.h:416
Connection oriented channel information format.
Definition: l2cap.h:423
uint16 result
Result.
Definition: l2cap.h:361
uint16 result
Indicates outcome of connection request: L2CAP Connection Response Result Values. ...
Definition: l2cap.h:387
Disconnection Response format (src/dst CIDs are relative to sender of request).
Definition: l2cap.h:398
uint16 mtu
Definition: l2cap.h:618
void L2CAP_RegisterFlowCtrlTask(uint8 taskId)
Register task to recevie L2CAP Flow Control events when there are data buffers available for sending ...
uint16 peerCreditThreshold
Low threshold for peer credit count.
Definition: l2cap.h:433
uint16 peerMps
Maximum payload size that can be received by peer device.
Definition: l2cap.h:431
Disconnection Request format (src/dst CIDs are relative to sender of request).
Definition: l2cap.h:391
l2capNumCtrlDataPktEvt_t numCtrlDataPktEvt
Number of Available Ctrl Data Packets Event.
Definition: l2cap.h:539
bStatus_t L2CAP_RegisterApp(uint8 taskId, uint16 CID)
Register a protocol/application with an L2CAP fixed channel.
uint16 dstCID
Identifies CID on device sending response.
Definition: l2cap.h:400
l2capInfoRsp_t infoRsp
Information Response - not supported.
Definition: l2cap.h:529
bStatus_t L2CAP_ConnectRsp(uint16 connHandle, uint8 id, uint16 result)
Send Connection Response.
uint16 infoType
Information type: L2CAP Information Request/Response Info Types.
Definition: l2cap.h:347
uint16 connectionlessMTU
Connectionless MTU.
Definition: l2cap.h:353
uint16 L2CAP_BuildConnectReq(uint8 *pBuf, uint8 *pData)
Build Connection Request.
uint16 psm
LE PSM.
Definition: l2cap.h:369
uint16 peerCID
Remote channel id.
Definition: l2cap.h:429
osal_event_hdr_t hdr
L2CAP_SIGNAL_EVENT and status.
Definition: l2cap.h:550
l2capReasonData_t reasonData
Reason Data.
Definition: l2cap.h:321
void L2CAP_SetUserConfig(l2capUserCfg_t *pUserCfg)
Set the user configurable variables for the L2CAP layer.
uint16 CID
Local channel id.
Definition: l2cap.h:471
bStatus_t L2CAP_PsmChannels(uint16 psm, uint8 numCIDs, uint16 *pCIDs)
Get all active channels for a given registered PSM.
uint16 srcCID
Specifies CID to be disconnected on device sending request.
Definition: l2cap.h:394
uint16 CID
Represents Source CID of device sending credit packet.
Definition: l2cap.h:407
uint8 maxNumPSM
Max number of Protocol/Service Multiplexers (PSM): L2CAP_NUM_PSM_DEFAULT.
Definition: l2cap.h:299
uint16 peerCID
Peer channel id.
Definition: l2cap.h:500
uint16 mtu
Definition: l2cap.h:382
uint8 * pPayload
Definition: l2cap.h:561
l2capConEstablishRole_t
Address modes to initialize the local device.
Definition: l2cap.h:286
uint8 state
Channel connection state: L2CAP Channel States.
Definition: l2cap.h:439
uint16 txLen
Total number of octets transmitted.
Definition: l2cap.h:503
uint16 reason
Indicates reason for termination: L2CAP Channel Terminated Event Reason Values.
Definition: l2cap.h:473
uint8 taskId
Task registered with PSM.
Definition: l2cap.h:626
L2CAP PSM structure. Allocated one for each registered PSM.
Definition: l2cap.h:615
l2capInfo_t info
Content of Info field depends on infoType.
Definition: l2cap.h:363
uint16 L2CAP_BuildInfoRsp(uint8 *pBuf, uint8 *pData)
Build Information Response.
bStatus_t L2CAP_InfoReq(uint16 connHandle, l2capInfoReq_t *pInfoReq, uint8 taskId)
Send Information Request.
bStatus_t L2CAP_DisconnectReq(uint16 CID)
Send Disconnection Request.
uint8 id
identifier to match responses with requests
Definition: l2cap.h:552
void L2CAP_HostNumCompletedPkts(uint16 connHandle, uint16 numCompletedPkts)
Host Number of Completed Packets.
L2CAP_CHANNEL_TERMINATED_EVT message format.
Definition: l2cap.h:469
uint16 mps
Maximum payload size that can be received by local device.
Definition: l2cap.h:415
uint16 peripheralLatency
Peripheral Latency.
Definition: l2cap.h:334
PSM information format.
Definition: l2cap.h:412
uint16 result
Result: L2CAP Connection Parameter Update Response Result Values.
Definition: l2cap.h:341
Union of all L2CAP Signaling commands.
Definition: l2cap.h:518
uint8 numDataPkt
Number of Data Packets Available.
Definition: l2cap.h:514
uint16 srcCID
Represents CID on device sending request and receiving response.
Definition: l2cap.h:370
l2capDisconnectReq_t disconnectReq
Disconnection Request.
Definition: l2cap.h:524
uint16 peerCreditThreshold
Low threshold for peer credit count.
Definition: l2cap.h:624
Connection Request format.
Definition: l2cap.h:367
uint16 signalMTU
Maximum Signaling MTU.
Definition: l2cap.h:313
uint16 peerCredits
Peer credits.
Definition: l2cap.h:501
L2CAP_OUT_OF_CREDIT_EVT or L2CAP_PEER_CREDIT_THRESHOLD_EVT message format.
Definition: l2cap.h:482
Invalid CID in Request format.
Definition: l2cap.h:304
uint8 maxNumChannels
Maximum number of CO Channels supported by PSM.
Definition: l2cap.h:418
pfnVerifySecCB_t pfnVerifySecCB
PSM security verification callback (can be NULL)
Definition: l2cap.h:627
bStatus_t L2CAP_ConnectReq(uint16 connHandle, uint16 psm, uint16 peerPsm)
Send Connection Request.
bStatus_t L2CAP_ParseConnectReq(l2capSignalCmd_t *pCmd, uint8 *pData, uint16 len)
Parse Connection Request message.
uint16 peerCredits
Number of LE-frames that peer device can send.
Definition: l2cap.h:432
uint16 connHandle
connection packet was received on
Definition: l2cap.h:580
uint32 extendedFeatures
Extended features supported.
Definition: l2cap.h:354
uint16 peerMtu
Maximum SDU size that can be received by peer device.
Definition: l2cap.h:430
Always Use Public Address.
Definition: l2cap.h:288
l2capSignalCmd_t cmd
command data
Definition: l2cap.h:554
l2capParamUpdateRsp_t updateRsp
Connection Parameter Update Response.
Definition: l2cap.h:528
L2CAP_CHANNEL_ESTABLISHED_EVT message format.
Definition: l2cap.h:456
l2capSendSduDoneEvt_t sendSduDoneEvt
Send SDU Done Event.
Definition: l2cap.h:538
bStatus_t L2CAP_FlowCtrlCredit(uint16 CID, uint16 peerCredits)
Send Flow Control Credit.
l2capInvalidCID_t invalidCID
Invalid CID in Request.
Definition: l2cap.h:314
bStatus_t L2CAP_SendSDU(l2capPacket_t *pPkt)
Send data packet over an L2CAP connection oriented channel established over a physical connection...
uint8 opcode
type of command: L2CAP Signaling Codes (type of commands)
Definition: l2cap.h:553
L2CAP_NUM_CTRL_DATA_PKT_EVT message format.
Definition: l2cap.h:512
uint16 credits
Definition: l2cap.h:486
Information Response format.
Definition: l2cap.h:359
bStatus_t L2CAP_ParseFlowCtrlCredit(l2capSignalCmd_t *pCmd, uint8 *pData, uint16 len)
Parse Flow Control Credit message.
User configurable variables format.
Definition: l2cap.h:297
Type definitions and macros for BLE stack.
uint16 L2CAP_BuildCmdReject(uint8 *pBuf, uint8 *pCmd)
Build Command Reject.
uint16 dstCID
Represents CID on device receiving request and sending response.
Definition: l2cap.h:381
Information Request format.
Definition: l2cap.h:345
bStatus_t L2CAP_CmdReject(uint16 connHandle, uint8 id, l2capCmdReject_t *pCmdReject)
Send Command Reject.
uint16 intervalMax
Maximum Interval.
Definition: l2cap.h:333
OSAL Event Header.
Definition: osal.h:92
l2capInfoReq_t infoReq
Information Request - not supported.
Definition: l2cap.h:522
bStatus_t L2CAP_PsmInfo(uint16 psm, l2capPsmInfo_t *pInfo)
Get information about a given registered PSM.
l2capCreditEvt_t creditEvt
Out Of Credit Event or Peer Credit Threshold Event.
Definition: l2cap.h:537
bStatus_t L2CAP_ParseInfoReq(l2capSignalCmd_t *pCmd, uint8 *pData, uint16 len)
Parse Information Request message.
l2capDisconnectRsp_t disconnectRsp
Disconnection Response.
Definition: l2cap.h:532
l2capChannelEstEvt_t channelEstEvt
Channel Established Event.
Definition: l2cap.h:535
void L2CAP_SetBufSize(uint16 dataPktLen, uint8 numDataPkts)
This API is used by the upper layer to set the maximum data packet size and the number of data packet...
uint16 connHandle
connection message was received on
Definition: l2cap.h:551
L2CAP packet structure.
Definition: l2cap.h:558
OSAL L2CAP_SIGNAL_EVENT message format.
Definition: l2cap.h:548
l2capPacket_t pkt
received packet
Definition: l2cap.h:581
bStatus_t L2CAP_DeregisterPsm(uint8 taskId, uint16 psm)
Deregister a Protocol/Service Multiplexer with L2CAP.
uint16 mtu
Maximum SDU size that can be received by local device.
Definition: l2cap.h:414
uint16 peerCID
Peer channel id.
Definition: l2cap.h:472
uint16 mtu
Maximum SDU size that can be received by local device.
Definition: l2cap.h:426
bStatus_t L2CAP_ConnParamUpdateReq(uint16 connHandle, l2capParamUpdateReq_t *pUpdateReq, uint8 taskId)
Send Connection Parameter Update Request.
uint16 psm
PSM that channel belongs to.
Definition: l2cap.h:425
l2capFlowCtrlCredit_t credit
LE Flow Control Credit.
Definition: l2cap.h:525
uint16 mps
Maximum payload size that can be received by local device.
Definition: l2cap.h:427
uint16 reason
Reason: L2CAP Command Reject Reason Codes.
Definition: l2cap.h:320
Flow Control Credit format.
Definition: l2cap.h:405
uint16 dstCID
Specifies CID to be disconnected on device receiving request.
Definition: l2cap.h:393
l2capCoCInfo_t info
Channel info.
Definition: l2cap.h:440
uint16 credits
Number of LE-frames that local device can send.
Definition: l2cap.h:428
uint16 infoType
Information type: L2CAP Information Request/Response Info Types.
Definition: l2cap.h:362
uint16 credits
Number of LE-frames that can be sent to local device.
Definition: l2cap.h:408
l2capCoCInfo_t info
Channel info.
Definition: l2cap.h:460
uint16 L2CAP_GetParamValue(void)
Get the L2CAP parameter value.
L2CAP_SEND_SDU_DONE_EVT message format.
Definition: l2cap.h:496
void L2CAP_SetControllerToHostFlowCtrl(uint16 hostBuffSize, uint8 flowCtrlMode)
Turn flow control on or off for data packets sent from the Controller to the Host.
Status_t bStatus_t
BLE Generic Status return.
Definition: bcomdef.h:246
uint16 timeoutMultiplier
Timeout Multiplier.
Definition: l2cap.h:335
void L2CAP_SetParamValue(uint16 value)
Set the L2CAP parameter value.
uint16 CID
Local channel id.
Definition: l2cap.h:484
uint16 CID
Local channel id.
Definition: l2cap.h:459
Connection Response format.
Definition: l2cap.h:379
uint16 srcCID
Identifies CID on device receiving response.
Definition: l2cap.h:401
bStatus_t L2CAP_ChannelInfo(uint16 CID, l2capChannelInfo_t *pInfo)
Get information about a given active Connection Oriented Channel.
uint16 L2CAP_BuildParamUpdateRsp(uint8 *pBuf, uint8 *pData)
Build Connection Parameter Update Response.
void L2CAP_GetUserConfig(l2capUserCfg_t *pL2capCfg)
Get the user configurable variables for the L2CAP layer.
uint16 psm
Registered PSM.
Definition: l2cap.h:617
l2capChannelTermEvt_t channelTermEvt
Channel Terminated Event.
Definition: l2cap.h:536
void * L2CAP_bm_alloc(uint16 size)
L2CAP implementation of the allocator functionality.
Connection Parameter Update Response format.
Definition: l2cap.h:339
uint16 peerCID
Peer channel id.
Definition: l2cap.h:485
Connection Parameter Update Request format.
Definition: l2cap.h:330
bStatus_t L2CAP_ParseParamUpdateReq(l2capSignalCmd_t *pCmd, uint8 *pData, uint16 len)
Parse Connection Parameter Update Request.
l2capConnectReq_t connectReq
LE Credit Based Connection Request.
Definition: l2cap.h:523
uint16 mtu
Definition: l2cap.h:371
OSAL L2CAP_DATA_EVENT message format.
Definition: l2cap.h:577
uint8 maxNumChannels
Maximum number of CO Channels supported by PSM.
Definition: l2cap.h:625
uint16 result
Indicates outcome of connection request: L2CAP Connection Response Result Values. ...
Definition: l2cap.h:458
l2capCmdReject_t cmdReject
Command Reject.
Definition: l2cap.h:530
bStatus_t L2CAP_SendData(uint16 connHandle, l2capPacket_t *pPkt)
Send data packet over an L2CAP fixed channel established over a physical connection.
uint16 credits
Local credits.
Definition: l2cap.h:499
© Copyright 1995-2024, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale