nRF5 SDK for Mesh v3.0.0
nrf_mesh_prov_events.h
1 /* Copyright (c) 2010 - 2018, 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 {
80 
84 typedef struct
85 {
87  uint8_t device_uuid[NRF_MESH_UUID_SIZE];
97 
101 typedef struct
102 {
104  nrf_mesh_prov_ctx_t * p_context;
106 
110 typedef struct
111 {
113  nrf_mesh_prov_ctx_t * p_context;
117 
121 typedef struct
122 {
124  nrf_mesh_prov_ctx_t * p_context;
128 
132 typedef struct
133 {
135  nrf_mesh_prov_ctx_t * p_context;
137 
141 typedef struct
142 {
144  nrf_mesh_prov_ctx_t * p_context;
148  uint8_t size;
150 
154 typedef struct
155 {
157  nrf_mesh_prov_ctx_t * p_context;
161  uint8_t size;
163  const uint8_t * p_data;
165 
169 typedef struct
170 {
172  nrf_mesh_prov_ctx_t * p_context;
174 
188 typedef struct
189 {
191  nrf_mesh_prov_ctx_t * p_context;
195 
199 typedef struct
200 {
202  nrf_mesh_prov_ctx_t * p_context;
204  const uint8_t * p_devkey;
208 
213 typedef struct
214 {
216  nrf_mesh_prov_ctx_t * p_context;
220 
226 typedef struct
227 {
229  nrf_mesh_prov_ctx_t * p_context;
231 
237 typedef struct
238 {
240  nrf_mesh_prov_ctx_t * p_context;
242  const uint8_t * p_peer_public;
244  const uint8_t * p_node_private;
246 
248 typedef struct
249 {
251  /* Event paramenters. */
252  union
253  {
280  } params;
282 
289 
292 #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:153
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