Mistake on this page?
Report an issue in GitHub or email us
lctr_api_priv.h
Go to the documentation of this file.
1 /*************************************************************************************************/
2 /*!
3  * \file
4  *
5  * \brief Link layer controller privacy 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_API_PRIV_H
26 #define LCTR_API_PRIV_H
27 
28 #include "lctr_api.h"
29 #include "lmgr_api_priv.h"
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
35 /*!
36  * \addtogroup LL_LCTR_API_PRIV
37  * \{
38  */
39 
40 /**************************************************************************************************
41  Constants
42 **************************************************************************************************/
43 
44 /*! \brief Slave advertising task messages for \a LCTR_DISP_PRIV dispatcher. */
45 enum
46 {
47  /* Privacy events */
48  LCTR_PRIV_MSG_RESET, /*!< HCI reset event. */
49  LCTR_PRIV_MSG_RES_PRIV_ADDR_TIMEOUT, /*!< Resolvable private address timeout event. */
50  LCTR_PRIV_MSG_ADDR_RES_NEEDED /*!< Address resolution needed. */
51 };
52 
53 /**************************************************************************************************
54  Data Types
55 **************************************************************************************************/
56 
57 /*! \brief Address resolution pending message. */
58 typedef struct
59 {
60  lctrMsgHdr_t hdr; /*!< Message header. */
61  bool_t peer; /*!< TRUE if RPA is a peer's RPA. */
62  uint8_t peerAddrType; /*!< Peer identity address type. */
63  uint64_t peerIdentityAddr; /*!< Peer identity address. */
64  uint64_t rpa; /*!< Resolvable private address. */
66 
67 /*! \brief Address resolution pending message. */
68 typedef union
69 {
70  lctrMsgHdr_t hdr; /*!< Message header. */
71  lctrAddrResNeededMsg_t addrResNeeded; /*!< Address resolution needed. */
73 
74 /**************************************************************************************************
75  Function Declarations
76 **************************************************************************************************/
77 
78 /* Initialization */
79 void LctrPrivInit(void);
80 
81 /* Control */
82 void LctrPrivSetResPrivAddrTimeout(uint32_t timeout);
83 
84 /*! \} */ /* LL_LCTR_API_PRIV */
85 
86 #ifdef __cplusplus
87 };
88 #endif
89 
90 #endif /* LCTR_API_PRIV_H */
Address resolution pending message.
Definition: lctr_api_priv.h:68
Address resolution pending message.
Definition: lctr_api_priv.h:58
Link layer controller common interface file.
Common message structure passed to event handler.
Definition: lctr_api.h:109
lctrMsgHdr_t hdr
Definition: lctr_api_priv.h:70
lctrAddrResNeededMsg_t addrResNeeded
Definition: lctr_api_priv.h:71
Link layer manager privacy 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.