Fork of ble-x-nucleo-idb0xa1 with changes required by BleStarMbed

Dependents:   ble-star-mbed

Committer:
lorevee
Date:
Tue Feb 20 11:07:16 2018 +0000
Revision:
0:ac0b0725c6fa
Initial commit

Who changed what in which revision?

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