nRF5 SDK for Mesh v1.0.1
nrf_mesh_prov_events.h
1 /* Copyright (c) 2010 - 2017, 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_netkey;
182  const uint8_t * p_devkey;
184  uint32_t iv_index;
186  uint16_t netkey_index;
188  uint16_t address;
190  struct {
192  uint8_t iv_update : 1;
194  uint8_t key_refresh : 1;
195  } flags;
197 
202 typedef struct
203 {
205  nrf_mesh_prov_ctx_t * p_context;
209 
215 typedef struct
216 {
218  nrf_mesh_prov_ctx_t * p_context;
220 
226 typedef struct
227 {
229  nrf_mesh_prov_ctx_t * p_context;
231  const uint8_t * p_peer_public;
233  const uint8_t * p_node_private;
235 
237 typedef struct
238 {
240  /* Event paramenters. */
241  union
242  {
265  } params;
267 
274 
277 #endif /* NRF_MESH_PROV_EVENTS_H__ */
Provisioning failed event.
Provisioning completed.
uint32_t iv_index
IV index for the network.
Provisioning input request.
RX packet metadata.
Definition: nrf_mesh.h:123
Provisioning event structure.
ECDH calculation requested.
uint8_t key_refresh
Key refresh in progress flag.
uint8_t size
Size of the output data provided.
Provisioning complete event.
#define NRF_MESH_UUID_SIZE
Size (in octets) of a UUID.
uint16_t netkey_index
Network key index.
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.
uint8_t iv_update
IV update in progress flag.
nrf_mesh_prov_ctx_t * p_context
Provisioning context pointer.
Received an unprovisioned node beacon.
nrf_mesh_prov_evt_type_t
const uint8_t * p_netkey
Pointer to the received network key.
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.
uint16_t address
Unicast address for the device.
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.
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