TI BLE-Stack for Bluetooth API Documentation  3.03.03.00
l2cap.h
Go to the documentation of this file.
1 /******************************************************************************
2 
3  Group: WCS, BTS
4  $Target Device: DEVICES $
5 
6  ******************************************************************************
7  $License: TISD 2009 $
8  ******************************************************************************
9  $Release Name: PACKAGE NAME $
10  $Release Date: PACKAGE RELEASE DATE $
11  *****************************************************************************/
12 
24 #ifndef L2CAP_H
25 #define L2CAP_H
26 
27 #ifdef __cplusplus
28 extern "C"
29 {
30 #endif
31 
32 /*********************************************************************
33  * INCLUDES
34  */
35 #include "bcomdef.h"
36 #include "osal.h"
37 
38 /*********************************************************************
39  * CONSTANTS
40  */
41 
46 #define L2CAP_MTU_SIZE 23
47 
48 #define L2CAP_SDU_SIZE 512
49 
50 #define L2CAP_NUM_PSM_DEFAULT 3
51 
52 #define L2CAP_NUM_CO_CHANNELS_DEFAULT 3
53 
54 #define L2CAP_SIG_MTU_SIZE 23
55 
56 #define L2CAP_HDR_SIZE 4
57 
58 
64 #define L2CAP_PDU_SIZE ( L2CAP_HDR_SIZE + L2CAP_MTU_SIZE )
65 
66 #define L2CAP_LEN_FIELD_SIZE 2
67 
68 
75 #define L2CAP_INVALID_PSM 0x0000
76 
77 #define L2CAP_FIXED_PSM_MIN 0x0001
78 #define L2CAP_FIXED_PSM_MAX 0x007F
79 
80 #define L2CAP_DYNAMIC_PSM_MIN 0x0080
81 #define L2CAP_DYNAMIC_PSM_MAX 0x00FF
82 
83 
91 #define L2CAP_CID_NULL 0x0000
92 
93 #define L2CAP_CID_ATT 0x0004
94 #define L2CAP_CID_SIG 0x0005
95 #define L2CAP_CID_SMP 0x0006
96 #define L2CAP_CID_GENERIC 0x0007
97 
98 #define L2CAP_DYNAMIC_CID_MIN 0x0040
99 #define L2CAP_DYNAMIC_CID_MAX 0x007F
100 
101 #define L2CAP_NUM_FIXED_CHANNELS 4
102 
103 #define L2CAP_NUM_SIG_COMMANDS 1
104 
105 
115 #define L2CAP_RTX_TIMEOUT 30
116 
120 #define L2CAP_CMD_REJECT 0x01
121 #define L2CAP_DISCONNECT_REQ 0x06
122 #define L2CAP_DISCONNECT_RSP 0x07
123 #define L2CAP_INFO_REQ 0x0a
124 #define L2CAP_INFO_RSP 0x0b
125 #define L2CAP_PARAM_UPDATE_REQ 0x12
126 #define L2CAP_PARAM_UPDATE_RSP 0x13
127 #define L2CAP_CONNECT_REQ 0x14
128 #define L2CAP_CONNECT_RSP 0x15
129 #define L2CAP_FLOW_CTRL_CREDIT 0x16
130 
131 
137 #define L2CAP_CHANNEL_ESTABLISHED_EVT 0x60
138 #define L2CAP_CHANNEL_TERMINATED_EVT 0x61
139 #define L2CAP_OUT_OF_CREDIT_EVT 0x62
140 #define L2CAP_PEER_CREDIT_THRESHOLD_EVT 0x63
141 #define L2CAP_SEND_SDU_DONE_EVT 0x64
142 #define L2CAP_NUM_CTRL_DATA_PKT_EVT 0x65
143 
144 
150 #define L2CAP_REJECT_CMD_NOT_UNDERSTOOD 0x0000
151 #define L2CAP_REJECT_SIGNAL_MTU_EXCEED 0x0001
152 #define L2CAP_REJECT_INVALID_CID 0x0002
153 
154 
160 #define L2CAP_CONN_SUCCESS 0x0000
161 #define L2CAP_CONN_PSM_NOT_SUPPORTED 0x0002
162 #define L2CAP_CONN_NO_RESOURCES 0x0004
163 #define L2CAP_CONN_INSUFFICIENT_AUTHEN 0x0005
164 #define L2CAP_CONN_INSUFFICIENT_AUTHOR 0x0006
165 #define L2CAP_CONN_INSUFFICIENT_KEY_SIZE 0x0007
166 #define L2CAP_CONN_INSUFFICIENT_ENCRYPT 0x0008
167 #define L2CAP_CONN_INVALID_SRC_CID 0x0009
168 #define L2CAP_CONN_SRC_CID_ALREADY_ALLOC 0x000A
169 #define L2CAP_CONN_UNACCEPTABLE_PARAMS 0x000B
170 
171 #define L2CAP_CONN_PENDING_SEC_VERIFY 0xFFFF
172 
173 
179 #define L2CAP_CONN_PARAMS_ACCEPTED 0x0000
180 #define L2CAP_CONN_PARAMS_REJECTED 0x0001
181 
182 
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 
205 #define L2CAP_CLOSED 0x00
206 #define L2CAP_OPEN 0x01
207 #define L2CAP_PENDING_CONN_RSP 0x02
208 #define L2CAP_PENDING_DISCONN_RSP 0x03
209 #define L2CAP_PENDING_PARAM_UPDATE_RSP 0x04
210 #define L2CAP_PENDING_INFO_RSP 0x05
211 #define L2CAP_PENDING_SEC_VERIFY 0x06
212 
213 
219 #define L2CAP_INFO_CONNLESS_MTU 0x0001
220 #define L2CAP_INFO_EXTENDED_FEATURES 0x0002
221 #define L2CAP_INFO_FIXED_CHANNELS 0x0003
222 
223 
225 /*********************************************************************
226  * Information Response: Extended Features Mask Values
227  */
228 #define L2CAP_FIXED_CHANNELS 0x00000080
229 
230 #define L2CAP_EXTENDED_FEATURES_SIZE 4
231 
232 /*********************************************************************
233  * Information Response: Fixed Channels Mask Values
234  */
235 #define L2CAP_FIXED_CHANNELS_ATT 0x10
236 
237 #define L2CAP_FIXED_CHANNELS_SIG 0x20
238 
239 #define L2CAP_FIXED_CHANNELS_SMP 0x40
240 
241 #define L2CAP_FIXED_CHANNELS_SIZE 8
242 
243 /*********************************************************************
244  * Information Response: Result Values
245  */
246 #define L2CAP_INFO_SUCCESS 0x0000
247 
248 #define L2CAP_INFO_NOT_SUPPORTED 0x0001
249 
250 
252 /*********************************************************************
253  * L2CAP Test Modes: Test code values
254  */
255 #if defined ( TESTMODES )
256  // Test modes 0 through 10 are reserved for L2CAP Connection Request.
257  #define L2CAP_TESTMODE_OFF 0
258  #define L2CAP_TESTMODE_PSM_NOT_SUPPORTED 2
259  #define L2CAP_TESTMODE_NO_RESOURCES 4
260  #define L2CAP_TESTMODE_INSUFF_AUTHEN 5
261  #define L2CAP_TESTMODE_INSUFF_AUTHOR 6
262  #define L2CAP_TESTMODE_INSUFF_KEY_SIZE 7
263  #define L2CAP_TESTMODE_INSUFF_ENCRYPT 8
264  #define L2CAP_TESTMODE_INVALID_SRC_CID 9
265  #define L2CAP_TESTMODE_SRC_CID_ALREADY_ALLOC 10
266  #define L2CAP_TESTMODE_OUT_OF_RANGE_CREDITS 11
267  #define L2CAP_TESTMODE_SDU_LEN_EXCEED 12
268  #define L2CAP_TESTMODE_TX_PKT_NO_CREDIT 13
269  #define L2CAP_TESTMODE_BLOCK_DATA_TX 14
270 #endif
271 
273 
276 /*********************************************************************
277  * MACROS
278  */
279 
280 /*********************************************************************
281  * TYPEDEFS
282  */
283 
288 typedef struct
290 {
291  uint8 maxNumPSM;
294 
296 typedef struct
297 {
298  uint16 localCID;
299  uint16 remoteCID;
301 
303 typedef union
304 {
305  uint16 signalMTU;
308 
310 typedef struct
311 {
312  uint16 reason;
314 
315  // Shorthand access for union members
316  #define maxSignalMTU reasonData.signalMTU
317  #define invalidLocalCID reasonData.invalidCID.localCID
318  #define invalidRemoteCID reasonData.invalidCID.remoteCID
319 } l2capCmdReject_t;
320 
322 typedef struct
323 {
324  uint16 intervalMin;
325  uint16 intervalMax;
326  uint16 slaveLatency;
329 
331 typedef struct
332 {
333  uint16 result;
335 
337 typedef struct
338 {
339  uint16 infoType;
341 
343 typedef union
344 {
347  uint8 fixedChannels[L2CAP_FIXED_CHANNELS_SIZE];
348 } l2capInfo_t;
349 
351 typedef struct
352 {
353  uint16 result;
354  uint16 infoType;
357 
359 typedef struct
360 {
361  uint16 psm;
362  uint16 srcCID;
363  uint16 mtu;
364  uint16 mps;
365  uint16 initCredits;
367 
369 typedef struct
370 {
371  uint16 dstCID;
372  uint16 mtu;
373  uint16 mps;
374  uint16 initCredits;
375  uint16 result;
377 
379 typedef struct
380 {
381  uint16 dstCID;
382  uint16 srcCID;
384 
386 typedef struct
387 {
388  uint16 dstCID;
389  uint16 srcCID;
391 
393 typedef struct
394 {
395  uint16 CID;
396  uint16 credits;
398 
400 typedef struct
401 {
402  uint16 mtu;
403  uint16 mps;
409 
411 typedef struct
412 {
413  uint16 psm;
414  uint16 mtu;
415  uint16 mps;
416  uint16 credits;
417  uint16 peerCID;
418  uint16 peerMtu;
419  uint16 peerMps;
420  uint16 peerCredits;
423 
425 typedef struct
426 {
427  uint8 state;
430 
443 typedef struct
444 {
445  uint16 result;
446  uint16 CID;
449 
456 typedef struct
457 {
458  uint16 CID;
459  uint16 peerCID;
460  uint16 reason;
462 
469 typedef struct
470 {
471  uint16 CID;
472  uint16 peerCID;
473  uint16 credits;
476 
483 typedef struct
484 {
485  uint16 CID;
486  uint16 credits;
487  uint16 peerCID;
488  uint16 peerCredits;
489  uint16 totalLen;
490  uint16 txLen;
492 
499 typedef struct
500 {
501  uint8 numDataPkt;
503 
505 typedef union
506 {
507  // Requests
513 
514  // Responses
520 
521  // Proprietary local events
528 
535 typedef struct
536 {
538  uint16 connHandle;
539  uint8 id;
540  uint8 opcode;
543 
545 typedef struct
546 {
547  uint16 CID;
548  uint8 *pPayload;
549  uint16 len;
552 } l2capPacket_t;
553 
564 typedef struct
565 {
567  uint16 connHandle;
570 
592 typedef uint16 (*pfnVerifySecCB_t)( uint16 connHandle, uint8 id, l2capConnectReq_t *pReq );
593 
601 typedef struct
603 {
604  uint16 psm;
605  uint16 mtu;
609  uint8 taskId;
611 } l2capPsm_t;
612  // end of L2CAP_Structs
614 
615 /*********************************************************************
616  * GLOBAL VARIABLES
617  */
618 
619 /*********************************************************************
620  * FUNCTIONS
621  */
622 
632 extern bStatus_t L2CAP_RegisterApp( uint8 taskId, uint16 CID );
633 
640 extern void L2CAP_RegisterFlowCtrlTask( uint8 taskId );
641 
660 extern bStatus_t L2CAP_SendData( uint16 connHandle, l2capPacket_t *pPkt );
661 
674 extern bStatus_t L2CAP_RegisterPsm( l2capPsm_t *pPsm );
675 
686 extern bStatus_t L2CAP_DeregisterPsm( uint8 taskId, uint16 psm );
687 
697 extern bStatus_t L2CAP_PsmInfo( uint16 psm, l2capPsmInfo_t *pInfo );
698 
709 extern bStatus_t L2CAP_PsmChannels( uint16 psm, uint8 numCIDs, uint16 *pCIDs );
710 
720 extern bStatus_t L2CAP_ChannelInfo( uint16 CID, l2capChannelInfo_t *pInfo );
721 
737 extern bStatus_t L2CAP_ConnectReq( uint16 connHandle, uint16 psm, uint16 peerPsm );
738 
752 extern bStatus_t L2CAP_ConnectRsp( uint16 connHandle, uint8 id, uint16 result );
753 
766 extern bStatus_t L2CAP_DisconnectReq( uint16 CID );
767 
781 extern bStatus_t L2CAP_FlowCtrlCredit( uint16 CID, uint16 peerCredits );
782 
798 extern bStatus_t L2CAP_SendSDU( l2capPacket_t *pPkt );
799 
813 extern bStatus_t L2CAP_CmdReject( uint16 connHandle, uint8 id, l2capCmdReject_t *pCmdReject );
814 
829 extern bStatus_t L2CAP_InfoReq( uint16 connHandle, l2capInfoReq_t *pInfoReq, uint8 taskId );
830 
846 extern bStatus_t L2CAP_ConnParamUpdateReq( uint16 connHandle, l2capParamUpdateReq_t *pUpdateReq, uint8 taskId );
847 
861 extern bStatus_t L2CAP_ConnParamUpdateRsp( uint16 connHandle, uint8 id, l2capParamUpdateRsp_t *pUpdateRsp );
862 
871 extern void L2CAP_SetUserConfig( l2capUserCfg_t *pUserCfg );
872 
881 extern void L2CAP_SetBufSize( uint16 dataPktLen, uint8 numDataPkts );
882 
888 extern uint16 L2CAP_GetMTU( void );
889 
902 extern void *L2CAP_bm_alloc( uint16 size );
903 
912 extern uint16 L2CAP_BuildConnectReq( uint8 *pBuf, uint8 *pData );
913 
924 extern bStatus_t L2CAP_ParseConnectReq( l2capSignalCmd_t *pCmd, uint8 *pData, uint16 len );
925 
936 extern bStatus_t L2CAP_ParseFlowCtrlCredit( l2capSignalCmd_t *pCmd, uint8 *pData, uint16 len );
937 
946 extern uint16 L2CAP_BuildCmdReject( uint8 *pBuf, uint8 *pCmd );
947 
958 extern bStatus_t L2CAP_ParseInfoReq( l2capSignalCmd_t *pCmd, uint8 *pData, uint16 len );
959 
970 extern bStatus_t L2CAP_ParseParamUpdateReq( l2capSignalCmd_t *pCmd, uint8 *pData, uint16 len );
971 
980 extern uint16 L2CAP_BuildParamUpdateRsp( uint8 *pBuf, uint8 *pData );
981 
990 extern uint16 L2CAP_BuildInfoRsp( uint8 *pBuf, uint8 *pData );
991 
999 extern void L2CAP_SetControllerToHostFlowCtrl( uint16 hostBuffSize, uint8 flowCtrlMode );
1000 
1011 extern void L2CAP_HostNumCompletedPkts( uint16 connHandle, uint16 numCompletedPkts );
1012 
1020 extern void L2CAP_SetParamValue( uint16 value );
1021 
1027 extern uint16 L2CAP_GetParamValue( void );
1028 
1029 /*-------------------------------------------------------------------
1030  * TASK API - These functions must only be called by OSAL.
1031  */
1032 
1034 
1042 extern void L2CAP_Init( uint8 taskId );
1043 
1053 extern uint16 L2CAP_ProcessEvent( uint8 taskId, uint16 events );
1054 
1056 
1057 /*********************************************************************
1058 *********************************************************************/
1059 
1060 #ifdef __cplusplus
1061 }
1062 #endif
1063 
1064 #endif /* L2CAP_H */
1065 
uint8 numActiveChannels
Number of active CO Channels.
Definition: l2cap.h:407
uint16 remoteCID
Source CID from the rejected command.
Definition: l2cap.h:299
Local channel information format.
Definition: l2cap.h:425
uint16 peerCreditThreshold
Low threshold for number of peer credits.
Definition: l2cap.h:405
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:566
l2capConnectRsp_t connectRsp
LE Credit Based Connection Response.
Definition: l2cap.h:518
uint16 intervalMin
Minimum Interval.
Definition: l2cap.h:324
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:592
Command Reject format.
Definition: l2cap.h:310
bStatus_t L2CAP_ConnParamUpdateRsp(uint16 connHandle, uint8 id, l2capParamUpdateRsp_t *pUpdateRsp)
Send Connection Parameter Update Response.
uint16 CID
Local channel id.
Definition: l2cap.h:485
uint16 CID
local channel id
Definition: l2cap.h:547
uint16 initCredits
Indicates number of LE-frames that peer device can send.
Definition: l2cap.h:374
Command Reject Reason Data format.
Definition: l2cap.h:303
l2capParamUpdateReq_t updateReq
Connection Parameter Update Request.
Definition: l2cap.h:508
uint8 maxNumCoChannels
Max number of Connection Oriented Channels: L2CAP_NUM_CO_CHANNELS_DEFAULT.
Definition: l2cap.h:292
Information Response Data field.
Definition: l2cap.h:343
uint16 totalLen
Total length of SDU being transmitted.
Definition: l2cap.h:489
uint16 localCID
Destination CID from the rejected command.
Definition: l2cap.h:298
bStatus_t L2CAP_RegisterPsm(l2capPsm_t *pPsm)
Register a Protocol/Service Multiplexer (PSM) with L2CAP.
uint16 mps
Specifies maximum payload size that can be received on this channel.
Definition: l2cap.h:364
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:241
uint16 initPeerCredits
Number of LE-frames that peer device can send.
Definition: l2cap.h:404
Connection oriented channel information format.
Definition: l2cap.h:411
uint16 result
Result.
Definition: l2cap.h:353
uint16 result
Indicates outcome of connection request: L2CAP Connection Response Result Values. ...
Definition: l2cap.h:375
Disconnection Response format (src/dst CIDs are relative to sender of request).
Definition: l2cap.h:386
uint16 mtu
Maximum SDU size that can be received by local device.
Definition: l2cap.h:605
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:421
uint16 peerMps
Maximum payload size that can be received by peer device.
Definition: l2cap.h:419
Disconnection Request format (src/dst CIDs are relative to sender of request).
Definition: l2cap.h:379
l2capNumCtrlDataPktEvt_t numCtrlDataPktEvt
Number of Available Ctrl Data Packets Event.
Definition: l2cap.h:526
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:388
l2capInfoRsp_t infoRsp
Information Response - not supported.
Definition: l2cap.h:516
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:339
uint16 connectionlessMTU
Connectionless MTU.
Definition: l2cap.h:345
uint16 L2CAP_BuildConnectReq(uint8 *pBuf, uint8 *pData)
Build Connection Request.
uint16 psm
LE PSM.
Definition: l2cap.h:361
uint16 peerCID
Remote channel id.
Definition: l2cap.h:417
osal_event_hdr_t hdr
L2CAP_SIGNAL_EVENT and status.
Definition: l2cap.h:537
l2capReasonData_t reasonData
Reason Data.
Definition: l2cap.h:313
void L2CAP_SetUserConfig(l2capUserCfg_t *pUserCfg)
Set the user configurable variables for the L2CAP layer.
uint16 CID
Local channel id.
Definition: l2cap.h:458
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:382
uint16 CID
Represents Source CID of device sending credit packet.
Definition: l2cap.h:395
uint8 maxNumPSM
Max number of Protocol/Service Multiplexers (PSM): L2CAP_NUM_PSM_DEFAULT.
Definition: l2cap.h:291
uint16 peerCID
Peer channel id.
Definition: l2cap.h:487
uint16 mtu
Specifies maximum SDU size that can be received on this channel.
Definition: l2cap.h:372
uint8 * pPayload
Definition: l2cap.h:548
uint8 state
Channel connection state: L2CAP Channel States.
Definition: l2cap.h:427
uint16 txLen
Total number of octets transmitted.
Definition: l2cap.h:490
uint16 reason
Indicates reason for termination: L2CAP Channel Terminated Event Reason Values.
Definition: l2cap.h:460
uint8 taskId
Task registered with PSM.
Definition: l2cap.h:609
L2CAP PSM structure. Allocated one for each registered PSM.
Definition: l2cap.h:602
l2capInfo_t info
Content of Info field depends on infoType.
Definition: l2cap.h:355
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:539
void L2CAP_HostNumCompletedPkts(uint16 connHandle, uint16 numCompletedPkts)
Host Number of Completed Packets.
L2CAP_CHANNEL_TERMINATED_EVT message format.
Definition: l2cap.h:456
uint16 mps
Maximum payload size that can be received by local device.
Definition: l2cap.h:403
PSM information format.
Definition: l2cap.h:400
uint16 result
Result: L2CAP Connection Parameter Update Response Result Values.
Definition: l2cap.h:333
Union of all L2CAP Signaling commands.
Definition: l2cap.h:505
uint8 numDataPkt
Number of Data Packets Available.
Definition: l2cap.h:501
uint16 srcCID
Represents CID on device sending request and receiving response.
Definition: l2cap.h:362
l2capDisconnectReq_t disconnectReq
Disconnection Request.
Definition: l2cap.h:511
uint16 peerCreditThreshold
Low threshold for peer credit count.
Definition: l2cap.h:607
Connection Request format.
Definition: l2cap.h:359
uint16 signalMTU
Maximum Signaling MTU.
Definition: l2cap.h:305
uint16 peerCredits
Peer credits.
Definition: l2cap.h:488
L2CAP_OUT_OF_CREDIT_EVT or L2CAP_PEER_CREDIT_THRESHOLD_EVT message format.
Definition: l2cap.h:469
uint16 initCredits
Indicates number of LE-frames that peer device can send.
Definition: l2cap.h:365
Invalid CID in Request format.
Definition: l2cap.h:296
uint8 maxNumChannels
Maximum number of CO Channels supported by PSM.
Definition: l2cap.h:406
pfnVerifySecCB_t pfnVerifySecCB
PSM security verification callback (can be NULL)
Definition: l2cap.h:610
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:420
uint16 connHandle
connection packet was received on
Definition: l2cap.h:567
uint32 extendedFeatures
Extended features supported.
Definition: l2cap.h:346
uint16 peerMtu
Maximum SDU size that can be received by peer device.
Definition: l2cap.h:418
l2capSignalCmd_t cmd
command data
Definition: l2cap.h:541
l2capParamUpdateRsp_t updateRsp
Connection Parameter Update Response.
Definition: l2cap.h:515
L2CAP_CHANNEL_ESTABLISHED_EVT message format.
Definition: l2cap.h:443
l2capSendSduDoneEvt_t sendSduDoneEvt
Send SDU Done Event.
Definition: l2cap.h:525
bStatus_t L2CAP_FlowCtrlCredit(uint16 CID, uint16 peerCredits)
Send Flow Control Credit.
l2capInvalidCID_t invalidCID
Invalid CID in Request.
Definition: l2cap.h:306
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:540
L2CAP_NUM_CTRL_DATA_PKT_EVT message format.
Definition: l2cap.h:499
uint16 credits
Definition: l2cap.h:473
Information Response format.
Definition: l2cap.h:351
bStatus_t L2CAP_ParseFlowCtrlCredit(l2capSignalCmd_t *pCmd, uint8 *pData, uint16 len)
Parse Flow Control Credit message.
User configurable variables format.
Definition: l2cap.h:289
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:371
uint32_t len
Image length in bytes.
Definition: oad_image_header.h:662
uint16 mps
Specifies maximum payload size that can be received on this channel.
Definition: l2cap.h:373
Information Request format.
Definition: l2cap.h:337
bStatus_t L2CAP_CmdReject(uint16 connHandle, uint8 id, l2capCmdReject_t *pCmdReject)
Send Command Reject.
uint16 intervalMax
Maximum Interval.
Definition: l2cap.h:325
OSAL Event Header.
Definition: osal.h:92
l2capInfoReq_t infoReq
Information Request - not supported.
Definition: l2cap.h:509
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:524
bStatus_t L2CAP_ParseInfoReq(l2capSignalCmd_t *pCmd, uint8 *pData, uint16 len)
Parse Information Request message.
l2capDisconnectRsp_t disconnectRsp
Disconnection Response.
Definition: l2cap.h:519
l2capChannelEstEvt_t channelEstEvt
Channel Established Event.
Definition: l2cap.h:522
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 initPeerCredits
Number of LE-frames that peer device can send.
Definition: l2cap.h:606
uint16 slaveLatency
Slave Latency.
Definition: l2cap.h:326
uint16 connHandle
connection message was received on
Definition: l2cap.h:538
L2CAP packet structure.
Definition: l2cap.h:545
OSAL L2CAP_SIGNAL_EVENT message format.
Definition: l2cap.h:535
l2capPacket_t pkt
received packet
Definition: l2cap.h:568
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:402
uint16 peerCID
Peer channel id.
Definition: l2cap.h:459
uint16 mtu
Maximum SDU size that can be received by local device.
Definition: l2cap.h:414
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:413
l2capFlowCtrlCredit_t credit
LE Flow Control Credit.
Definition: l2cap.h:512
uint16 mps
Maximum payload size that can be received by local device.
Definition: l2cap.h:415
uint16 reason
Reason: L2CAP Command Reject Reason Codes.
Definition: l2cap.h:312
Flow Control Credit format.
Definition: l2cap.h:393
uint16 dstCID
Specifies CID to be disconnected on device receiving request.
Definition: l2cap.h:381
l2capCoCInfo_t info
Channel info.
Definition: l2cap.h:428
uint16 credits
Number of LE-frames that local device can send.
Definition: l2cap.h:416
uint16 infoType
Information type: L2CAP Information Request/Response Info Types.
Definition: l2cap.h:354
uint16 credits
Number of LE-frames that can be sent to local device.
Definition: l2cap.h:396
l2capCoCInfo_t info
Channel info.
Definition: l2cap.h:447
uint16 L2CAP_GetParamValue(void)
Get the L2CAP parameter value.
L2CAP_SEND_SDU_DONE_EVT message format.
Definition: l2cap.h:483
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:233
uint16 timeoutMultiplier
Timeout Multiplier.
Definition: l2cap.h:327
void L2CAP_SetParamValue(uint16 value)
Set the L2CAP parameter value.
uint16 CID
Local channel id.
Definition: l2cap.h:471
uint16 CID
Local channel id.
Definition: l2cap.h:446
Connection Response format.
Definition: l2cap.h:369
uint16 srcCID
Identifies CID on device receiving response.
Definition: l2cap.h:389
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.
uint16 psm
Registered PSM.
Definition: l2cap.h:604
l2capChannelTermEvt_t channelTermEvt
Channel Terminated Event.
Definition: l2cap.h:523
void * L2CAP_bm_alloc(uint16 size)
L2CAP implementation of the allocator functionality.
Connection Parameter Update Response format.
Definition: l2cap.h:331
uint16 peerCID
Peer channel id.
Definition: l2cap.h:472
Connection Parameter Update Request format.
Definition: l2cap.h:322
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:510
uint16 mtu
Specifies maximum SDU size that can be received on this channel.
Definition: l2cap.h:363
OSAL L2CAP_DATA_EVENT message format.
Definition: l2cap.h:564
uint8 maxNumChannels
Maximum number of CO Channels supported by PSM.
Definition: l2cap.h:608
uint16 result
Indicates outcome of connection request: L2CAP Connection Response Result Values. ...
Definition: l2cap.h:445
l2capCmdReject_t cmdReject
Command Reject.
Definition: l2cap.h:517
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:486
© Copyright 1995-2020, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale