nRF5 SDK for Mesh v4.0.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 {
97 
101 typedef struct
102 {
104  uint8_t device_uuid[NRF_MESH_UUID_SIZE];
114 
118 typedef struct
119 {
121  nrf_mesh_prov_ctx_t * p_context;
123 
127 typedef struct
128 {
130  nrf_mesh_prov_ctx_t * p_context;
134 
138 typedef struct
139 {
141  nrf_mesh_prov_ctx_t * p_context;
145 
149 typedef struct
150 {
152  nrf_mesh_prov_ctx_t * p_context;
154 
158 typedef struct
159 {
161  nrf_mesh_prov_ctx_t * p_context;
165  uint8_t action;
167  uint8_t size;
169 
173 typedef struct
174 {
176  nrf_mesh_prov_ctx_t * p_context;
180  uint8_t action;
182  uint8_t size;
184  const uint8_t * p_data;
186 
190 typedef struct
191 {
193  nrf_mesh_prov_ctx_t * p_context;
195 
209 typedef struct
210 {
212  nrf_mesh_prov_ctx_t * p_context;
216 
220 typedef struct
221 {
223  nrf_mesh_prov_ctx_t * p_context;
225  const uint8_t * p_devkey;
229 
234 typedef struct
235 {
237  nrf_mesh_prov_ctx_t * p_context;
241 
247 typedef struct
248 {
250  nrf_mesh_prov_ctx_t * p_context;
252 
258 typedef struct
259 {
261  nrf_mesh_prov_ctx_t * p_context;
263  const uint8_t * p_peer_public;
265  const uint8_t * p_node_private;
267 
269 typedef struct
270 {
272  /* Event paramenters. */
273  union
274  {
301  } params;
303 
310 
313 #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_LINK_ESTABLISHED).
nrf_mesh_prov_evt_unprov_t unprov
Unprovisioned beacon received event (NRF_MESH_PROV_EVT_UNPROVISIONED_RECEIVED).
nrf_mesh_prov_evt_output_request_t output_request
Provisioning output requested (NRF_MESH_PROV_EVT_OUTPUT_REQUEST).
OOB authentication capabilities received from the provisionee.
nrf_mesh_prov_evt_invite_received_t invite_received
Provisioning invite event (NRF_MESH_PROV_EVT_INVITE_RECEIVED).
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_ctx_t * p_context
Provisioning context where the capabilities were received.
Provisioning output request.
nrf_mesh_prov_ctx_t * p_context
Provisioning context pointer.
nrf_mesh_prov_evt_start_received_t start_received
Provisioning start event (NRF_MESH_PROV_EVT_START_RECEIVED).
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 (NRF_MESH_PROV_EVT_CAPS_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_evt_link_closed_t link_closed
Provisioning link lost event (NRF_MESH_PROV_EVT_LINK_CLOSED).
Static provisioning data requested event.
Provisioning output requested event.
Provisioning start received.
nrf_mesh_prov_evt_oob_pubkey_request_t oob_pubkey_request
OOB public key requested (NRF_MESH_PROV_EVT_OOB_PUBKEY_REQUEST).
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 (NRF_MESH_PROV_EVT_INPUT_REQUEST).
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 (NRF_MESH_PROV_EVT_COMPLETE).
Provisioning data to transmit to a device.
nrf_mesh_prov_evt_failed_t failed
Provisioning failed (NRF_MESH_PROV_EVT_FAILED).
nrf_mesh_prov_evt_ecdh_request_t ecdh_request
ECDH request (NRF_MESH_PROV_EVT_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 (NRF_MESH_PROV_EVT_STATIC_REQUEST).

Documentation feedback | Developer Zone | Subscribe | Updated