BLE-Stack APIs
3.00.00
|
L2CAP layer interface.
Go to the source code of this file.
Data Structures | |
struct | l2capChannelEstEvt_t |
L2CAP_CHANNEL_ESTABLISHED_EVT message format. More... | |
struct | l2capChannelInfo_t |
Local channel information format. More... | |
struct | l2capChannelTermEvt_t |
L2CAP_CHANNEL_TERMINATED_EVT message format. More... | |
struct | l2capCmdReject_t |
Command Reject format. More... | |
struct | l2capCoCInfo_t |
Connection oriented channel information format. More... | |
struct | l2capConnectReq_t |
Connection Request format. More... | |
struct | l2capConnectRsp_t |
Connection Response format. More... | |
struct | l2capCreditEvt_t |
L2CAP_OUT_OF_CREDIT_EVT or L2CAP_PEER_CREDIT_THRESHOLD_EVT message format. More... | |
struct | l2capDataEvent_t |
OSAL L2CAP_DATA_EVENT message format. More... | |
struct | l2capDisconnectReq_t |
Disconnection Request format (src/dst CIDs are relative to sender of request). More... | |
struct | l2capDisconnectRsp_t |
Disconnection Response format (src/dst CIDs are relative to sender of request). More... | |
struct | l2capFlowCtrlCredit_t |
Flow Control Credit format. More... | |
union | l2capInfo_t |
Information Response Data field. More... | |
struct | l2capInfoReq_t |
Information Request format. More... | |
struct | l2capInfoRsp_t |
Information Response format. More... | |
struct | l2capInvalidCID_t |
Invalid CID in Request format. More... | |
struct | l2capNumCtrlDataPktEvt_t |
L2CAP_NUM_CTRL_DATA_PKT_EVT message format. More... | |
struct | l2capPacket_t |
L2CAP packet structure. More... | |
struct | l2capParamUpdateReq_t |
Connection Parameter Update Request format. More... | |
struct | l2capParamUpdateRsp_t |
Connection Parameter Update Response format. More... | |
struct | l2capPsm_t |
L2CAP PSM structure. Allocated one for each registered PSM. More... | |
struct | l2capPsmInfo_t |
PSM information format. More... | |
union | l2capReasonData_t |
Command Reject Reason Data format. More... | |
struct | l2capSendSduDoneEvt_t |
L2CAP_SEND_SDU_DONE_EVT message format. More... | |
union | l2capSignalCmd_t |
Union of all L2CAP Signaling commands. More... | |
struct | l2capSignalEvent_t |
OSAL L2CAP_SIGNAL_EVENT message format. More... | |
struct | l2capUserCfg_t |
User configurable variables format. More... | |
Macros | |
#define | invalidLocalCID reasonData.invalidCID.localCID |
#define | invalidRemoteCID reasonData.invalidCID.remoteCID |
#define | L2CAP_CHANNEL_ESTABLISHED_EVT 0x60 |
Channel Established Event. | |
#define | L2CAP_CHANNEL_TERMINATED_EVT 0x61 |
Channel Terminated Event. | |
#define | L2CAP_CID_ATT 0x0004 |
Attribute Protocol. | |
#define | L2CAP_CID_GENERIC 0x0007 |
Generic (proprietary channel) | |
#define | L2CAP_CID_NULL 0x0000 |
Illegal Identifier. | |
#define | L2CAP_CID_SIG 0x0005 |
L2CAP Signaling. | |
#define | L2CAP_CID_SMP 0x0006 |
Security Management Protocol. | |
#define | L2CAP_CLOSED 0x00 |
Closed - no channel associated with this CID. | |
#define | L2CAP_CMD_REJECT 0x01 |
Command Reject. | |
#define | L2CAP_CONN_INSUFFICIENT_AUTHEN 0x0005 |
Connection refused - insufficient authentication. | |
#define | L2CAP_CONN_INSUFFICIENT_AUTHOR 0x0006 |
Connection refused - insufficient authorization. | |
#define | L2CAP_CONN_INSUFFICIENT_ENCRYPT 0x0008 |
Connection refused - insufficient encryption. | |
#define | L2CAP_CONN_INSUFFICIENT_KEY_SIZE 0x0007 |
Connection refused - insufficient encryption key size. | |
#define | L2CAP_CONN_NO_RESOURCES 0x0004 |
Connection refused - no resources available. | |
#define | L2CAP_CONN_PARAMS_ACCEPTED 0x0000 |
Connection Parameters accepted. | |
#define | L2CAP_CONN_PARAMS_REJECTED 0x0001 |
Connection Parameters rejected. | |
#define | L2CAP_CONN_PENDING_SEC_VERIFY 0xFFFF |
Connection security verification pending (used locally). Note - PSM must send back a Connection Response. | |
#define | L2CAP_CONN_PSM_NOT_SUPPORTED 0x0002 |
Connection refused - LE_PSM not supported. | |
#define | L2CAP_CONN_SUCCESS 0x0000 |
Connection successful. | |
#define | L2CAP_CONNECT_REQ 0x14 |
LE Credit Based Connection Request. | |
#define | L2CAP_CONNECT_RSP 0x15 |
LE Credit Based Connection Response. | |
#define | L2CAP_DISCONNECT_REQ 0x06 |
Disconnection Request. | |
#define | L2CAP_DISCONNECT_RSP 0x07 |
Disconnection Response. | |
#define | L2CAP_DYNAMIC_CID_MAX 0x007F |
#define | L2CAP_DYNAMIC_CID_MIN 0x0040 |
#define | L2CAP_DYNAMIC_PSM_MAX 0x00FF |
Dynamic PSM max. | |
#define | L2CAP_DYNAMIC_PSM_MIN 0x0080 |
Dynamic PSM min. | |
#define | L2CAP_EXTENDED_FEATURES_SIZE 4 |
Length of Extended Features bit mask. | |
#define | L2CAP_FIXED_CHANNELS 0x00000080 |
Fixed channels are supported. | |
#define | L2CAP_FIXED_CHANNELS_ATT 0x10 |
Fixed Channel ATT is supported. | |
#define | L2CAP_FIXED_CHANNELS_SIG 0x20 |
Fixed Channel L2CAP Signaling is supported. | |
#define | L2CAP_FIXED_CHANNELS_SIZE 8 |
Length of Fixed Channels bit mask. | |
#define | L2CAP_FIXED_CHANNELS_SMP 0x40 |
Fixed Channel SMP is supported. | |
#define | L2CAP_FIXED_PSM_MAX 0x007F |
Fixed LE PSM max. | |
#define | L2CAP_FIXED_PSM_MIN 0x0001 |
Fixed LE PSM min. | |
#define | L2CAP_FLOW_CTRL_CREDIT 0x16 |
LE Flow Control Credit. | |
#define | L2CAP_HDR_SIZE 4 |
Basic L2CAP header: Length (2 bytes) + Channel ID (2 bytes) | |
#define | L2CAP_INFO_CONNLESS_MTU 0x0001 |
Connectionless MTU. | |
#define | L2CAP_INFO_EXTENDED_FEATURES 0x0002 |
Extended features supported. | |
#define | L2CAP_INFO_FIXED_CHANNELS 0x0003 |
Fixed channels supported. | |
#define | L2CAP_INFO_NOT_SUPPORTED 0x0001 |
L2CAP Not supported. | |
#define | L2CAP_INFO_REQ 0x0a |
Information Request - not supported. | |
#define | L2CAP_INFO_RSP 0x0b |
Information Response - not supported. | |
#define | L2CAP_INFO_SUCCESS 0x0000 |
L2CAP Success. | |
#define | L2CAP_INVALID_PSM 0x0000 |
Invalid PSM. | |
#define | L2CAP_LEN_FIELD_SIZE 2 |
SDU Length field size. | |
#define | L2CAP_MTU_SIZE 23 |
Minimum supported information payload for the Basic information frame (B-frame) | |
#define | L2CAP_NUM_CO_CHANNELS_DEFAULT 3 |
Default maximum number of L2CAP Connection Oriented Channels. | |
#define | L2CAP_NUM_CTRL_DATA_PKT_EVT 0x65 |
Available Ctrl Data Packets Event. | |
#define | L2CAP_NUM_FIXED_CHANNELS 4 |
Number of Fixed channels: one for each of ATT, Signaling, SMP and Generic channels. | |
#define | L2CAP_NUM_PSM_DEFAULT 3 |
Default maximum number of L2CAP Protocol/Service Multiplexers (PSM) | |
#define | L2CAP_NUM_SIG_COMMANDS 1 |
Number of Signaling Commands: one for Connection Parameter Update Request. | |
#define | L2CAP_OPEN 0x01 |
Open - channel is open. | |
#define | L2CAP_OUT_OF_CREDIT_EVT 0x62 |
Out Of Credit Event. | |
#define | L2CAP_PARAM_UPDATE_REQ 0x12 |
Connection Parameter Update Request. | |
#define | L2CAP_PARAM_UPDATE_RSP 0x13 |
Connection Parameter Update Response. | |
#define | L2CAP_PDU_SIZE ( L2CAP_HDR_SIZE + L2CAP_MTU_SIZE ) |
L2CAP PDU Size. More... | |
#define | L2CAP_PEER_CREDIT_THRESHOLD_EVT 0x63 |
Peer Credit Threshold Event. | |
#define | L2CAP_PENDING_CONN_RSP 0x02 |
Waiting for Connection Response. | |
#define | L2CAP_PENDING_DISCONN_RSP 0x03 |
Waiting for Disconnection Response. | |
#define | L2CAP_PENDING_INFO_RSP 0x05 |
Waiting for Info Response. | |
#define | L2CAP_PENDING_PARAM_UPDATE_RSP 0x04 |
Waiting for Connection Parameter Update Response. | |
#define | L2CAP_PENDING_SEC_VERIFY 0x06 |
Waiting for Security Verification from local PSM. | |
#define | L2CAP_REJECT_CMD_NOT_UNDERSTOOD 0x0000 |
Command not understood. | |
#define | L2CAP_REJECT_INVALID_CID 0x0002 |
Invalid CID in request. | |
#define | L2CAP_REJECT_SIGNAL_MTU_EXCEED 0x0001 |
Signaling MTU exceeded. | |
#define | L2CAP_RTX_TIMEOUT 30 |
L2CAP Response Timeout Expired (RTX) More... | |
#define | L2CAP_SDU_SIZE 512 |
Maximum SDU size (PSM's MTU) that can be received on a Connection Oriented Channel. | |
#define | L2CAP_SEND_SDU_DONE_EVT 0x64 |
Send SDU Done Event. | |
#define | L2CAP_SIG_MTU_SIZE 23 |
Minimum supported information payload for the Control frame (C-frame) | |
#define | L2CAP_TERM_BY_PEER_PSM 0x0002 |
Channel terminated by peer PSM. | |
#define | L2CAP_TERM_BY_PSM 0x0001 |
Channel terminated by local PSM. | |
#define | L2CAP_TERM_LINK_DOWN 0x0000 |
Physical link gone down. | |
#define | L2CAP_TERM_MAX_CREDIT_EXCEED 0x0003 |
Credit count exceeded 65535. | |
#define | L2CAP_TERM_MEM_ALLOC_ERROR 0x0009 |
Memory allocation error occurred. | |
#define | L2CAP_TERM_PSM_MTU_EXCEED 0x0005 |
Total length of payload received exceeded local PSM's MTU. | |
#define | L2CAP_TERM_RX_ERROR 0x0007 |
LE-frame was received with error. | |
#define | L2CAP_TERM_RX_PKT_NO_CREDIT 0x0006 |
LE-frame was received from peer device that has a credit of count zero. | |
#define | L2CAP_TERM_SDU_LEN_EXCEED 0x0004 |
Total length of payload received exceeded SDU length specified in first LE-frame of SDU. | |
#define | L2CAP_TERM_TX_ERROR 0x0008 |
Error happened while trying to send LE-frame. | |
#define | maxSignalMTU reasonData.signalMTU |
Typedefs | |
typedef uint16(* | pfnVerifySecCB_t )(uint16 connHandle, uint8 id, l2capConnectReq_t *pReq) |
Callback function prototype to verify security when a Connection Request is received. More... | |
Functions | |
void * | L2CAP_bm_alloc (uint16 size) |
L2CAP implementation of the allocator functionality. More... | |
uint16 | L2CAP_BuildCmdReject (uint8 *pBuf, uint8 *pCmd) |
Build Command Reject. More... | |
uint16 | L2CAP_BuildConnectReq (uint8 *pBuf, uint8 *pData) |
Build Connection Request. More... | |
uint16 | L2CAP_BuildInfoRsp (uint8 *pBuf, uint8 *pData) |
Build Information Response. More... | |
uint16 | L2CAP_BuildParamUpdateRsp (uint8 *pBuf, uint8 *pData) |
Build Connection Parameter Update Response. More... | |
bStatus_t | L2CAP_ChannelInfo (uint16 CID, l2capChannelInfo_t *pInfo) |
Get information about a given active Connection Oriented Channel. More... | |
bStatus_t | L2CAP_CmdReject (uint16 connHandle, uint8 id, l2capCmdReject_t *pCmdReject) |
Send Command Reject. More... | |
bStatus_t | L2CAP_ConnectReq (uint16 connHandle, uint16 psm, uint16 peerPsm) |
Send Connection Request. More... | |
bStatus_t | L2CAP_ConnectRsp (uint16 connHandle, uint8 id, uint16 result) |
Send Connection Response. More... | |
bStatus_t | L2CAP_ConnParamUpdateReq (uint16 connHandle, l2capParamUpdateReq_t *pUpdateReq, uint8 taskId) |
Send Connection Parameter Update Request. More... | |
bStatus_t | L2CAP_ConnParamUpdateRsp (uint16 connHandle, uint8 id, l2capParamUpdateRsp_t *pUpdateRsp) |
Send Connection Parameter Update Response. More... | |
bStatus_t | L2CAP_DeregisterPsm (uint8 taskId, uint16 psm) |
Deregister a Protocol/Service Multiplexer with L2CAP. More... | |
bStatus_t | L2CAP_DisconnectReq (uint16 CID) |
Send Disconnection Request. More... | |
bStatus_t | L2CAP_FlowCtrlCredit (uint16 CID, uint16 peerCredits) |
Send Flow Control Credit. More... | |
uint16 | L2CAP_GetMTU (void) |
Get the maximum payload size that L2CAP is capable of receiving. More... | |
uint16 | L2CAP_GetParamValue (void) |
Get the L2CAP parameter value. More... | |
void | L2CAP_HostNumCompletedPkts (uint16 connHandle, uint16 numCompletedPkts) |
Host Number of Completed Packets. More... | |
bStatus_t | L2CAP_InfoReq (uint16 connHandle, l2capInfoReq_t *pInfoReq, uint8 taskId) |
Send Information Request. More... | |
bStatus_t | L2CAP_ParseConnectReq (l2capSignalCmd_t *pCmd, uint8 *pData, uint16 len) |
Parse Connection Request message. More... | |
bStatus_t | L2CAP_ParseFlowCtrlCredit (l2capSignalCmd_t *pCmd, uint8 *pData, uint16 len) |
Parse Flow Control Credit message. More... | |
bStatus_t | L2CAP_ParseInfoReq (l2capSignalCmd_t *pCmd, uint8 *pData, uint16 len) |
Parse Information Request message. More... | |
bStatus_t | L2CAP_ParseParamUpdateReq (l2capSignalCmd_t *pCmd, uint8 *pData, uint16 len) |
Parse Connection Parameter Update Request. More... | |
bStatus_t | L2CAP_PsmChannels (uint16 psm, uint8 numCIDs, uint16 *pCIDs) |
Get all active channels for a given registered PSM. More... | |
bStatus_t | L2CAP_PsmInfo (uint16 psm, l2capPsmInfo_t *pInfo) |
Get information about a given registered PSM. More... | |
bStatus_t | L2CAP_RegisterApp (uint8 taskId, uint16 CID) |
Register a protocol/application with an L2CAP fixed channel. More... | |
void | L2CAP_RegisterFlowCtrlTask (uint8 taskId) |
Register task to recevie L2CAP Flow Control events when there are data buffers available for sending messages. More... | |
bStatus_t | L2CAP_RegisterPsm (l2capPsm_t *pPsm) |
Register a Protocol/Service Multiplexer (PSM) with L2CAP. More... | |
bStatus_t | L2CAP_SendData (uint16 connHandle, l2capPacket_t *pPkt) |
Send data packet over an L2CAP fixed channel established over a physical connection. More... | |
bStatus_t | L2CAP_SendSDU (l2capPacket_t *pPkt) |
Send data packet over an L2CAP connection oriented channel established over a physical connection. More... | |
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 packets allowed by the Controller. More... | |
void | L2CAP_SetControllerToHostFlowCtrl (uint16 hostBuffSize, uint8 flowCtrlMode) |
Turn flow control on or off for data packets sent from the Controller to the Host. More... | |
void | L2CAP_SetParamValue (uint16 value) |
Set the L2CAP parameter value. More... | |
void | L2CAP_SetUserConfig (l2capUserCfg_t *pUserCfg) |
Set the user configurable variables for the L2CAP layer. More... | |