Mistake on this page?
Report an issue in GitHub or email us
lmgr_api_sc.h
Go to the documentation of this file.
1 /*************************************************************************************************/
2 /*!
3  * \file
4  *
5  * \brief Link layer manager secure connections 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 LMGR_API_SC_H
26 #define LMGR_API_SC_H
27 
28 #include "lmgr_api.h"
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
34 /*!
35  * \addtogroup LL_LMGR_API_SC
36  * \{
37  */
38 
39 /**************************************************************************************************
40  Data Types
41 **************************************************************************************************/
42 
43 /*! \brief Secure connections parameter definition. */
44 typedef struct
45 {
46  uint8_t privKey[LL_ECC_KEY_LEN]; /*!< P-256 private key. */
47  bool_t eccOpActive; /*!< An ECC generation operation is active. */
48  bool_t privKeySet; /*!< P-256 private key set; do not generate new one. */
49  bool_t pubKeyValid; /*!< DHKey won't start to generate unless public key is valid. */
50  uint8_t validatePubKeyMode; /*!< Validate public key mode between ALT1 and ALT2. */
52 
53 /*! \brief Key validation mode between ALT1 and ALT2. */
54 enum
55 {
56  KEY_VALIDATE_MODE_ALT2 = 0, /*!< Return error code 0x12 in command complete event. (Default mode) */
57  KEY_VALIDATE_MODE_ALT1 = 1, /*!< Return error code 0x12 in command status event. */
58  KEY_VALIDATE_MODE_MAX = 1 /*!< Key validate mode maximum value. */
59 };
60 
61 /**************************************************************************************************
62  Global Variables
63 **************************************************************************************************/
64 
65 extern lmgrScCtrlBlk_t lmgrScCb;
66 
67 /**************************************************************************************************
68  Function Declarations
69 **************************************************************************************************/
70 
71 /* Initialization */
72 void LmgrScInit(void);
73 
74 /*! \} */ /* LL_LMGR_API_SC */
75 
76 #ifdef __cplusplus
77 };
78 #endif
79 
80 #endif /* LMGR_API_SC_H */
bool_t privKeySet
Definition: lmgr_api_sc.h:48
bool_t pubKeyValid
Definition: lmgr_api_sc.h:49
bool_t eccOpActive
Definition: lmgr_api_sc.h:47
uint8_t validatePubKeyMode
Definition: lmgr_api_sc.h:50
Link layer manager common interface file.
#define LL_ECC_KEY_LEN
Definition: ll_defs.h:305
Secure connections parameter definition.
Definition: lmgr_api_sc.h:44
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.