nRF5 SDK for Mesh v5.0.0
Data Structures | Enumerations

Provisioning type definitions. More...

Data Structures

struct  nrf_mesh_prov_ctx_t
 Common provisioning context forward declaration. More...
 
struct  nrf_mesh_prov_oob_caps_t
 Provisioning authentication capabilities. More...
 
struct  nrf_mesh_prov_provisioning_data_t
 Provisioning data to transmit to a device. More...
 

Enumerations

enum  nrf_mesh_prov_algorithm_t { NRF_MESH_PROV_ALGORITHM_FIPS_P256, NRF_MESH_PROV_ALGORITHM_RFU }
 The algorithm used for provisioning. More...
 
enum  nrf_mesh_prov_public_key_usage_t { NRF_MESH_PROV_PUBLIC_KEY_NO_OOB = 0x00, NRF_MESH_PROV_PUBLIC_KEY_OOB = 0x01, NRF_MESH_PROV_PUBLIC_KEY_PROHIBITED }
 The Public Key kind of usage. More...
 
enum  nrf_mesh_prov_oob_method_t {
  NRF_MESH_PROV_OOB_METHOD_NONE = 0x00, NRF_MESH_PROV_OOB_METHOD_STATIC = 0x01, NRF_MESH_PROV_OOB_METHOD_OUTPUT = 0x02, NRF_MESH_PROV_OOB_METHOD_INPUT = 0x03,
  NRF_MESH_PROV_OOB_METHOD_PROHIBITED
}
 Out-of-band authentication methods for provisioning. More...
 
enum  nrf_mesh_prov_input_action_t {
  NRF_MESH_PROV_INPUT_ACTION_PUSH = 0x00, NRF_MESH_PROV_INPUT_ACTION_TWIST = 0x01, NRF_MESH_PROV_INPUT_ACTION_ENTER_NUMBER = 0x02, NRF_MESH_PROV_INPUT_ACTION_ENTER_STRING = 0x03,
  NRF_MESH_PROV_INPUT_ACTION_RFU
}
 Enumeration for the OOB input actions. More...
 
enum  nrf_mesh_prov_output_action_t {
  NRF_MESH_PROV_OUTPUT_ACTION_BLINK = 0x00, NRF_MESH_PROV_OUTPUT_ACTION_BEEP = 0x01, NRF_MESH_PROV_OUTPUT_ACTION_VIBRATE = 0x02, NRF_MESH_PROV_OUTPUT_ACTION_DISPLAY_NUMERIC = 0x03,
  NRF_MESH_PROV_OUTPUT_ACTION_ALPHANUMERIC = 0x04, NRF_MESH_PROV_OUTPUT_ACTION_RFU
}
 Enumeration for the OOB output actions. More...
 
enum  nrf_mesh_prov_failure_code_t {
  NRF_MESH_PROV_FAILURE_CODE_INVALID_PDU = 0x01, NRF_MESH_PROV_FAILURE_CODE_INVALID_FORMAT = 0x02, NRF_MESH_PROV_FAILURE_CODE_UNEXPECTED_PDU = 0x03, NRF_MESH_PROV_FAILURE_CODE_CONFIRMATION_FAILED = 0x04,
  NRF_MESH_PROV_FAILURE_CODE_OUT_OF_RESOURCES = 0x05, NRF_MESH_PROV_FAILURE_CODE_DECRYPTION_FAILED = 0x06, NRF_MESH_PROV_FAILURE_CODE_UNEXPECTED_ERROR = 0x07, NRF_MESH_PROV_FAILURE_CODE_CANNOT_ASSIGN_ADDR = 0x08
}
 Provisioning failure codes. More...
 
