Mistake on this page?
Report an issue in GitHub or email us
Data Structures | Enumerations
smp_main.h File Reference

SMP main module. More...

#include "sec_api.h"
#include "wsf_timer.h"
#include "l2c_api.h"
#include "dm_api.h"
#include "smp_api.h"

Go to the source code of this file.

Data Structures

union  smpScratch_t
 
struct  smpDataMsg_t
 
union  smpMsg_t
 
struct  smpScLtk_t
 
struct  smpScPubKey_t
 
struct  smpScScratch_t
 
struct  smpScCcb_t
 
struct  smpCcb_t
 
struct  smpSmIf_t
 
struct  smpCb_t
 

Enumerations

Detailed Description

SMP main module.

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

http://www.apache.org/licenses/LICENSE-2.0

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

Enumeration Type Documentation

anonymous enum

smpi_sm state machine states

Enumerator
SMPI_SM_ST_IDLE 

Idle

SMPI_SM_ST_PAIR_RSP 

Wait for pairing response

SMPI_SM_ST_PIN 

Wait for PIN

SMPI_SM_ST_CNF_CALC_1 

Wait for confirm calc 1

SMPI_SM_ST_CNF_CALC_2 

Wait for confirm calc 2

SMPI_SM_ST_PAIR_CNF 

Wait for pairing confirm

SMPI_SM_ST_PAIR_RAND 

Wait for pairing random

SMPI_SM_ST_CNF_VER_CALC_1 

Wait for confirm verify calc 1

SMPI_SM_ST_CNF_VER_CALC_2 

Wait for confirm verify calc 2

SMPI_SM_ST_STK_CALC 

Wait for STK calc

SMPI_SM_ST_ENCRYPT 

Wait for link encryption

SMPI_SM_ST_KEY_DIST 

Key distribution

SMPI_SM_ST_ATTEMPTS 

Repeated attempts

SMPI_SM_ST_RSP_TO 

Response timeout state

Definition at line 68 of file smp_main.h.

anonymous enum

smpr_sm state machine states

Enumerator
SMPR_SM_ST_IDLE 

Idle

SMPR_SM_ST_API_PAIR_REQ 

Wait for API pairing request

SMPR_SM_ST_API_PAIR_RSP 

Wait for API pairing response

SMPR_SM_ST_PIN_PAIR_1 

Wait for PIN or pairing confirm 1

SMPR_SM_ST_PIN_PAIR_2 

Wait for PIN or pairing confirm 2

SMPR_SM_ST_CNF_CALC_1 

Wait for confirm calc 1

SMPR_SM_ST_CNF_CALC_2 

Wait for confirm calc 2

SMPR_SM_ST_PAIR_RAND 

Wait for pairing random

SMPR_SM_ST_CNF_VER_CALC_1 

Wait for confirm verify calc 1

SMPR_SM_ST_CNF_VER_CALC_2 

Wait for confirm verify calc 2

SMPR_SM_ST_STK_CALC 

Wait for STK calc

SMPR_SM_ST_ENCRYPT 

Wait for link encryption

SMPR_SM_ST_KEY_DIST 

Key distribution

SMPR_SM_ST_ATTEMPTS 

Repeated attempts

SMPR_SM_ST_RSP_TO 

Response timeout state

Definition at line 87 of file smp_main.h.

anonymous enum

smpi_sc_sm state machine states

Enumerator
SMPI_SC_SM_ST_IDLE 

Idle

SMPI_SC_SM_ST_PAIR_RSP 

Wait for pairing response

SMPI_SC_SM_ST_MODE_SELECT 

Select the security mode (LESC or Legacy)

SMPI_SC_SM_ST_LESC_PIN 

Wait for PIN in LESC

SMPI_SC_SM_ST_PUB_KEY 

Wait for public key from peer

SMPI_SC_SM_ST_AUTH_SELECT 

Select the type of LESC pairing (Just Works, Passkey, or OOB)

SMPI_SC_SM_ST_JWNC_WAIT_CNF 

Wait for confirm in Just Works/Numeric Comparison Pairing

SMPI_SC_SM_ST_JWNC_RAND 

Wait for rand in Just Works/Numeric Comparison Pairing

SMPI_SC_SM_ST_JWNC_CHECK_1 

Calculate confirm value in Just Works/Numeric Comparison Pairing

SMPI_SC_SM_ST_JWNC_CHECK_2 

Calculate user validate value in Just Works/Numeric Comparison Pairing

SMPI_SC_SM_ST_PK_KEYPRESS 

Process a keypress command in passkey pairing

SMPI_SC_SM_ST_PK_CALC 

Calculate the confirm in passkey pairing

SMPI_SC_SM_ST_PK_CNF 

Wait for confirm in passkey pairing

SMPI_SC_SM_ST_PK_RAND 

Wait for rand in passkey pairing

SMPI_SC_SM_ST_PK_CHECK 

Check the conform value in passkey pairing

SMPI_SC_SM_ST_PK_REPEAT 

Repeat or complete the passkey pairing

SMPI_SC_SM_ST_OOB_SEND_RAND 

Send the rand in OOB pairing

SMPI_SC_SM_ST_OOB_WAIT_RAND 

Wait for a rand in OOB pairing

SMPI_SC_SM_ST_CALC_DHKEY 

Calculate the DHKEY shared secret

SMPI_SC_SM_ST_CALC_F5_TKEY 

Calculate the DHKEY T Key

SMPI_SC_SM_ST_CALC_F5_MACKEY 

Calculate the DHKEY MAC Key

SMPI_SC_SM_ST_CALC_F5_LTK 

