Mistake on this page?
Report an issue in GitHub or email us
lctr_int_init_master.h
Go to the documentation of this file.
1 /*************************************************************************************************/
2 /*!
3  * \file
4  *
5  * \brief Internal link layer controller scanning master interface file.
6  *
7  * Copyright (c) 2013-2017 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_INIT_MASTER_H
26 #define LCTR_INT_INIT_MASTER_H
27 
28 #include "lctr_api_init_master.h"
29 #include "lctr_int.h"
30 #include "lctr_int_adv_master.h"
31 #include "lctr_int_conn.h"
32 #include "lctr_int_conn_master.h"
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
38 /**************************************************************************************************
39  Macros
40 **************************************************************************************************/
41 
42 /**************************************************************************************************
43  Constants
44 **************************************************************************************************/
45 
46 /*! \brief Master initiate states. */
47 enum
48 {
49  LCTR_INIT_STATE_DISABLED, /*!< Initiate disabled state. */
50  LCTR_INIT_STATE_ENABLED, /*!< Initiate enabled state. */
51  LCTR_INIT_STATE_SHUTDOWN, /*!< Scan shutdown in progress. */
52  LCTR_INIT_STATE_RESET, /*!< Scan reset in progress. */
53  LCTR_INIT_STATE_TOTAL /*!< Total number of scan states. */
54 };
55 
56 /**************************************************************************************************
57  Data Types
58 **************************************************************************************************/
59 
60 /**************************************************************************************************
61  Globals
62 **************************************************************************************************/
63 
64 extern lctrMstScanCtx_t lctrMstInit;
65 
66 /**************************************************************************************************
67  Function Declarations
68 **************************************************************************************************/
69 
70 /* Builder */
71 void lctrMstInitiateBuildOp(LlConnSpec_t *pConnSpec, uint8_t peerAddrType, uint64_t peerAddr);
72 void lctrMstInitiateOpCommit(void);
73 
74 /* ISR */
75 void lctrMstInitiateEndOp(BbOpDesc_t *pOp);
76 bool_t lctrMstInitiateAdvPktHandler(BbOpDesc_t *pOp, const uint8_t *pAdvBuf);
77 bool_t lctrMstConnIndTxCompHandler(BbOpDesc_t *pOp, const uint8_t *pIndBuf);
78 
79 /* Action routines. */
80 void lctrInitActInitiate(void);
81 void lctrInitActConnect(void);
82 void lctrInitActShutdown(void);
83 void lctrInitActScanTerm(void);
84 void lctrInitActResetTerm(void);
85 void lctrInitActDisallowInitiate(void);
86 void lctrInitActDisallowCancel(void);
87 
88 /* Helper routines. */
89 void lctrScanCleanup(lctrMstScanCtx_t *pCtx);
90 void lctrScanNotifyHostInitiateError(uint8_t reason, uint8_t peerAddrType, uint64_t peerAddr);
91 
92 #ifdef __cplusplus
93 };
94 #endif
95 
96 #endif /* LCTR_INT_INIT_MASTER_H */
Internal link layer controller scanning master interface file.
Internal link layer controller master connection interface file.
Master scan state context.
Link layer controller initiating master interface file.
Internal link layer controller connection interface file.
Baseband operation descriptor (BOD).
Definition: bb_api.h:149
Connection specification (LlCreateConn(), LlConnUpdate() and LlExtCreateConn()).
Definition: ll_api.h:624
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.