ver:init
x-nucleo-idb0xa1/bluenrg-hci/ble_sm.h@0:4946262d6030, 2017-06-18 (annotated)
- Committer:
- iv123
- Date:
- Sun Jun 18 16:11:03 2017 +0000
- Revision:
- 0:4946262d6030
Initial commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
iv123 | 0:4946262d6030 | 1 | /******************** (C) COPYRIGHT 2012 STMicroelectronics ******************** |
iv123 | 0:4946262d6030 | 2 | * File Name : sm.h |
iv123 | 0:4946262d6030 | 3 | * Author : AMS - HEA&RF BU |
iv123 | 0:4946262d6030 | 4 | * Version : V1.0.0 |
iv123 | 0:4946262d6030 | 5 | * Date : 19-July-2012 |
iv123 | 0:4946262d6030 | 6 | * Description : Header file for BlueNRG's security manager. |
iv123 | 0:4946262d6030 | 7 | ******************************************************************************** |
iv123 | 0:4946262d6030 | 8 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS |
iv123 | 0:4946262d6030 | 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. |
iv123 | 0:4946262d6030 | 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, |
iv123 | 0:4946262d6030 | 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE |
iv123 | 0:4946262d6030 | 12 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING |
iv123 | 0:4946262d6030 | 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. |
iv123 | 0:4946262d6030 | 14 | *******************************************************************************/ |
iv123 | 0:4946262d6030 | 15 | |
iv123 | 0:4946262d6030 | 16 | #ifndef __SM_H__ |
iv123 | 0:4946262d6030 | 17 | #define __SM_H__ |
iv123 | 0:4946262d6030 | 18 | |
iv123 | 0:4946262d6030 | 19 | /****************************************************************************** |
iv123 | 0:4946262d6030 | 20 | * Macros |
iv123 | 0:4946262d6030 | 21 | *****************************************************************************/ |
iv123 | 0:4946262d6030 | 22 | |
iv123 | 0:4946262d6030 | 23 | /** |
iv123 | 0:4946262d6030 | 24 | *@addtogroup GAP GAP |
iv123 | 0:4946262d6030 | 25 | *@brief API for GAP layer. |
iv123 | 0:4946262d6030 | 26 | *@{ |
iv123 | 0:4946262d6030 | 27 | */ |
iv123 | 0:4946262d6030 | 28 | |
iv123 | 0:4946262d6030 | 29 | /* IO capabilities */ |
iv123 | 0:4946262d6030 | 30 | /** |
iv123 | 0:4946262d6030 | 31 | * @anchor IO_capabilities |
iv123 | 0:4946262d6030 | 32 | * @name IO capabilities |
iv123 | 0:4946262d6030 | 33 | * @{ |
iv123 | 0:4946262d6030 | 34 | */ |
iv123 | 0:4946262d6030 | 35 | #define IO_CAP_DISPLAY_ONLY (0x00) |
iv123 | 0:4946262d6030 | 36 | #define IO_CAP_DISPLAY_YES_NO (0x01) |
iv123 | 0:4946262d6030 | 37 | #define IO_CAP_KEYBOARD_ONLY (0x02) |
iv123 | 0:4946262d6030 | 38 | #define IO_CAP_NO_INPUT_NO_OUTPUT (0x03) |
iv123 | 0:4946262d6030 | 39 | #define IO_CAP_KEYBOARD_DISPLAY (0x04) |
iv123 | 0:4946262d6030 | 40 | /** |
iv123 | 0:4946262d6030 | 41 | * @} |
iv123 | 0:4946262d6030 | 42 | */ |
iv123 | 0:4946262d6030 | 43 | |
iv123 | 0:4946262d6030 | 44 | /** |
iv123 | 0:4946262d6030 | 45 | * @anchor Auth_req |
iv123 | 0:4946262d6030 | 46 | * @name Authentication requirements |
iv123 | 0:4946262d6030 | 47 | * @{ |
iv123 | 0:4946262d6030 | 48 | */ |
iv123 | 0:4946262d6030 | 49 | #define BONDING (0x01) |
iv123 | 0:4946262d6030 | 50 | #define NO_BONDING (0x00) |
iv123 | 0:4946262d6030 | 51 | /** |
iv123 | 0:4946262d6030 | 52 | * @} |
iv123 | 0:4946262d6030 | 53 | */ |
iv123 | 0:4946262d6030 | 54 | |
iv123 | 0:4946262d6030 | 55 | /** |
iv123 | 0:4946262d6030 | 56 | * @anchor MITM_req |
iv123 | 0:4946262d6030 | 57 | * @name MITM protection requirements |
iv123 | 0:4946262d6030 | 58 | * @{ |
iv123 | 0:4946262d6030 | 59 | */ |
iv123 | 0:4946262d6030 | 60 | #define MITM_PROTECTION_NOT_REQUIRED (0x00) |
iv123 | 0:4946262d6030 | 61 | #define MITM_PROTECTION_REQUIRED (0x01) |
iv123 | 0:4946262d6030 | 62 | /** |
iv123 | 0:4946262d6030 | 63 | * @} |
iv123 | 0:4946262d6030 | 64 | */ |
iv123 | 0:4946262d6030 | 65 | |
iv123 | 0:4946262d6030 | 66 | /** |
iv123 | 0:4946262d6030 | 67 | * @anchor OOB_Data |
iv123 | 0:4946262d6030 | 68 | * @name Out-Of-Band data |
iv123 | 0:4946262d6030 | 69 | * @{ |
iv123 | 0:4946262d6030 | 70 | */ |
iv123 | 0:4946262d6030 | 71 | #define OOB_AUTH_DATA_ABSENT (0x00) |
iv123 | 0:4946262d6030 | 72 | #define OOB_AUTH_DATA_PRESENT (0x01) |
iv123 | 0:4946262d6030 | 73 | /** |
iv123 | 0:4946262d6030 | 74 | * @} |
iv123 | 0:4946262d6030 | 75 | */ |
iv123 | 0:4946262d6030 | 76 | |
iv123 | 0:4946262d6030 | 77 | /** |
iv123 | 0:4946262d6030 | 78 | * @anchor Author_req |
iv123 | 0:4946262d6030 | 79 | * @name Authorization requirements |
iv123 | 0:4946262d6030 | 80 | * @{ |
iv123 | 0:4946262d6030 | 81 | */ |
iv123 | 0:4946262d6030 | 82 | #define AUTHORIZATION_NOT_REQUIRED (0x00) |
iv123 | 0:4946262d6030 | 83 | #define AUTHORIZATION_REQUIRED (0x01) |
iv123 | 0:4946262d6030 | 84 | /** |
iv123 | 0:4946262d6030 | 85 | * @} |
iv123 | 0:4946262d6030 | 86 | */ |
iv123 | 0:4946262d6030 | 87 | |
iv123 | 0:4946262d6030 | 88 | /** |
iv123 | 0:4946262d6030 | 89 | * @anchor Conn_authorization |
iv123 | 0:4946262d6030 | 90 | * @name Connection authorization |
iv123 | 0:4946262d6030 | 91 | * @{ |
iv123 | 0:4946262d6030 | 92 | */ |
iv123 | 0:4946262d6030 | 93 | #define CONNECTION_AUTHORIZED (0x01) |
iv123 | 0:4946262d6030 | 94 | #define CONNECTION_REJECTED (0x02) |
iv123 | 0:4946262d6030 | 95 | /** |
iv123 | 0:4946262d6030 | 96 | * @} |
iv123 | 0:4946262d6030 | 97 | */ |
iv123 | 0:4946262d6030 | 98 | |
iv123 | 0:4946262d6030 | 99 | /** |
iv123 | 0:4946262d6030 | 100 | * @anchor Use_fixed_pin |
iv123 | 0:4946262d6030 | 101 | * @name Use fixed pin |
iv123 | 0:4946262d6030 | 102 | * @{ |
iv123 | 0:4946262d6030 | 103 | */ |
iv123 | 0:4946262d6030 | 104 | #define USE_FIXED_PIN_FOR_PAIRING (0x0) |
iv123 | 0:4946262d6030 | 105 | #define DONOT_USE_FIXED_PIN_FOR_PAIRING (0x01) |
iv123 | 0:4946262d6030 | 106 | /** |
iv123 | 0:4946262d6030 | 107 | * @} |
iv123 | 0:4946262d6030 | 108 | */ |
iv123 | 0:4946262d6030 | 109 | |
iv123 | 0:4946262d6030 | 110 | /** |
iv123 | 0:4946262d6030 | 111 | * @anchor link_security_status |
iv123 | 0:4946262d6030 | 112 | * @name Link security status |
iv123 | 0:4946262d6030 | 113 | * @{ |
iv123 | 0:4946262d6030 | 114 | */ |
iv123 | 0:4946262d6030 | 115 | #define SM_LINK_AUTHENTICATED (0x01) |
iv123 | 0:4946262d6030 | 116 | #define SM_LINK_AUTHORIZED (0x02) |
iv123 | 0:4946262d6030 | 117 | #define SM_LINK_ENCRYPTED (0x04) |
iv123 | 0:4946262d6030 | 118 | /** |
iv123 | 0:4946262d6030 | 119 | * @} |
iv123 | 0:4946262d6030 | 120 | */ |
iv123 | 0:4946262d6030 | 121 | |
iv123 | 0:4946262d6030 | 122 | /** |
iv123 | 0:4946262d6030 | 123 | * @anchor SMP_pairing_failed_codes |
iv123 | 0:4946262d6030 | 124 | * @name SMP pairing failed reason codes |
iv123 | 0:4946262d6030 | 125 | * @{ |
iv123 | 0:4946262d6030 | 126 | */ |
iv123 | 0:4946262d6030 | 127 | #define PASSKEY_ENTRY_FAILED (0x01) |
iv123 | 0:4946262d6030 | 128 | #define OOB_NOT_AVAILABLE (0x02) |
iv123 | 0:4946262d6030 | 129 | #define AUTH_REQ_CANNOT_BE_MET (0x03) |
iv123 | 0:4946262d6030 | 130 | #define CONFIRM_VALUE_FAILED (0x04) |
iv123 | 0:4946262d6030 | 131 | #define PAIRING_NOT_SUPPORTED (0x05) |
iv123 | 0:4946262d6030 | 132 | #define INSUFF_ENCRYPTION_KEY_SIZE (0x06) |
iv123 | 0:4946262d6030 | 133 | #define CMD_NOT_SUPPORTED (0x07) |
iv123 | 0:4946262d6030 | 134 | #define UNSPECIFIED_REASON (0x08) |
iv123 | 0:4946262d6030 | 135 | #define VERY_EARLY_NEXT_ATTEMPT (0x09) |
iv123 | 0:4946262d6030 | 136 | #define SM_INVALID_PARAMS (0x0A) |
iv123 | 0:4946262d6030 | 137 | /** |
iv123 | 0:4946262d6030 | 138 | * @} |
iv123 | 0:4946262d6030 | 139 | */ |
iv123 | 0:4946262d6030 | 140 | |
iv123 | 0:4946262d6030 | 141 | /** |
iv123 | 0:4946262d6030 | 142 | * @anchor pairing_failed_codes |
iv123 | 0:4946262d6030 | 143 | * @name Pairing failed error codes |
iv123 | 0:4946262d6030 | 144 | * Error codes in @ref EVT_BLUE_GAP_PAIRING_CMPLT event |
iv123 | 0:4946262d6030 | 145 | * @{ |
iv123 | 0:4946262d6030 | 146 | */ |
iv123 | 0:4946262d6030 | 147 | #define SM_PAIRING_SUCCESS (0x00) |
iv123 | 0:4946262d6030 | 148 | #define SM_PAIRING_TIMEOUT (0x01) |
iv123 | 0:4946262d6030 | 149 | #define SM_PAIRING_FAILED (0x02) |
iv123 | 0:4946262d6030 | 150 | /** |
iv123 | 0:4946262d6030 | 151 | * @} |
iv123 | 0:4946262d6030 | 152 | */ |
iv123 | 0:4946262d6030 | 153 | |
iv123 | 0:4946262d6030 | 154 | /** |
iv123 | 0:4946262d6030 | 155 | * @} |
iv123 | 0:4946262d6030 | 156 | */ |
iv123 | 0:4946262d6030 | 157 | |
iv123 | 0:4946262d6030 | 158 | #endif /* __SM_H__ */ |