Mistake on this page?
Report an issue in GitHub or email us
lctr_int_conn_master.h
Go to the documentation of this file.
1 /*************************************************************************************************/
2 /*!
3  * \file
4  *
5  * \brief Internal link layer controller master connection interface file.
6  *
7  * Copyright (c) 2013-2019 Arm Ltd. All Rights Reserved.
8  *
9  * Copyright (c) 2019 Packetcraft, Inc.
10  *
11  * Licensed under the Apache License, Version 2.0 (the "License");
12  * you may not use this file except in compliance with the License.
13  * You may obtain a copy of the License at
14  *
15  * http://www.apache.org/licenses/LICENSE-2.0
16  *
17  * Unless required by applicable law or agreed to in writing, software
18  * distributed under the License is distributed on an "AS IS" BASIS,
19  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20  * See the License for the specific language governing permissions and
21  * limitations under the License.
22  */
23 /*************************************************************************************************/
24 
25 #ifndef LCTR_INT_CONN_MASTER_H
26 #define LCTR_INT_CONN_MASTER_H
27 
28 #include "lctr_int.h"
29 #include "lctr_int_conn.h"
30 #include "lctr_api_conn.h"
31 #include "lctr_pdu_conn.h"
32 #include "ll_defs.h"
33 #include "bb_ble_api.h"
34 #include "wsf_msg.h"
35 #include "wsf_timer.h"
36 
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40 
41 /**************************************************************************************************
42  Constants
43 **************************************************************************************************/
44 
45 /*! \brief Buffer offset of txWinOffset in a CONN_IND PDU. */
46 #define LCTR_CONN_IND_TX_WIN_OFFSET (LL_DATA_HDR_LEN + 6 + 6 + 8)
47 
48 /**************************************************************************************************
49  Global Variables
50 **************************************************************************************************/
51 
53 
54 /**************************************************************************************************
55  Function Declarations
56 **************************************************************************************************/
57 
58 /* State machine */
59 void lctrMstConnExecuteSm(lctrConnCtx_t *pConnCtx, uint8_t event);
60 void lctrMstLlcpExecuteSm(lctrConnCtx_t *pCtx, uint8_t event);
61 bool_t lctrMstLlcpExecuteConnUpdSm(lctrConnCtx_t *pCtx, uint8_t event);
62 
63 /* Builder */
64 void lctrMstConnBuildOp(lctrConnCtx_t *pCtx, lctrConnInd_t *pConnInd);
65 
66 /* ISR */
67 void lctrMstConnBeginOp(BbOpDesc_t *pOp);
68 void lctrMstConnCleanupOp(BbOpDesc_t *pOp);
69 void lctrMstConnEndOp(BbOpDesc_t *pOp);
70 void lctrMstConnAbortOp(BbOpDesc_t *pOp);
71 void lctrMstConnTxCompletion(BbOpDesc_t *pOp, uint8_t status);
72 void lctrMstConnRxCompletion(BbOpDesc_t *pOp, uint8_t *pRxBuf, uint8_t status);
73 
74 /* Action routines. */
75 void lctrMstSetEstablishConn(lctrConnCtx_t *pCtx);
76 void lctrMstReloadDataPdu(lctrConnCtx_t *pCtx);
77 
78 /* Helper */
79 
80 #ifdef __cplusplus
81 };
82 #endif
83 
84 #endif /* LCTR_INT_CONN_MASTER_H */
Link layer controller connection interface file.
Connection context.
BLE baseband interface file.
Connect request PDU.
Definition: lctr_api.h:131
Message passing service.
Link layer controller data channel packet interface file.
LctrLlcpHdlr_t lctrMstLlcpSmTbl[LCTR_LLCP_SM_TOTAL]
Master LLCP state machine table.
Link layer constant definitions.
Internal link layer controller connection interface file.
Baseband operation descriptor (BOD).
Definition: bb_api.h:149
Timer service.
bool_t(* LctrLlcpHdlr_t)(lctrConnCtx_t *pCtx, uint8_t event)
Call signature of a LLCP state machine handler.
Internal link layer controller interface file.
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.