enum  nrf_mesh_prov_state_t {
  NRF_MESH_PROV_STATE_IDLE, NRF_MESH_PROV_STATE_WAIT_LINK, NRF_MESH_PROV_STATE_INVITE, NRF_MESH_PROV_STATE_WAIT_CAPS,
  NRF_MESH_PROV_STATE_WAIT_CAPS_CONFIRM, NRF_MESH_PROV_STATE_WAIT_START, NRF_MESH_PROV_STATE_WAIT_START_ACK, NRF_MESH_PROV_STATE_WAIT_PUB_KEY_ACK,
  NRF_MESH_PROV_STATE_WAIT_PUB_KEY, NRF_MESH_PROV_STATE_WAIT_OOB_PUB_KEY, NRF_MESH_PROV_STATE_WAIT_EXTERNAL_ECDH, NRF_MESH_PROV_STATE_WAIT_OOB_INPUT,
  NRF_MESH_PROV_STATE_WAIT_OOB_STATIC, NRF_MESH_PROV_STATE_WAIT_OOB_STATIC_C_RCVD, NRF_MESH_PROV_STATE_WAIT_CONFIRMATION_ACK, NRF_MESH_PROV_STATE_WAIT_CONFIRMATION,
  NRF_MESH_PROV_STATE_WAIT_INPUT_COMPLETE, NRF_MESH_PROV_STATE_WAIT_RANDOM, NRF_MESH_PROV_STATE_WAIT_DATA, NRF_MESH_PROV_STATE_WAIT_COMPLETE,
  NRF_MESH_PROV_STATE_COMPLETE, NRF_MESH_PROV_STATE_FAILED
}
 Provisioning state machine states. More...
 
enum  nrf_mesh_prov_role_t { NRF_MESH_PROV_ROLE_PROVISIONER, NRF_MESH_PROV_ROLE_PROVISIONEE }
 Provisioning role. More...
 

Detailed Description

Provisioning type definitions.

Provisioning context structure.

Enumeration Type Documentation

◆ nrf_mesh_prov_algorithm_t

The algorithm used for provisioning.

Enumerator
NRF_MESH_PROV_ALGORITHM_FIPS_P256 

FIPS P-256 Elliptic Curve.

NRF_MESH_PROV_ALGORITHM_RFU 

Start value of reserved for the future range.

Definition at line 157 of file nrf_mesh_prov_types.h.

◆ nrf_mesh_prov_public_key_usage_t

The Public Key kind of usage.

Enumerator
NRF_MESH_PROV_PUBLIC_KEY_NO_OOB 

No OOB Public Key is used.

NRF_MESH_PROV_PUBLIC_KEY_OOB 

OOB Public Key is used.

NRF_MESH_PROV_PUBLIC_KEY_PROHIBITED 

Start value of prohibited range.

Definition at line 166 of file nrf_mesh_prov_types.h.

◆ nrf_mesh_prov_oob_method_t

Out-of-band authentication methods for provisioning.

Enumerator
NRF_MESH_PROV_OOB_METHOD_NONE 

No authentication method.

NRF_MESH_PROV_OOB_METHOD_STATIC 

Static OOB authentication method.

NRF_MESH_PROV_OOB_METHOD_OUTPUT 

Output OOB authentication method.

NRF_MESH_PROV_OOB_METHOD_INPUT 

Input OOB authentication method.

NRF_MESH_PROV_OOB_METHOD_PROHIBITED 

Start value of prohibited range.

Definition at line 176 of file nrf_mesh_prov_types.h.

◆ nrf_mesh_prov_input_action_t

Enumeration for the OOB input actions.

Enumerator
NRF_MESH_PROV_INPUT_ACTION_PUSH 

The user should do a push action as input action.

NRF_MESH_PROV_INPUT_ACTION_TWIST 

The user should do a twist action as input action.

NRF_MESH_PROV_INPUT_ACTION_ENTER_NUMBER 

The user should enter a number into the device as input action.

NRF_MESH_PROV_INPUT_ACTION_ENTER_STRING 

The user should enter a string into the device as input action.

NRF_MESH_PROV_INPUT_ACTION_RFU 

Start value of reserved for the future range.

Definition at line 188 of file nrf_mesh_prov_types.h.

◆ nrf_mesh_prov_output_action_t

Enumeration for the OOB output actions.

Enumerator
NRF_MESH_PROV_OUTPUT_ACTION_BLINK 

The device should use blinking as output action.

NRF_MESH_PROV_OUTPUT_ACTION_BEEP 

The device should use beeping as output action.

NRF_MESH_PROV_OUTPUT_ACTION_VIBRATE 

The device should vibrate as output action.

NRF_MESH_PROV_OUTPUT_ACTION_DISPLAY_NUMERIC 

The device should display a number as output action.

NRF_MESH_PROV_OUTPUT_ACTION_ALPHANUMERIC 

The device should display an alpha-numberic value as output action.

NRF_MESH_PROV_OUTPUT_ACTION_RFU 

Start value of reserved for the future range.

Definition at line 200 of file nrf_mesh_prov_types.h.

