Mistake on this page?
Report an issue in GitHub or email us
lctr_int_conn_slave.h
Go to the documentation of this file.
1 /*************************************************************************************************/
2 /*!
3  * \file
4  *
5  * \brief Internal link layer controller slave connection interface file.
6  *
7  * Copyright (c) 2013-2018 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_SLAVE_H
26 #define LCTR_INT_CONN_SLAVE_H
27 
28 #include "lctr_int_conn.h"
29 #include "bb_api.h"
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
35 /**************************************************************************************************
36  Global Variables
37 **************************************************************************************************/
38 
40 
41 /**************************************************************************************************
42  Data Types
43 **************************************************************************************************/
44 
45 /**************************************************************************************************
46  Function Declarations
47 **************************************************************************************************/
48 
49 /* State machine */
50 void lctrSlvConnExecuteSm(lctrConnCtx_t *pConnCtx, uint8_t event);
51 void lctrSlvLlcpExecuteSm(lctrConnCtx_t *pCtx, uint8_t event);
52 bool_t lctrSlvLlcpExecuteConnUpdSm(lctrConnCtx_t *pCtx, uint8_t event);
53 void lctrConnStatelessEventHandler(lctrConnCtx_t *pCtx, uint8_t event);
54 bool_t lctrLlcpExecuteCommonSm(lctrConnCtx_t *pCtx, uint8_t event);
55 void lctrLlcpStatelessEventHandler(lctrConnCtx_t *pCtx, uint8_t event);
56 
57 /* Status */
58 bool_t lctrSlvCheckEncOverrideConnParam(lctrConnCtx_t *pCtx);
59 bool_t lctrSlvCheckEncOverrideCommonParam(lctrConnCtx_t *pCtx);
60 bool_t lctrSlvCheckConnUpdInstant(lctrConnCtx_t *pCtx);
61 
62 /* Builder */
63 void lctrSlvConnBuildOp(lctrConnCtx_t *pCtx);
64 
65 /* ISR */
66 void lctrSlvConnBeginOp(BbOpDesc_t *pOp);
67 void lctrSlvConnCleanupOp(BbOpDesc_t *pOp);
68 void lctrSlvConnEndOp(BbOpDesc_t *pOp);
69 void lctrSlvConnTxCompletion(BbOpDesc_t *pOp, uint8_t status);
70 void lctrSlvConnRxCompletion(BbOpDesc_t *pOp, uint8_t *pRxBuf, uint8_t status);
71 void lctrSlvConnAbortOp(BbOpDesc_t *pOp);
72 
73 #ifdef __cplusplus
74 };
75 #endif
76 
77 #endif /* LCTR_INT_CONN_SLAVE_H */
Connection context.
LctrLlcpHdlr_t lctrSlvLlcpSmTbl[LCTR_LLCP_SM_TOTAL]
Slave LLCP state machine table.
Baseband interface file.
Internal link layer controller connection interface file.
Baseband operation descriptor (BOD).
Definition: bb_api.h:149
bool_t(* LctrLlcpHdlr_t)(lctrConnCtx_t *pCtx, uint8_t event)
Call signature of a LLCP state machine handler.
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.