nRF5 SDK for Mesh v2.1.1
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 {
76 
80 typedef struct
81 {
83  uint8_t device_uuid[NRF_MESH_UUID_SIZE];
93 
97 typedef struct
98 {
100  nrf_mesh_prov_ctx_t * p_context;
102 
106 typedef struct
107 {
109  nrf_mesh_prov_ctx_t * p_context;
113 
117 typedef struct
118 {
120  nrf_mesh_prov_ctx_t * p_context;
124  uint8_t size;
126 
130 typedef struct
131 {
133  nrf_mesh_prov_ctx_t * p_context;
137  uint8_t size;
139  const uint8_t * p_data;
141 
145 typedef struct
146 {
148  nrf_mesh_prov_ctx_t * p_context;
150 
164 typedef struct
165 {
167  nrf_mesh_prov_ctx_t * p_context;
171 
175 typedef struct
176 {
178  nrf_mesh_prov_ctx_t * p_context;
180  const uint8_t * p_devkey;
184 
189 typedef struct
190 {
192  nrf_mesh_prov_ctx_t * p_context;
196 
202 typedef struct
203 {
205  nrf_mesh_prov_ctx_t * p_context;
207 
213 typedef struct
214 {
216  nrf_mesh_prov_ctx_t * p_context;
218  const uint8_t * p_peer_public;
220  const uint8_t * p_node_private;
222 
224 typedef struct
225 {
227  /* Event paramenters. */
228  union
229  {
252  } params;
254 
261 
264 #endif /* NRF_MESH_PROV_EVENTS_H__ */
Provisioning failed event.
Provisioning completed.
Provisioning input request.
RX packet metadata.
Definition: nrf_mesh.h:146
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.
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_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.
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.
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.
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.
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