nRF5 SDK for Mesh v3.2.0
nrf_mesh_prov_events.h
1 /* Copyright (c) 2010 - 2019, Nordic Semiconductor ASA
2  * All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without modification,
5  * are permitted provided that the following conditions are met:
6  *
7  * 1. Redistributions of source code must retain the above copyright notice, this
8  * list of conditions and the following disclaimer.
9  *
10  * 2. Redistributions in binary form, except as embedded into a Nordic
11  * Semiconductor ASA integrated circuit in a product or a software update for
12  * such product, must reproduce the above copyright notice, this list of
13  * conditions and the following disclaimer in the documentation and/or other
14  * materials provided with the distribution.
15  *
16  * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
17  * contributors may be used to endorse or promote products derived from this
18  * software without specific prior written permission.
19  *
20  * 4. This software, with or without modification, must only be used with a
21  * Nordic Semiconductor ASA integrated circuit.
22  *
23  * 5. Any software provided in binary form under this license must not be reverse
24  * engineered, decompiled, modified and/or disassembled.
25  *
26  * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
27  * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
28  * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
29  * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
30  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
31  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
32  * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
33  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
35  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36  */
37 
38 #ifndef NRF_MESH_PROV_EVENTS_H__
39 #define NRF_MESH_PROV_EVENTS_H__
40 
41 #include "nrf_mesh_prov_types.h"
42 #include "nrf_mesh_prov_bearer.h"
43 
51 typedef enum
52 {
84 
88 typedef struct
89 {
91  uint8_t device_uuid[NRF_MESH_UUID_SIZE];
101 
105 typedef struct
106 {
108  nrf_mesh_prov_ctx_t * p_context;
110 
114 typedef struct
115 {
117  nrf_mesh_prov_ctx_t * p_context;
121 
125 typedef struct
126 {
128  nrf_mesh_prov_ctx_t * p_context;
132 
136 typedef struct
137 {
139  nrf_mesh_prov_ctx_t * p_context;
141 
145 typedef struct
146 {
148  nrf_mesh_prov_ctx_t * p_context;
152  uint8_t size;
154 
158 typedef struct
159 {
161  nrf_mesh_prov_ctx_t * p_context;
165  uint8_t size;
167  const uint8_t * p_data;
169 
173 typedef struct
174 {
176  nrf_mesh_prov_ctx_t * p_context;
178 
192 typedef struct
193 {
195  nrf_mesh_prov_ctx_t * p_context;
199 
203 typedef struct
204 {
206  nrf_mesh_prov_ctx_t * p_context;
208  const uint8_t * p_devkey;
212 
217 typedef struct
218 {
220  nrf_mesh_prov_ctx_t * p_context;
224 
230 typedef struct
231 {
233  nrf_mesh_prov_ctx_t * p_context;
235 
241 typedef struct
242 {
244  nrf_mesh_prov_ctx_t * p_context;
246  const uint8_t * p_peer_public;
248  const uint8_t * p_node_private;
250 
252 typedef struct
253 {
255  /* Event paramenters. */
256  union
257  {
284  } params;
286 
293 
296 #endif /* NRF_MESH_PROV_EVENTS_H__ */
Provisioning failed event.
Provisioning completed.
nrf_mesh_prov_ctx_t * p_context
Provisioning context pointer.
Provisioning input request.
RX packet metadata.
Definition: nrf_mesh.h:161
Provisioning event structure.
ECDH calculation requested.
uint8_t size
Size of the output data provided.
Provisioning complete event.
const nrf_mesh_prov_provisioning_data_t * p_prov_data
Pointer to provisioning data structure.
#define NRF_MESH_UUID_SIZE
Size (in octets) of a UUID.
nrf_mesh_prov_ctx_t * p_context
Provisioning context pointer.
Provisioning link established.
nrf_mesh_prov_ctx_t * p_context
Provisioning context pointer.
nrf_mesh_prov_evt_link_established_t link_established
Provisioning link established event.
nrf_mesh_prov_evt_unprov_t unprov
Unprovisioned beacon received event.
nrf_mesh_prov_evt_output_request_t output_request
Provisioning output requested.
OOB authentication capabilities received from the provisionee.
nrf_mesh_prov_evt_invite_received_t invite_received
Provisioning invite event.
nrf_mesh_prov_ctx_t * p_context
Provisioning context.
Provisioning link lost.
nrf_mesh_prov_link_close_reason_t
Reason for why a provisioning link was closed.
bool uri_hash_present
Whether the beacon has a URI hash or not.
nrf_mesh_prov_input_action_t action
Input action requested.
nrf_mesh_prov_ctx_t * p_context
Provisioning context where the capabilities were received.
Provisioning output request.
nrf_mesh_prov_output_action_t action
Requested action.
nrf_mesh_prov_ctx_t * p_context
Provisioning context pointer.
nrf_mesh_prov_evt_start_received_t start_received
Provisioning start event.
Received an unprovisioned node beacon.
nrf_mesh_prov_evt_type_t
const nrf_mesh_rx_metadata_t * p_metadata
Metadata for the received packet.
#define NRF_MESH_BEACON_UNPROV_URI_HASH_SIZE
Size (in octets) of the unprovisioned beacon URI hash.
nrf_mesh_prov_failure_code_t
Provisioning failure codes.
uint8_t size
Size of the input data requested.
nrf_mesh_prov_evt_caps_received_t oob_caps_received
Provisioning capabilities received.
Provisioning invite received.
void(* nrf_mesh_prov_evt_handler_cb_t)(const nrf_mesh_prov_evt_t *p_evt)
Provisioning event handler callback type.
const uint8_t * p_devkey
Device key of the provisioned device.
nrf_mesh_prov_output_action_t
Enumeration for the OOB output actions.
nrf_mesh_prov_evt_link_closed_t link_closed
Provisioning link lost event.
Static provisioning data requested event.
nrf_mesh_prov_input_action_t
Enumeration for the OOB input actions.
Provisioning output requested event.
Provisioning start received.
nrf_mesh_prov_evt_oob_pubkey_request_t oob_pubkey_request
OOB public key requested.
Provisioning input requested event.
Provisioning authentication capabilities.
Unprovisioned node beacon received event structure.
const uint8_t * p_data
Pointer to the data to output.
nrf_mesh_prov_evt_input_request_t input_request
Provisioning input requested.
Provisioning failed message received.
nrf_mesh_prov_failure_code_t failure_code
Failure code indicating which error occured.
Request for the application to perform the ECDH calculation.
nrf_mesh_prov_ctx_t * p_context
Provisioning context pointer.
nrf_mesh_prov_ctx_t * p_context
Provisioning context pointer.
uint8_t attention_duration_s
Time in seconds during which the device will identify itself using any means it can.
const uint8_t * p_peer_public
Pointer to the public key of the peer node.
nrf_mesh_prov_evt_complete_t complete
Provisioning complete.
Provisioning data to transmit to a device.
nrf_mesh_prov_evt_failed_t failed
Provisioning failed.
nrf_mesh_prov_evt_ecdh_request_t ecdh_request
ECDH request.
nrf_mesh_prov_ctx_t * p_context
Provisioning context pointer.
Provisioning static data request.
nrf_mesh_prov_oob_caps_t oob_caps
Capabilities reported by the provisionee node.
bool gatt_supported
Provisioning over GATT supported by the unprovisioned node.
Provisionee capabilities received.
Out-of-band public key requested event.
nrf_mesh_prov_ctx_t * p_context
Provisioning context.
const uint8_t * p_node_private
Private key of this node.
nrf_mesh_prov_evt_static_request_t static_request
Static provisioning data requested.

Documentation feedback | Developer Zone | Subscribe | Updated