◆ nrf_mesh_prov_failure_code_t

Provisioning failure codes.

Enumerator
NRF_MESH_PROV_FAILURE_CODE_INVALID_PDU 

An invalid provisioning PDU was received.

NRF_MESH_PROV_FAILURE_CODE_INVALID_FORMAT 

An incoming provisioning packet had an invalid format.

NRF_MESH_PROV_FAILURE_CODE_UNEXPECTED_PDU 

The incoming packet was a different packet type than what was expected.

NRF_MESH_PROV_FAILURE_CODE_CONFIRMATION_FAILED 

The OOB authentication between provisioner and provisionee failed.

NRF_MESH_PROV_FAILURE_CODE_OUT_OF_RESOURCES 

The device does not have enough resources (memory, CPU time) to complete the provisioning.

NRF_MESH_PROV_FAILURE_CODE_DECRYPTION_FAILED 

The provisioning data could not be decrypted.

NRF_MESH_PROV_FAILURE_CODE_UNEXPECTED_ERROR 

An unexpected error occured.

NRF_MESH_PROV_FAILURE_CODE_CANNOT_ASSIGN_ADDR 

Consecutive unicast addresses could not be assigned.

Definition at line 213 of file nrf_mesh_prov_types.h.

◆ nrf_mesh_prov_state_t

Provisioning state machine states.

These are used internally in the provisioning stack to run the provisioning protocol.

Enumerator
NRF_MESH_PROV_STATE_IDLE 

Idle state, no action is taken.

NRF_MESH_PROV_STATE_WAIT_LINK 

Waiting for a link to be established.

NRF_MESH_PROV_STATE_INVITE 

Waiting for a provisioning invitation message.

NRF_MESH_PROV_STATE_WAIT_CAPS 

Waiting for a provisioning capabilities message.

NRF_MESH_PROV_STATE_WAIT_CAPS_CONFIRM 

Waiting for the application to confirm the capabilities to use.

NRF_MESH_PROV_STATE_WAIT_START 

Waiting for a provisioning start message.

NRF_MESH_PROV_STATE_WAIT_START_ACK 

Waiting for the message acknowledgement for the start message.

NRF_MESH_PROV_STATE_WAIT_PUB_KEY_ACK 

Waiting for the public key to be received by the peer.

NRF_MESH_PROV_STATE_WAIT_PUB_KEY 

Waiting for the peer node to send its public key.

NRF_MESH_PROV_STATE_WAIT_OOB_PUB_KEY 

Waiting for the OOB public key to be retrieved.

NRF_MESH_PROV_STATE_WAIT_EXTERNAL_ECDH 

Waiting for the offloaded ECDH calculation to complete.

NRF_MESH_PROV_STATE_WAIT_OOB_INPUT 

Waiting for OOB input.

NRF_MESH_PROV_STATE_WAIT_OOB_STATIC 

Waiting for static OOB data.

NRF_MESH_PROV_STATE_WAIT_OOB_STATIC_C_RCVD 

Waiting for static OOB data, confirmation already received.

NRF_MESH_PROV_STATE_WAIT_CONFIRMATION_ACK 

Waiting for the confirmation to be received by the peer.

NRF_MESH_PROV_STATE_WAIT_CONFIRMATION 

Waiting for a provisioning confirmation message.

NRF_MESH_PROV_STATE_WAIT_INPUT_COMPLETE 

Waiting for an input complete message.

NRF_MESH_PROV_STATE_WAIT_RANDOM 

Waiting for a provisioning random message.

NRF_MESH_PROV_STATE_WAIT_DATA 

Waiting for the provisioning data message.

NRF_MESH_PROV_STATE_WAIT_COMPLETE 

Waiting for the provisioning complete message.

NRF_MESH_PROV_STATE_COMPLETE 

Provisioning complete state.

NRF_MESH_PROV_STATE_FAILED 

Provisioning failed state.

Definition at line 248 of file nrf_mesh_prov_types.h.

◆ nrf_mesh_prov_role_t

Provisioning role.

Enumerator
NRF_MESH_PROV_ROLE_PROVISIONER 

The device will act as a provisioner, distributing provisioning data.

NRF_MESH_PROV_ROLE_PROVISIONEE 

The device will act as a provisionee, receiving provisioning data.

Definition at line 299 of file nrf_mesh_prov_types.h.


Documentation feedback | Developer Zone | Subscribe | Updated