Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of X_NUCLEO_IDB0XA1 by
x-nucleo-idb0xa1/BlueNRG_HCI/includes/sm.h@130:770ce14d3d15, 2015-10-06 (annotated)
- Committer:
- Wolfgang Betz
- Date:
- Tue Oct 06 14:25:08 2015 +0200
- Revision:
- 130:770ce14d3d15
Include mbed-classic version
Derived from
- repo (on Codex): gitolite@codex.cro.st.com:x-nucleodev/X-NUCLEO-IKC01A1-MBED.git
- branch: ble_wb
- SHA1 ID: 5ccc73e35868169e42132c0d1c056f908a6d70c0
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Wolfgang Betz |
130:770ce14d3d15 | 1 | /******************** (C) COPYRIGHT 2012 STMicroelectronics ******************** |
Wolfgang Betz |
130:770ce14d3d15 | 2 | * File Name : sm.h |
Wolfgang Betz |
130:770ce14d3d15 | 3 | * Author : AMS - HEA&RF BU |
Wolfgang Betz |
130:770ce14d3d15 | 4 | * Version : V1.0.0 |
Wolfgang Betz |
130:770ce14d3d15 | 5 | * Date : 19-July-2012 |
Wolfgang Betz |
130:770ce14d3d15 | 6 | * Description : Header file for BlueNRG's security manager. |
Wolfgang Betz |
130:770ce14d3d15 | 7 | ******************************************************************************** |
Wolfgang Betz |
130:770ce14d3d15 | 8 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS |
Wolfgang Betz |
130:770ce14d3d15 | 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. |
Wolfgang Betz |
130:770ce14d3d15 | 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, |
Wolfgang Betz |
130:770ce14d3d15 | 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE |
Wolfgang Betz |
130:770ce14d3d15 | 12 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING |
Wolfgang Betz |
130:770ce14d3d15 | 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. |
Wolfgang Betz |
130:770ce14d3d15 | 14 | *******************************************************************************/ |
Wolfgang Betz |
130:770ce14d3d15 | 15 | |
Wolfgang Betz |
130:770ce14d3d15 | 16 | #ifndef __SM_H__ |
Wolfgang Betz |
130:770ce14d3d15 | 17 | #define __SM_H__ |
Wolfgang Betz |
130:770ce14d3d15 | 18 | |
Wolfgang Betz |
130:770ce14d3d15 | 19 | /****************************************************************************** |
Wolfgang Betz |
130:770ce14d3d15 | 20 | * Macros |
Wolfgang Betz |
130:770ce14d3d15 | 21 | *****************************************************************************/ |
Wolfgang Betz |
130:770ce14d3d15 | 22 | |
Wolfgang Betz |
130:770ce14d3d15 | 23 | /** |
Wolfgang Betz |
130:770ce14d3d15 | 24 | *@addtogroup GAP GAP |
Wolfgang Betz |
130:770ce14d3d15 | 25 | *@brief API for GAP layer. |
Wolfgang Betz |
130:770ce14d3d15 | 26 | *@{ |
Wolfgang Betz |
130:770ce14d3d15 | 27 | */ |
Wolfgang Betz |
130:770ce14d3d15 | 28 | |
Wolfgang Betz |
130:770ce14d3d15 | 29 | /* IO capabilities */ |
Wolfgang Betz |
130:770ce14d3d15 | 30 | /** |
Wolfgang Betz |
130:770ce14d3d15 | 31 | * @anchor IO_capabilities |
Wolfgang Betz |
130:770ce14d3d15 | 32 | * @name IO capabilities |
Wolfgang Betz |
130:770ce14d3d15 | 33 | * @{ |
Wolfgang Betz |
130:770ce14d3d15 | 34 | */ |
Wolfgang Betz |
130:770ce14d3d15 | 35 | #define IO_CAP_DISPLAY_ONLY (0x00) |
Wolfgang Betz |
130:770ce14d3d15 | 36 | #define IO_CAP_DISPLAY_YES_NO (0x01) |
Wolfgang Betz |
130:770ce14d3d15 | 37 | #define IO_CAP_KEYBOARD_ONLY (0x02) |
Wolfgang Betz |
130:770ce14d3d15 | 38 | #define IO_CAP_NO_INPUT_NO_OUTPUT (0x03) |
Wolfgang Betz |
130:770ce14d3d15 | 39 | #define IO_CAP_KEYBOARD_DISPLAY (0x04) |
Wolfgang Betz |
130:770ce14d3d15 | 40 | /** |
Wolfgang Betz |
130:770ce14d3d15 | 41 | * @} |
Wolfgang Betz |
130:770ce14d3d15 | 42 | */ |
Wolfgang Betz |
130:770ce14d3d15 | 43 | |
Wolfgang Betz |
130:770ce14d3d15 | 44 | /** |
Wolfgang Betz |
130:770ce14d3d15 | 45 | * @anchor Auth_req |
Wolfgang Betz |
130:770ce14d3d15 | 46 | * @name Authentication requirements |
Wolfgang Betz |
130:770ce14d3d15 | 47 | * @{ |
Wolfgang Betz |
130:770ce14d3d15 | 48 | */ |
Wolfgang Betz |
130:770ce14d3d15 | 49 | #define BONDING (0x01) |
Wolfgang Betz |
130:770ce14d3d15 | 50 | #define NO_BONDING (0x00) |
Wolfgang Betz |
130:770ce14d3d15 | 51 | /** |
Wolfgang Betz |
130:770ce14d3d15 | 52 | * @} |
Wolfgang Betz |
130:770ce14d3d15 | 53 | */ |
Wolfgang Betz |
130:770ce14d3d15 | 54 | |
Wolfgang Betz |
130:770ce14d3d15 | 55 | /** |
Wolfgang Betz |
130:770ce14d3d15 | 56 | * @anchor MITM_req |
Wolfgang Betz |
130:770ce14d3d15 | 57 | * @name MITM protection requirements |
Wolfgang Betz |
130:770ce14d3d15 | 58 | * @{ |
Wolfgang Betz |
130:770ce14d3d15 | 59 | */ |
Wolfgang Betz |
130:770ce14d3d15 | 60 | #define MITM_PROTECTION_NOT_REQUIRED (0x00) |
Wolfgang Betz |
130:770ce14d3d15 | 61 | #define MITM_PROTECTION_REQUIRED (0x01) |
Wolfgang Betz |
130:770ce14d3d15 | 62 | /** |
Wolfgang Betz |
130:770ce14d3d15 | 63 | * @} |
Wolfgang Betz |
130:770ce14d3d15 | 64 | */ |
Wolfgang Betz |
130:770ce14d3d15 | 65 | |
Wolfgang Betz |
130:770ce14d3d15 | 66 | /** |
Wolfgang Betz |
130:770ce14d3d15 | 67 | * @anchor OOB_Data |
Wolfgang Betz |
130:770ce14d3d15 | 68 | * @name Out-Of-Band data |
Wolfgang Betz |
130:770ce14d3d15 | 69 | * @{ |
Wolfgang Betz |
130:770ce14d3d15 | 70 | */ |
Wolfgang Betz |
130:770ce14d3d15 | 71 | #define OOB_AUTH_DATA_ABSENT (0x00) |
Wolfgang Betz |
130:770ce14d3d15 | 72 | #define OOB_AUTH_DATA_PRESENT (0x01) |
Wolfgang Betz |
130:770ce14d3d15 | 73 | /** |
Wolfgang Betz |
130:770ce14d3d15 | 74 | * @} |
Wolfgang Betz |
130:770ce14d3d15 | 75 | */ |
Wolfgang Betz |
130:770ce14d3d15 | 76 | |
Wolfgang Betz |
130:770ce14d3d15 | 77 | /** |
Wolfgang Betz |
130:770ce14d3d15 | 78 | * @anchor Author_req |
Wolfgang Betz |
130:770ce14d3d15 | 79 | * @name Authorization requirements |
Wolfgang Betz |
130:770ce14d3d15 | 80 | * @{ |
Wolfgang Betz |
130:770ce14d3d15 | 81 | */ |
Wolfgang Betz |
130:770ce14d3d15 | 82 | #define AUTHORIZATION_NOT_REQUIRED (0x00) |
Wolfgang Betz |
130:770ce14d3d15 | 83 | #define AUTHORIZATION_REQUIRED (0x01) |
Wolfgang Betz |
130:770ce14d3d15 | 84 | /** |
Wolfgang Betz |
130:770ce14d3d15 | 85 | * @} |
Wolfgang Betz |
130:770ce14d3d15 | 86 | */ |
Wolfgang Betz |
130:770ce14d3d15 | 87 | |
Wolfgang Betz |
130:770ce14d3d15 | 88 | /** |
Wolfgang Betz |
130:770ce14d3d15 | 89 | * @anchor Conn_authorization |
Wolfgang Betz |
130:770ce14d3d15 | 90 | * @name Connection authorization |
Wolfgang Betz |
130:770ce14d3d15 | 91 | * @{ |
Wolfgang Betz |
130:770ce14d3d15 | 92 | */ |
Wolfgang Betz |
130:770ce14d3d15 | 93 | #define CONNECTION_AUTHORIZED (0x01) |
Wolfgang Betz |
130:770ce14d3d15 | 94 | #define CONNECTION_REJECTED (0x02) |
Wolfgang Betz |
130:770ce14d3d15 | 95 | /** |
Wolfgang Betz |
130:770ce14d3d15 | 96 | * @} |
Wolfgang Betz |
130:770ce14d3d15 | 97 | */ |
Wolfgang Betz |
130:770ce14d3d15 | 98 | |
Wolfgang Betz |
130:770ce14d3d15 | 99 | /** |
Wolfgang Betz |
130:770ce14d3d15 | 100 | * @anchor Use_fixed_pin |
Wolfgang Betz |
130:770ce14d3d15 | 101 | * @name Use fixed pin |
Wolfgang Betz |
130:770ce14d3d15 | 102 | * @{ |
Wolfgang Betz |
130:770ce14d3d15 | 103 | */ |
Wolfgang Betz |
130:770ce14d3d15 | 104 | #define USE_FIXED_PIN_FOR_PAIRING (0x0) |
Wolfgang Betz |
130:770ce14d3d15 | 105 | #define DONOT_USE_FIXED_PIN_FOR_PAIRING (0x01) |
Wolfgang Betz |
130:770ce14d3d15 | 106 | /** |
Wolfgang Betz |
130:770ce14d3d15 | 107 | * @} |
Wolfgang Betz |
130:770ce14d3d15 | 108 | */ |
Wolfgang Betz |
130:770ce14d3d15 | 109 | |
Wolfgang Betz |
130:770ce14d3d15 | 110 | /** |
Wolfgang Betz |
130:770ce14d3d15 | 111 | * @anchor link_security_status |
Wolfgang Betz |
130:770ce14d3d15 | 112 | * @name Link security status |
Wolfgang Betz |
130:770ce14d3d15 | 113 | * @{ |
Wolfgang Betz |
130:770ce14d3d15 | 114 | */ |
Wolfgang Betz |
130:770ce14d3d15 | 115 | #define SM_LINK_AUTHENTICATED (0x01) |
Wolfgang Betz |
130:770ce14d3d15 | 116 | #define SM_LINK_AUTHORIZED (0x02) |
Wolfgang Betz |
130:770ce14d3d15 | 117 | #define SM_LINK_ENCRYPTED (0x04) |
Wolfgang Betz |
130:770ce14d3d15 | 118 | /** |
Wolfgang Betz |
130:770ce14d3d15 | 119 | * @} |
Wolfgang Betz |
130:770ce14d3d15 | 120 | */ |
Wolfgang Betz |
130:770ce14d3d15 | 121 | |
Wolfgang Betz |
130:770ce14d3d15 | 122 | /** |
Wolfgang Betz |
130:770ce14d3d15 | 123 | * @anchor SMP_pairing_failed_codes |
Wolfgang Betz |
130:770ce14d3d15 | 124 | * @name SMP pairing failed reason codes |
Wolfgang Betz |
130:770ce14d3d15 | 125 | * @{ |
Wolfgang Betz |
130:770ce14d3d15 | 126 | */ |
Wolfgang Betz |
130:770ce14d3d15 | 127 | #define PASSKEY_ENTRY_FAILED (0x01) |
Wolfgang Betz |
130:770ce14d3d15 | 128 | #define OOB_NOT_AVAILABLE (0x02) |
Wolfgang Betz |
130:770ce14d3d15 | 129 | #define AUTH_REQ_CANNOT_BE_MET (0x03) |
Wolfgang Betz |
130:770ce14d3d15 | 130 | #define CONFIRM_VALUE_FAILED (0x04) |
Wolfgang Betz |
130:770ce14d3d15 | 131 | #define PAIRING_NOT_SUPPORTED (0x05) |
Wolfgang Betz |
130:770ce14d3d15 | 132 | #define INSUFF_ENCRYPTION_KEY_SIZE (0x06) |
Wolfgang Betz |
130:770ce14d3d15 | 133 | #define CMD_NOT_SUPPORTED (0x07) |
Wolfgang Betz |
130:770ce14d3d15 | 134 | #define UNSPECIFIED_REASON (0x08) |
Wolfgang Betz |
130:770ce14d3d15 | 135 | #define VERY_EARLY_NEXT_ATTEMPT (0x09) |
Wolfgang Betz |
130:770ce14d3d15 | 136 | #define SM_INVALID_PARAMS (0x0A) |
Wolfgang Betz |
130:770ce14d3d15 | 137 | /** |
Wolfgang Betz |
130:770ce14d3d15 | 138 | * @} |
Wolfgang Betz |
130:770ce14d3d15 | 139 | */ |
Wolfgang Betz |
130:770ce14d3d15 | 140 | |
Wolfgang Betz |
130:770ce14d3d15 | 141 | /** |
Wolfgang Betz |
130:770ce14d3d15 | 142 | * @anchor pairing_failed_codes |
Wolfgang Betz |
130:770ce14d3d15 | 143 | * @name Pairing failed error codes |
Wolfgang Betz |
130:770ce14d3d15 | 144 | * Error codes in @ref EVT_BLUE_GAP_PAIRING_CMPLT event |
Wolfgang Betz |
130:770ce14d3d15 | 145 | * @{ |
Wolfgang Betz |
130:770ce14d3d15 | 146 | */ |
Wolfgang Betz |
130:770ce14d3d15 | 147 | #define SM_PAIRING_SUCCESS (0x00) |
Wolfgang Betz |
130:770ce14d3d15 | 148 | #define SM_PAIRING_TIMEOUT (0x01) |
Wolfgang Betz |
130:770ce14d3d15 | 149 | #define SM_PAIRING_FAILED (0x02) |
Wolfgang Betz |
130:770ce14d3d15 | 150 | /** |
Wolfgang Betz |
130:770ce14d3d15 | 151 | * @} |
Wolfgang Betz |
130:770ce14d3d15 | 152 | */ |
Wolfgang Betz |
130:770ce14d3d15 | 153 | |
Wolfgang Betz |
130:770ce14d3d15 | 154 | /** |
Wolfgang Betz |
130:770ce14d3d15 | 155 | * @} |
Wolfgang Betz |
130:770ce14d3d15 | 156 | */ |
Wolfgang Betz |
130:770ce14d3d15 | 157 | |
Wolfgang Betz |
130:770ce14d3d15 | 158 | #endif /* __SM_H__ */ |