Wouter van Kleunen / X_NUCLEO_IDB0XA1

Fork of X_NUCLEO_IDB0XA1 by ST

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?

UserRevisionLine numberNew 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__ */