Calculate the DHKEY LTK Key

SMPI_SC_SM_ST_CALC_F6_EA 

Calculate the DHKEY Ea Key

SMPI_SC_SM_ST_CALC_F6_EB 

Calculate the DHKEY Eb Key

SMPI_SC_SM_ST_VERIFY_DH_CHECK 

Verify the DHKEY check value

SMPI_SC_SM_ST_LEGACY_PIN 

Wait for PIN

SMPI_SC_SM_ST_CNF_CALC_1 

Wait for confirm calc 1

SMPI_SC_SM_ST_CNF_CALC_2 

Wait for confirm calc 2

SMPI_SC_SM_ST_PAIR_CNF 

Wait for pairing confirm

SMPI_SC_SM_ST_PAIR_RAND 

Wait for pairing random

SMPI_SC_SM_ST_CNF_VER_CALC_1 

Wait for confirm verify calc 1

SMPI_SC_SM_ST_CNF_VER_CALC_2 

Wait for confirm verify calc 2

SMPI_SC_SM_ST_STK_CALC 

Wait for STK calc

SMPI_SC_SM_ST_ENCRYPT 

Wait for link encryption

SMPI_SC_SM_ST_KEY_DIST 

Key distribution

SMPI_SC_SM_ST_ATTEMPTS 

Repeated attempts

SMPI_SC_SM_ST_RSP_TO 

Response timeout state

Definition at line 107 of file smp_main.h.

anonymous enum

smpr_sc_sm state machine states

Enumerator
SMPR_SC_SM_ST_IDLE 

Idle

SMPR_SC_SM_ST_API_PAIR_REQ 

Wait for API pairing request

SMPR_SC_SM_ST_API_PAIR_RSP 

Wait for API pairing response

SMPR_SC_SM_ST_MODE_SELECT 

Select the security mode (LESC or Legacy)

SMPR_SC_SM_ST_PUB_KEY 

Wait for public key from peer

SMPR_SC_SM_ST_LESC_PIN 

Wait for pin in LESC

SMPR_SC_SM_ST_AUTH_SELECT 

Select the type of LESC pairing (Just Works, Passkey, or OOB)

SMPR_SC_SM_ST_JWNC_SETUP 

Prepare for Just Works/Numeric Comparison Pairing

SMPR_SC_SM_ST_JWNC_WAIT_RAND 

Wait for Rand in Just Works/Numeric Comparison Pairing

SMPR_SC_SM_ST_JWNC_CALC_G2 

Calculate the user validate value in Just Works/Numeric Comparison Pairing

SMPR_SC_SM_ST_JWNC_WAIT_USER 

Wait for user to validate the confirm value

SMPR_SC_SM_ST_JWNC_WAIT_USER_DH_CHECK_RCVD 

Wait for user to validate the confirm value with a received DH Key Check

SMPR_SC_SM_ST_PK_KEYPRESS 

Process a keypress command in passkey pairing

SMPR_SC_SM_ST_PK_WAIT_AUTH 

The confirm was received before the auth from the API, wait for the auth

SMPR_SC_SM_ST_PK_WAIT_CNF 

Wait for the confirm command in passkey pairing

SMPR_SC_SM_ST_PK_CALC 

Calculate the confirm in passkey pairing

SMPR_SC_SM_ST_PK_RAND 

Send the rand command in passkey pairing

SMPR_SC_SM_ST_PK_CHECK 

Check the confirm in passkey pairing

SMPR_SC_SM_ST_PK_REPEAT 

Repeat or complete the passkey pairing

SMPR_SC_SM_ST_OOB_SEND_RAND 

Send the rand in OOB pairing

SMPR_SC_SM_ST_OOB_WAIT_RAND 

Wait for a rand in OOB pairing

SMPR_SC_SM_ST_WAIT_DH_CHECK 

Wait for the DH Check command

SMPR_SC_SM_ST_CALC_DHKEY 

Calculate the DHKEY shared secret

SMPR_SC_SM_ST_CALC_F5_TKEY 

Calculate the DHKEY T Key

SMPR_SC_SM_ST_CALC_F5_MACKEY 

Calculate the DHKEY MAC Key

SMPR_SC_SM_ST_CALC_F5_LTK 

Calculate the DHKEY LTK Key

SMPR_SC_SM_ST_CALC_F6_EA 

Calculate the DHKEY Ea Key

SMPR_SC_SM_ST_CALC_F6_EB 

Calculate the DHKEY Eb Key

SMPR_SC_SM_ST_PIN_PAIR_1 

Wait for PIN or pairing confirm 1

SMPR_SC_SM_ST_PIN_PAIR_2 

Wait for PIN or pairing confirm 2

SMPR_SC_SM_ST_CNF_CALC_1 

Wait for confirm calc 1

SMPR_SC_SM_ST_CNF_CALC_2 

Wait for confirm calc 2

SMPR_SC_SM_ST_PAIR_RAND 

Wait for pairing random

SMPR_SC_SM_ST_CNF_VER_CALC_1 

Wait for confirm verify calc 1

SMPR_SC_SM_ST_CNF_VER_CALC_2 

Wait for confirm verify calc 2

SMPR_SC_SM_ST_STK_CALC 

Wait for STK calc

SMPR_SC_SM_ST_ENCRYPT 

Wait for link encryption

SMPR_SC_SM_ST_KEY_DIST 

Key distribution

SMPR_SC_SM_ST_ATTEMPTS 

Repeated attempts

SMPR_SC_SM_ST_RSP_TO 

Response timeout state

Definition at line 155 of file smp_main.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.