Mistake on this page?
Report an issue in GitHub or 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"

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...


SMP Events

Events recognized and handled by the SMP state machine.


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...
bool_t SmpDmLescEnabled (dmConnId_t connId)
 Check if LE Secure Connections is enabled on the connection. 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...


SMP Configuration Structure

Pointer to structure containing initialization details of the SMP Subsystem.

To be configured by Application.

 Configuration pointer. More...

Detailed Description

SMP subsystem API.

Copyright (c) 2010-2019 Arm Ltd. All Rights Reserved.

Copyright (c) 2019-2020 Packetcraft, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at


Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

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.