Mistake on this page? Email us
Data Structures
smp_api.h File Reference

SMP subsystem API. More...

#include "wsf_os.h"
#include "smp_defs.h"
#include "dm_api.h"
Include dependency graph for smp_api.h:

Go to the source code of this file.

Data Structures

struct  smpCfg_t
 Configurable parameters. More...
 
struct  smpDmPair_t
 Data type for SMP_MSG_API_PAIR_REQ and SMP_MSG_API_PAIR_RSP. More...
 
struct  smpDmAuthRsp_t
 Data type for SMP_MSG_API_AUTH_RSP. More...
 
struct  smpDmKeypress_t
 Data type for SMP_MSG_API_USER_KEYPRESS. More...
 
struct  smpDmSecurityReq_t
 Data type for SMP_MSG_API_SECURITY_REQ. More...
 
union  smpDmMsg_t
 Union SMP DM message data types. More...
 

Enumerations

SMP Events

Events recognized and handled by the SMP state machine.

enum  {
  SMP_MSG_API_PAIR_REQ = 1, SMP_MSG_API_PAIR_RSP, SMP_MSG_API_CANCEL_REQ, SMP_MSG_API_AUTH_RSP,
  SMP_MSG_API_SECURITY_REQ, SMP_MSG_CMD_PKT, SMP_MSG_CMD_PAIRING_FAILED, SMP_MSG_DM_ENCRYPT_CMPL,
  SMP_MSG_DM_ENCRYPT_FAILED, SMP_MSG_DM_CONN_CLOSE, SMP_MSG_WSF_AES_CMPL, SMP_MSG_INT_SEND_NEXT_KEY,
  SMP_MSG_INT_MAX_ATTEMPTS, SMP_MSG_INT_PAIRING_CMPL, SMP_MSG_INT_RSP_TIMEOUT, SMP_MSG_INT_WI_TIMEOUT,
  SMP_MSG_INT_LESC, SMP_MSG_INT_LEGACY, SMP_MSG_INT_JW_NC, SMP_MSG_INT_PASSKEY,
  SMP_MSG_INT_OOB, SMP_MSG_API_USER_CONFIRM, SMP_MSG_API_USER_KEYPRESS, SMP_MSG_API_KEYPRESS_CMPL,
  SMP_MSG_WSF_ECC_CMPL, SMP_MSG_INT_PK_NEXT, SMP_MSG_INT_PK_CMPL, SMP_MSG_WSF_CMAC_CMPL,
  SMP_MSG_DH_CHECK_FAILURE, SMP_MSG_EARLY_CNF, SMP_NUM_MSGS
}
 Event handler messages for SMP state machines. More...
 
enum  { SMP_DB_SERVICE_IND = SMP_NUM_MSGS }
 Additional SMP messages. More...
 

Functions

SMP Initialization Functions

Legacy and Secure Connections initialization for Initiator and Responder roles.

void SmpiInit (void)
 Initialize SMP initiator role. More...
 
void SmprInit (void)
 Initialize SMP responder role. More...
 
void SmpiScInit (void)
 Initialize SMP initiator role utilizing BTLE Secure Connections. More...
 
void SmprScInit (void)
 Initialize SMP responder role utilizing BTLE Secure Connections. More...
 
void SmpNonInit (void)
 Use this SMP init function when SMP is not supported. More...
 
SMP DM Interface Functions

Functions that allow the DM to send messages to SMP.

void SmpDmMsgSend (smpDmMsg_t *pMsg)
 This function is called by DM to send a message to SMP. More...
 
void SmpDmEncryptInd (wsfMsgHdr_t *pMsg)
 This function is called by DM to notify SMP of encrypted link status. More...
 
uint8_t * SmpDmGetStk (dmConnId_t connId, uint8_t *pSecLevel)
 Return the STK for the given connection. More...
 
void SmpScGetCancelMsgWithReattempt (dmConnId_t connId, wsfMsgHdr_t *pHdr, uint8_t status)
 Format a cancel message with consideration for the attempts counter. More...
 
void SmpDbInit (void)
 Initialize the SMP Database. More...
 
void SmpScEnableZeroDhKey (bool_t enable)
 Called to force the DhKey to zero for qualification test purposes. More...
 

Variables

SMP Configuration Structure

Pointer to structure containing initialization details of the SMP Subsystem. To be configured by Application.

smpCfg_tpSmpCfg
 Configuration pointer.
 

Detailed Description

SMP subsystem API.

Copyright (c) 2010-2018 Arm Ltd. All Rights Reserved. Arm Ltd. confidential and proprietary.

IMPORTANT. Your use of this file is governed by a Software License Agreement ("Agreement") that must be accepted in order to download or otherwise receive a copy of this file. You may not use or copy this file for any purpose other than as described in the Agreement. If you do not agree to all of the terms of the Agreement do not use this file and delete all copies in your possession or control; if you do not have a copy of the Agreement, you must contact Arm Ltd. prior to any use, copying or further distribution of this software.

Definition in file smp_api.h.

Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.