/**
******************************************************************************
* @file sm.h
* @author AMS - VMA RF Application team
* @version V1.0.0
* @date 21-Sept-2015
* @brief Header file for BlueNRG-1's security manager constants.
******************************************************************************
* @attention
*
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*
*
© COPYRIGHT 2015 STMicroelectronics
******************************************************************************
*/
#ifndef __SM_H__
#define __SM_H__
/******************************************************************************
* Macros
*****************************************************************************/
/**
*@addtogroup GAP GAP
*@brief API for GAP layer.
*@{
*/
/* IO capabilities */
/**
* @anchor IO_capabilities
* @name IO capabilities
* @{
*/
#define IO_CAP_DISPLAY_ONLY (0x00)
#define IO_CAP_DISPLAY_YES_NO (0x01)
#define IO_CAP_KEYBOARD_ONLY (0x02)
#define IO_CAP_NO_INPUT_NO_OUTPUT (0x03)
#define IO_CAP_KEYBOARD_DISPLAY (0x04)
/**
* @}
*/
/**
* @anchor Auth_req
* @name Authentication requirements
* @{
*/
#define BONDING (0x01)
#define NO_BONDING (0x00)
/**
* @}
*/
/**
* @anchor MITM_req
* @name MITM protection requirements
* @{
*/
#define MITM_PROTECTION_NOT_REQUIRED (0x00)
#define MITM_PROTECTION_REQUIRED (0x01)
/**
* @}
*/
/**
* @anchor OOB_Data
* @name Out-Of-Band data
* @{
*/
#define OOB_AUTH_DATA_ABSENT (0x00)
#define OOB_AUTH_DATA_PRESENT (0x01)
/**
* @}
*/
/**
* @anchor Author_req
* @name Authorization requirements
* @{
*/
#define AUTHORIZATION_NOT_REQUIRED (0x00)
#define AUTHORIZATION_REQUIRED (0x01)
/**
* @}
*/
/**
* @anchor Conn_authorization
* @name Connection authorization
* @{
*/
#define CONNECTION_AUTHORIZED (0x01)
#define CONNECTION_REJECTED (0x02)
/**
* @}
*/
/**
* @anchor Use_fixed_pin
* @name Use fixed pin
* @{
*/
#define USE_FIXED_PIN_FOR_PAIRING (0x0)
#define DONOT_USE_FIXED_PIN_FOR_PAIRING (0x01)
/**
* @}
*/
/**
* @anchor link_security_status
* @name Link security status
* @{
*/
#define SM_LINK_AUTHENTICATED (0x01)
#define SM_LINK_AUTHORIZED (0x02)
#define SM_LINK_ENCRYPTED (0x04)
/**
* @}
*/
/**
* @anchor SMP_pairing_failed_codes
* @name SMP pairing failed reason codes
* @{
*/
#define PASSKEY_ENTRY_FAILED (0x01)
#define OOB_NOT_AVAILABLE (0x02)
#define AUTH_REQ_CANNOT_BE_MET (0x03)
#define CONFIRM_VALUE_FAILED (0x04)
#define PAIRING_NOT_SUPPORTED (0x05)
#define INSUFF_ENCRYPTION_KEY_SIZE (0x06)
#define CMD_NOT_SUPPORTED (0x07)
#define UNSPECIFIED_REASON (0x08)
#define VERY_EARLY_NEXT_ATTEMPT (0x09)
#define SM_INVALID_PARAMS (0x0A)
/**
* @}
*/
/**
* @anchor pairing_failed_codes
* @name Pairing failed error codes
* Error codes in @ref EVT_BLUE_GAP_PAIRING_CMPLT event
* @{
*/
#define SM_PAIRING_SUCCESS (0x00)
#define SM_PAIRING_TIMEOUT (0x01)
#define SM_PAIRING_FAILED (0x02)
/**
* @}
*/
/**
* @anchor secure_connections_support
* @name Secure connection support option code
* Error codes in @ref aci_gap_set_authentication_requirement API
* @{
*/
#define SC_IS_NOT_SUPPORTED (0x00) /* Not supported */
#define SC_IS_SUPPORTED (0x01) /* Supported but optional (i.e. a Legacy Pairing may be accepted) */
#define SC_IS_MANDATORY (0x02) /* Supported but mandatory (i.e. do not accept Legacy Pairing but only Secure Connections v.4.2 Pairing) */
/**
* @}
*/
/**
* @anchor secure_connections_support
* @name Secure connection key press notification option code
* Error codes in @ref aci_gap_set_authentication_requirement API
* @{
*/
#define KEYPRESS_IS_NOT_SUPPORTED (0x00)
#define KEYPRESS_IS_SUPPORTED (0x01)
/**
* @}
*/
/**
* @}
*/
#endif /* __SM_H__ */