Zephyr API Documentation 4.0.0
A Scalable Open Source RTOS
|
Provisioning properties & capabilities. More...
#include <main.h>
Data Fields | |
const uint8_t * | uuid |
The UUID that's used when advertising as unprovisioned. | |
const char * | uri |
Optional URI. | |
bt_mesh_prov_oob_info_t | oob_info |
Out of Band information field. | |
const uint8_t * | public_key_be |
Pointer to Public Key in big-endian for OOB public key type support. | |
const uint8_t * | private_key_be |
Pointer to Private Key in big-endian for OOB public key type support. | |
const uint8_t * | static_val |
Static OOB value. | |
uint8_t | static_val_len |
Static OOB value length. | |
uint8_t | output_size |
Maximum size of Output OOB supported. | |
uint16_t | output_actions |
Supported Output OOB Actions. | |
uint8_t | input_size |
Maximum size of Input OOB supported. | |
uint16_t | input_actions |
Supported Input OOB Actions. | |
void(* | capabilities )(const struct bt_mesh_dev_capabilities *cap) |
Provisioning Capabilities. | |
int(* | output_number )(bt_mesh_output_action_t act, uint32_t num) |
Output of a number is requested. | |
int(* | output_string )(const char *str) |
Output of a string is requested. | |
int(* | input )(bt_mesh_input_action_t act, uint8_t size) |
Input is requested. | |
void(* | input_complete )(void) |
The other device finished their OOB input. | |
void(* | unprovisioned_beacon )(uint8_t uuid[16], bt_mesh_prov_oob_info_t oob_info, uint32_t *uri_hash) |
Unprovisioned beacon has been received. | |
void(* | unprovisioned_beacon_gatt )(uint8_t uuid[16], bt_mesh_prov_oob_info_t oob_info) |
PB-GATT Unprovisioned Advertising has been received. | |
void(* | link_open )(bt_mesh_prov_bearer_t bearer) |
Provisioning link has been opened. | |
void(* | link_close )(bt_mesh_prov_bearer_t bearer) |
Provisioning link has been closed. | |
void(* | complete )(uint16_t net_idx, uint16_t addr) |
Provisioning is complete. | |
void(* | reprovisioned )(uint16_t addr) |
Local node has been reprovisioned. | |
void(* | node_added )(uint16_t net_idx, uint8_t uuid[16], uint16_t addr, uint8_t num_elem) |
A new node has been added to the provisioning database. | |
void(* | reset )(void) |
Node has been reset. | |
Provisioning properties & capabilities.
void(* bt_mesh_prov::capabilities) (const struct bt_mesh_dev_capabilities *cap) |
Provisioning Capabilities.
This callback notifies the application that the provisioning capabilities of the unprovisioned device has been received.
The application can consequently call bt_mesh_auth_method_set_<*> to select suitable provisioning oob authentication method.
When this callback returns, the provisioner will start authentication with the chosen method.
cap | capabilities supported by device. |
Provisioning is complete.
This callback notifies the application that provisioning has been successfully completed, and that the local node has been assigned the specified NetKeyIndex and primary element address.
net_idx | NetKeyIndex given during provisioning. |
addr | Primary element address. |
int(* bt_mesh_prov::input) (bt_mesh_input_action_t act, uint8_t size) |
Input is requested.
This callback notifies the application that it should request input from the user using the given action. The requested input will either be a string or a number, and the application needs to consequently call the bt_mesh_input_string() or bt_mesh_input_number() functions once the data has been acquired from the user.
act | Action for inputting data. |
num | Maximum size of the inputted data. |
uint16_t bt_mesh_prov::input_actions |
Supported Input OOB Actions.
void(* bt_mesh_prov::input_complete) (void) |
The other device finished their OOB input.
This callback notifies the application that it should stop displaying its output OOB value, as the other party finished their OOB input.
uint8_t bt_mesh_prov::input_size |
Maximum size of Input OOB supported.
void(* bt_mesh_prov::link_close) (bt_mesh_prov_bearer_t bearer) |
Provisioning link has been closed.
This callback notifies the application that a provisioning link has been closed on the given provisioning bearer.
bearer | Provisioning bearer. |
void(* bt_mesh_prov::link_open) (bt_mesh_prov_bearer_t bearer) |
Provisioning link has been opened.
This callback notifies the application that a provisioning link has been opened on the given provisioning bearer.
bearer | Provisioning bearer. |
void(* bt_mesh_prov::node_added) (uint16_t net_idx, uint8_t uuid[16], uint16_t addr, uint8_t num_elem) |
A new node has been added to the provisioning database.
This callback notifies the application that provisioning has been successfully completed, and that a node has been assigned the specified NetKeyIndex and primary element address.
net_idx | NetKeyIndex given during provisioning. |
uuid | UUID of the added node |
addr | Primary element address. |
num_elem | Number of elements that this node has. |
bt_mesh_prov_oob_info_t bt_mesh_prov::oob_info |
Out of Band information field.
uint16_t bt_mesh_prov::output_actions |
Supported Output OOB Actions.
int(* bt_mesh_prov::output_number) (bt_mesh_output_action_t act, uint32_t num) |
Output of a number is requested.
This callback notifies the application that it should output the given number using the given action.
act | Action for outputting the number. |
num | Number to be outputted. |
uint8_t bt_mesh_prov::output_size |
Maximum size of Output OOB supported.
int(* bt_mesh_prov::output_string) (const char *str) |
Output of a string is requested.
This callback notifies the application that it should display the given string to the user.
str | String to be displayed. |
const uint8_t* bt_mesh_prov::private_key_be |
Pointer to Private Key in big-endian for OOB public key type support.
Remember to enable
CONFIG_BT_MESH_PROV_OOB_PUBLIC_KEY
when initializing this parameter.
Must be used together with bt_mesh_prov::public_key_be.
const uint8_t* bt_mesh_prov::public_key_be |
Pointer to Public Key in big-endian for OOB public key type support.
Remember to enable
CONFIG_BT_MESH_PROV_OOB_PUBLIC_KEY
when initializing this parameter.
Must be used together with bt_mesh_prov::private_key_be.
void(* bt_mesh_prov::reprovisioned) (uint16_t addr) |
Local node has been reprovisioned.
This callback notifies the application that reprovisioning has been successfully completed.
addr | New primary element address. |
void(* bt_mesh_prov::reset) (void) |
Node has been reset.
This callback notifies the application that the local node has been reset and needs to be provisioned again. The node will not automatically advertise as unprovisioned, rather the bt_mesh_prov_enable() API needs to be called to enable unprovisioned advertising on one or more provisioning bearers.
const uint8_t* bt_mesh_prov::static_val |
Static OOB value.
uint8_t bt_mesh_prov::static_val_len |
Static OOB value length.
void(* bt_mesh_prov::unprovisioned_beacon) (uint8_t uuid[16], bt_mesh_prov_oob_info_t oob_info, uint32_t *uri_hash) |
Unprovisioned beacon has been received.
This callback notifies the application that an unprovisioned beacon has been received.
uuid | UUID |
oob_info | OOB Information |
uri_hash | Pointer to URI Hash value. NULL if no hash was present in the beacon. |
void(* bt_mesh_prov::unprovisioned_beacon_gatt) (uint8_t uuid[16], bt_mesh_prov_oob_info_t oob_info) |
PB-GATT Unprovisioned Advertising has been received.
This callback notifies the application that an PB-GATT unprovisioned Advertising has been received.
uuid | UUID |
oob_info | OOB Information |
const char* bt_mesh_prov::uri |
Optional URI.
This will be advertised separately from the unprovisioned beacon, however the unprovisioned beacon will contain a hash of it so the two can be associated by the provisioner.
const uint8_t* bt_mesh_prov::uuid |
The UUID that's used when advertising as unprovisioned.