MeshX 0.4
This repository provides an implementation for Bluetooth Low Energy (BLE) Mesh network nodes. The project allows you to create BLE mesh nodes that can communicate with each other, enabling the development of smart home solutions or other IoT-based applications.
Loading...
Searching...
No Matches
meshx_ble_mesh_prov_srv.h
Go to the documentation of this file.
1/**
2 * Copyright (c) 2024 - 2025 MeshX
3 *
4 * @file meshx_ble_mesh_prov_srv.h
5 * @brief This header file defines the provisioning server interface for the MeshX BLE Mesh stack.
6 * It includes data structures, enumerations, and function declarations for managing BLE Mesh
7 * provisioning operations, including node and provisioner functionalities.
8 *
9 * The file provides definitions for provisioning events, callback parameters, and provisioning
10 * bearer and OOB information types. It also includes APIs for initializing and retrieving
11 * provisioning parameters.
12 *
13 * @author Pranjal Chanda
14 *
15 */
16
17#ifndef __MESHX_BLE_MESH_PROV_SRV_H__
18#define __MESHX_BLE_MESH_PROV_SRV_H__
19
21#include "meshx_control_task.h"
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
29
30/*!< This enum value is associated with bt_mesh_prov_bearer_t in mesh_main.h */
36
37/*!< This enum value is associated with bt_mesh_prov_oob_info_t in mesh_main.h */
56
57/**
58 * @brief BLE Mesh Node/Provisioner callback parameters union
59 */
60typedef union
61{
62 /**
63 * @brief MESHX_PROV_REGISTER_COMP_EVT
64 */
66 {
67 int err_code; /*!< Indicate the result of BLE Mesh initialization */
68 } prov_register_comp; /*!< Event parameter of MESHX_PROV_REGISTER_COMP_EVT */
69 /**
70 * @brief MESHX_NODE_SET_UPROV_NAME_COMP_EVT
71 */
73 {
74 int err_code; /*!< Indicate the result of setting BLE Mesh device name */
75 } node_set_unprov_dev_name_comp; /*!< Event parameter of MESHX_NODE_SET_UPROV_NAME_COMP_EVT */
76 /**
77 * @brief MESHX_NODE_PROV_ENABLE_COMP_EVT
78 */
80 {
81 int err_code; /*!< Indicate the result of enabling BLE Mesh device */
82 } node_prov_enable_comp; /*!< Event parameter of MESHX_NODE_PROV_ENABLE_COMP_EVT */
83 /**
84 * @brief MESHX_NODE_PROV_DISABLE_COMP_EVT
85 */
87 {
88 int err_code; /*!< Indicate the result of disabling BLE Mesh device */
89 } node_prov_disable_comp; /*!< Event parameter of MESHX_NODE_PROV_DISABLE_COMP_EVT */
90 /**
91 * @brief MESHX_NODE_PROV_LINK_OPEN_EVT
92 */
94 {
95 meshx_prov_bearer_t bearer; /*!< Type of the bearer used when device link is open */
96 } node_prov_link_open; /*!< Event parameter of MESHX_NODE_PROV_LINK_OPEN_EVT */
97 /**
98 * @brief MESHX_NODE_PROV_LINK_CLOSE_EVT
99 */
101 {
102 meshx_prov_bearer_t bearer; /*!< Type of the bearer used when device link is closed */
103 uint8_t reason; /*!< Reason of the closed provisioning link */
104 } node_prov_link_close; /*!< Event parameter of MESHX_NODE_PROV_LINK_CLOSE_EVT */
105 /**
106 * @brief MESHX_NODE_PROV_OUTPUT_NUMBER_EVT
107 */
109 {
110 meshx_output_action_t action; /*!< Action of Output OOB Authentication */
111 uint32_t number; /*!< Number of Output OOB Authentication */
112 } node_prov_output_num; /*!< Event parameter of MESHX_NODE_PROV_OUTPUT_NUMBER_EVT */
113 /**
114 * @brief MESHX_NODE_PROV_OUTPUT_STRING_EVT
115 */
117 {
118 char string[8]; /*!< String of Output OOB Authentication */
119 } node_prov_output_str; /*!< Event parameter of MESHX_NODE_PROV_OUTPUT_STRING_EVT */
120 /**
121 * @brief MESHX_NODE_PROV_INPUT_EVT
122 */
124 {
125 meshx_input_action_t action; /*!< Action of Input OOB Authentication */
126 uint8_t size; /*!< Size of Input OOB Authentication */
127 } node_prov_input; /*!< Event parameter of MESHX_NODE_PROV_INPUT_EVT */
128 /**
129 * @brief MESHX_NODE_PROV_COMPLETE_EVT
130 */
132 {
133 uint16_t net_idx; /*!< NetKey Index */
134 uint8_t net_key[16]; /*!< NetKey */
135 uint16_t addr; /*!< Primary address */
136 uint8_t flags; /*!< Flags */
137 uint32_t iv_index; /*!< IV Index */
138 } node_prov_complete; /*!< Event parameter of MESHX_NODE_PROV_COMPLETE_EVT */
139 /**
140 * @brief MESHX_NODE_PROV_RESET_EVT
141 */
143 {
144
145 } node_prov_reset; /*!< Event parameter of MESHX_NODE_PROV_RESET_EVT */
146 /**
147 * @brief MESHX_NODE_PROV_SET_OOB_PUB_KEY_COMP_EVT
148 */
150 {
151 int err_code; /*!< Indicate the result of setting OOB Public Key */
152 } node_prov_set_oob_pub_key_comp; /*!< Event parameter of MESHX_NODE_PROV_SET_OOB_PUB_KEY_COMP_EVT */
153 /**
154 * @brief MESHX_NODE_PROV_INPUT_NUM_COMP_EVT
155 */
157 {
158 int err_code; /*!< Indicate the result of inputting number */
159 } node_prov_input_num_comp; /*!< Event parameter of MESHX_NODE_PROV_INPUT_NUM_COMP_EVT */
160 /**
161 * @brief MESHX_NODE_PROV_INPUT_STR_COMP_EVT
162 */
164 {
165 int err_code; /*!< Indicate the result of inputting string */
166 } node_prov_input_str_comp; /*!< Event parameter of MESHX_NODE_PROV_INPUT_STR_COMP_EVT */
167 /**
168 * @brief MESHX_NODE_PROXY_IDENTITY_ENABLE_COMP_EVT
169 */
171 {
172 int err_code; /*!< Indicate the result of enabling Mesh Proxy advertising */
173 } node_proxy_identity_enable_comp; /*!< Event parameter of MESHX_NODE_PROXY_IDENTITY_ENABLE_COMP_EVT */
174 /**
175 * @brief MESHX_NODE_PROXY_GATT_ENABLE_COMP_EVT
176 */
178 {
179 int err_code; /*!< Indicate the result of enabling Mesh Proxy Service */
180 } node_proxy_gatt_enable_comp; /*!< Event parameter of MESHX_NODE_PROXY_GATT_ENABLE_COMP_EVT */
181 /**
182 * @brief MESHX_NODE_PROXY_GATT_DISABLE_COMP_EVT
183 */
185 {
186 int err_code; /*!< Indicate the result of disabling Mesh Proxy Service */
187 } node_proxy_gatt_disable_comp; /*!< Event parameter of MESHX_NODE_PROXY_GATT_DISABLE_COMP_EVT */
188 /**
189 * @brief MESHX_NODE_PRIVATE_PROXY_IDENTITY_ENABLE_COMP_EVT
190 */
192 {
193 int err_code; /*!< Indicate the result of enabling Mesh Proxy private advertising */
194 } node_private_proxy_identity_enable_comp; /*!< Event parameter of MESHX_NODE_PRIVATE_PROXY_IDENTITY_ENABLE_COMP_EVT */
195 /**
196 * @brief MESHX_NODE_PRIVATE_PROXY_IDENTITY_DISABLE_COMP_EVT
197 */
199 {
200 int err_code; /*!< Indicate the result of disabling Mesh Proxy private advertising */
201 } node_private_proxy_identity_disable_comp; /*!< Event parameter of MESHX_NODE_PRIVATE_PROXY_IDENTITY_DISABLE_COMP_EVT */
202 /**
203 * @brief MESHX_NODE_ADD_LOCAL_NET_KEY_COMP_EVT
204 */
206 {
207 int err_code; /*!< Indicate the result of adding local NetKey by the node */
208 uint16_t net_idx; /*!< NetKey Index */
209 } node_add_net_key_comp; /*!< Event parameter of MESHX_NODE_ADD_LOCAL_NET_KEY_COMP_EVT */
210 /**
211 * @brief MESHX_NODE_ADD_LOCAL_APP_KEY_COMP_EVT
212 */
214 {
215 int err_code; /*!< Indicate the result of adding local AppKey by the node */
216 uint16_t net_idx; /*!< NetKey Index */
217 uint16_t app_idx; /*!< AppKey Index */
218 } node_add_app_key_comp; /*!< Event parameter of MESHX_NODE_ADD_LOCAL_APP_KEY_COMP_EVT */
219 /**
220 * @brief MESHX_NODE_BIND_APP_KEY_TO_MODEL_COMP_EVT
221 */
223 {
224 int err_code; /*!< Indicate the result of binding AppKey with model by the node */
225 uint16_t element_addr; /*!< Element address */
226 uint16_t app_idx; /*!< AppKey Index */
227 uint16_t company_id; /*!< Company ID */
228 uint16_t model_id; /*!< Model ID */
229 } node_bind_app_key_to_model_comp; /*!< Event parameter of MESHX_NODE_BIND_APP_KEY_TO_MODEL_COMP_EVT */
230 /**
231 * @brief MESHX_PROVISIONER_RECV_UNPROV_ADV_PKT_EVT
232 */
234 {
235 uint8_t dev_uuid[16]; /*!< Device UUID of the unprovisioned device */
236 meshx_bd_addr_t addr; /*!< Device address of the unprovisioned device */
237 meshx_addr_type_t addr_type; /*!< Device address type */
238 uint16_t oob_info; /*!< OOB Info of the unprovisioned device */
239 uint8_t adv_type; /*!< Advertising type of the unprovisioned device */
240 meshx_prov_bearer_t bearer; /*!< Bearer of the unprovisioned device */
241 int8_t rssi; /*!< RSSI of the received advertising packet */
242 } provisioner_recv_unprov_adv_pkt; /*!< Event parameter of MESHX_PROVISIONER_RECV_UNPROV_ADV_PKT_EVT */
243 /**
244 * @brief MESHX_PROVISIONER_PROV_ENABLE_COMP_EVT
245 */
247 {
248 int err_code; /*!< Indicate the result of enabling BLE Mesh Provisioner */
249 } provisioner_prov_enable_comp; /*!< Event parameter of MESHX_PROVISIONER_PROV_ENABLE_COMP_EVT */
250 /**
251 * @brief MESHX_PROVISIONER_PROV_DISABLE_COMP_EVT
252 */
254 {
255 int err_code; /*!< Indicate the result of disabling BLE Mesh Provisioner */
256 } provisioner_prov_disable_comp; /*!< Event parameter of MESHX_PROVISIONER_PROV_DISABLE_COMP_EVT */
257 /**
258 * @brief MESHX_PROVISIONER_PROV_LINK_OPEN_EVT
259 */
261 {
262 meshx_prov_bearer_t bearer; /*!< Type of the bearer used when Provisioner link is opened */
263 } provisioner_prov_link_open; /*!< Event parameter of MESHX_PROVISIONER_PROV_LINK_OPEN_EVT */
264 /**
265 * @brief MESHX_PROVISIONER_PROV_READ_OOB_PUB_KEY_EVT
266 */
268 {
269 uint8_t link_idx; /*!< Index of the provisioning link */
270 } provisioner_prov_read_oob_pub_key; /*!< Event parameter of MESHX_PROVISIONER_PROV_READ_OOB_PUB_KEY_EVT */
271 /**
272 * @brief MESHX_PROVISIONER_PROV_INPUT_EVT
273 */
275 {
276 meshx_oob_method_t method; /*!< Method of device Output OOB Authentication */
277 meshx_output_action_t action; /*!< Action of device Output OOB Authentication */
278 uint8_t size; /*!< Size of device Output OOB Authentication */
279 uint8_t link_idx; /*!< Index of the provisioning link */
280 } provisioner_prov_input; /*!< Event parameter of MESHX_PROVISIONER_PROV_INPUT_EVT */
281 /**
282 * @brief MESHX_PROVISIONER_PROV_OUTPUT_EVT
283 */
285 {
286 meshx_oob_method_t method; /*!< Method of device Input OOB Authentication */
287 meshx_input_action_t action; /*!< Action of device Input OOB Authentication */
288 uint8_t size; /*!< Size of device Input OOB Authentication */
289 uint8_t link_idx; /*!< Index of the provisioning link */
290 /** Union of output OOB */
291 union
292 {
293 char string[8]; /*!< String output by the Provisioner */
294 uint32_t number; /*!< Number output by the Provisioner */
295 };
296 } provisioner_prov_output; /*!< Event parameter of MESHX_PROVISIONER_PROV_OUTPUT_EVT */
297 /**
298 * @brief MESHX_PROVISIONER_PROV_LINK_CLOSE_EVT
299 */
301 {
302 meshx_prov_bearer_t bearer; /*!< Type of the bearer used when Provisioner link is closed */
303 uint8_t reason; /*!< Reason of the closed provisioning link */
304 } provisioner_prov_link_close; /*!< Event parameter of MESHX_PROVISIONER_PROV_LINK_CLOSE_EVT */
305 /**
306 * @brief MESHX_PROVISIONER_PROV_COMPLETE_EVT
307 */
309 {
310 uint16_t node_idx; /*!< Index of the provisioned device */
311 uint8_t device_uuid[16]; /*!< Device UUID of the provisioned device */
312 uint16_t unicast_addr; /*!< Primary address of the provisioned device */
313 uint8_t element_num; /*!< Element count of the provisioned device */
314 uint16_t netkey_idx; /*!< NetKey Index of the provisioned device */
315 } provisioner_prov_complete; /*!< Event parameter of MESHX_PROVISIONER_PROV_COMPLETE_EVT */
316 /**
317 * @brief MESHX_PROVISIONER_CERT_BASED_PROV_START_EVT
318 */
320 {
321 uint16_t link_idx; /*!< Index of the provisioning link */
322 } provisioner_cert_based_prov_start; /*!< Event parameter of MESHX_PROVISIONER_CERT_BASED_PROV_START_EVT */
323 /**
324 * @brief MESHX_PROVISIONER_RECV_PROV_RECORDS_LIST_EVT
325 */
327 {
328 uint16_t link_idx; /*!< Index of the provisioning link */
329 uint16_t len; /*!< Length of message */
330 uint8_t *msg; /*!< Lists the Record IDs of the provisioning records stored on the Provisionee */
331 } recv_provisioner_records_list; /*!< Event parameter of MESHX_PROVISIONER_RECV_PROV_RECORDS_LIST_EVT */
332 /**
333 * @brief MESHX_PROVISIONER_PROV_RECORD_RECV_COMP_EVT
334 */
336 {
337 uint8_t status; /*!< Indicates whether or not the request was handled successfully */
338 uint16_t link_idx; /*!< Index of the provisioning link */
339 uint16_t record_id; /*!< Identifies the provisioning record for which the request is made */
340 uint16_t frag_offset; /*!< The starting offset of the requested fragment in the provisioning record data */
341 uint16_t total_len; /*!< Total length of the provisioning record data stored on the Provisionee */
342 uint8_t *record; /*!< Provisioning record data fragment */
343 } provisioner_prov_record_recv_comp; /*!< Event parameter of MESHX_PROVISIONER_PROV_RECORD_RECV_COMP_EVT */
344 /**
345 * @brief MESHX_PROVISIONER_SEND_PROV_RECORDS_GET_EVT
346 */
348 {
349 int err_code; /*!< Indicate the result of send Provisioning Records List Get message */
350 uint16_t link_idx; /*!< Index of the provisioning link */
351 } provisioner_send_records_get; /*!< Event parameter of MESHX_PROVISIONER_SEND_PROV_RECORDS_GET_EVT */
352 /**
353 * @brief MESHX_PROVISIONER_SEND_PROV_RECORD_REQUEST_EVT
354 */
356 {
357 int err_code; /*!< Indicate the result of send Provisioning Record Request message */
358 uint16_t link_idx; /*!< Index of the provisioning link */
359 uint16_t record_id; /*!< Identifies the provisioning record for which the request is made */
360 uint16_t frag_offset; /*!< The starting offset of the requested fragment in the provisioning record data */
361 uint16_t max_size; /*!< The maximum size of the provisioning record fragment that the Provisioner can receive */
362 } provisioner_send_record_req; /*!< Event parameter of MESHX_PROVISIONER_SEND_PROV_RECORD_REQUEST_EVT */
363 /**
364 * @brief MESHX_PROVISIONER_SEND_PROV_INVITE_EVT
365 */
367 {
368 uint16_t link_idx; /*!< Index of the provisioning link */
369 int err_code; /*!< Indicate the result of send Provisioning Invite message */
370 } provisioner_send_prov_invite; /*!< Event parameter of MESHX_PROVISIONER_SEND_PROV_INVITE_EVT */
371 /**
372 * @brief MESHX_PROVISIONER_SEND_LINK_CLOSE_EVT
373 */
375 {
376 uint16_t link_idx; /*!< Index of the provisioning link */
377 int err_code; /*!< Indicate the result of send Link Close message */
378 } provisioner_send_link_close; /*!< Event parameter of MESHX_PROVISIONER_SEND_LINK_CLOSE_EVT */
379 /**
380 * @brief MESHX_PROVISIONER_ADD_UNPROV_DEV_COMP_EVT
381 */
383 {
384 int err_code; /*!< Indicate the result of adding device into queue by the Provisioner */
385 } provisioner_add_unprov_dev_comp; /*!< Event parameter of MESHX_PROVISIONER_ADD_UNPROV_DEV_COMP_EVT */
386 /**
387 * @brief MESHX_PROVISIONER_PROV_DEV_WITH_ADDR_COMP_EVT
388 */
390 {
391 int err_code; /*!< Indicate the result of Provisioner starting to provision a device */
392 } provisioner_prov_dev_with_addr_comp; /*!< Event parameter of MESHX_PROVISIONER_PROV_DEV_WITH_ADDR_COMP_EVT */
393 /**
394 * @brief MESHX_PROVISIONER_DELETE_DEV_COMP_EVT
395 */
397 {
398 int err_code; /*!< Indicate the result of deleting device by the Provisioner */
399 } provisioner_delete_dev_comp; /*!< Event parameter of MESHX_PROVISIONER_DELETE_DEV_COMP_EVT */
400 /**
401 * @brief MESHX_PROVISIONER_SET_DEV_UUID_MATCH_COMP_EVT
402 */
404 {
405 int err_code; /*!< Indicate the result of setting Device UUID match value by the Provisioner */
406 } provisioner_set_dev_uuid_match_comp; /*!< Event parameter of MESHX_PROVISIONER_SET_DEV_UUID_MATCH_COMP_EVT */
407 /**
408 * @brief MESHX_PROVISIONER_SET_PROV_DATA_INFO_COMP_EVT
409 */
411 {
412 int err_code; /*!< Indicate the result of setting provisioning info by the Provisioner */
413 } provisioner_set_prov_data_info_comp; /*!< Event parameter of MESHX_PROVISIONER_SET_PROV_DATA_INFO_COMP_EVT */
414 /**
415 * @brief MESHX_PROVISIONER_SET_STATIC_OOB_VALUE_COMP_EVT
416 */
418 {
419 int err_code; /*!< Indicate the result of setting static oob value by the Provisioner */
420 } provisioner_set_static_oob_val_comp; /*!< Event parameter of MESHX_PROVISIONER_SET_STATIC_OOB_VALUE_COMP_EVT */
421 /**
422 * @brief MESHX_PROVISIONER_SET_PRIMARY_ELEM_ADDR_COMP_EVT
423 */
425 {
426 int err_code; /*!< Indicate the result of setting unicast address of primary element by the Provisioner */
427 } provisioner_set_primary_elem_addr_comp; /*!< Event parameter of MESHX_PROVISIONER_SET_PRIMARY_ELEM_ADDR_COMP_EVT */
428 /**
429 * @brief MESHX_PROVISIONER_PROV_READ_OOB_PUB_KEY_COMP_EVT
430 */
432 {
433 int err_code; /*!< Indicate the result of setting OOB Public Key by the Provisioner */
434 } provisioner_prov_read_oob_pub_key_comp; /*!< Event parameter of MESHX_PROVISIONER_PROV_READ_OOB_PUB_KEY_COMP_EVT */
435 /**
436 * @brief MESHX_PROVISIONER_PROV_INPUT_NUMBER_COMP_EVT
437 */
439 {
440 int err_code; /*!< Indicate the result of inputting number by the Provisioner */
441 } provisioner_prov_input_num_comp; /*!< Event parameter of MESHX_PROVISIONER_PROV_INPUT_NUMBER_COMP_EVT */
442 /**
443 * @brief MESHX_PROVISIONER_PROV_INPUT_STRING_COMP_EVT
444 */
446 {
447 int err_code; /*!< Indicate the result of inputting string by the Provisioner */
448 } provisioner_prov_input_str_comp; /*!< Event parameter of MESHX_PROVISIONER_PROV_INPUT_STRING_COMP_EVT */
449 /**
450 * @brief MESHX_PROVISIONER_SET_NODE_NAME_COMP_EVT
451 */
453 {
454 int err_code; /*!< Indicate the result of setting provisioned device name by the Provisioner */
455 uint16_t node_index; /*!< Index of the provisioned device */
456 } provisioner_set_node_name_comp; /*!< Event parameter of MESHX_PROVISIONER_SET_NODE_NAME_COMP_EVT */
457 /**
458 * @brief MESHX_PROVISIONER_ADD_LOCAL_APP_KEY_COMP_EVT
459 */
461 {
462 int err_code; /*!< Indicate the result of adding local AppKey by the Provisioner */
463 uint16_t net_idx; /*!< NetKey Index */
464 uint16_t app_idx; /*!< AppKey Index */
465 } provisioner_add_app_key_comp; /*!< Event parameter of MESHX_PROVISIONER_ADD_LOCAL_APP_KEY_COMP_EVT */
466 /**
467 * @brief MESHX_PROVISIONER_UPDATE_LOCAL_APP_KEY_COMP_EVT
468 */
470 {
471 int err_code; /*!< Indicate the result of updating local AppKey by the Provisioner */
472 uint16_t net_idx; /*!< NetKey Index */
473 uint16_t app_idx; /*!< AppKey Index */
474 } provisioner_update_app_key_comp; /*!< Event parameter of MESHX_PROVISIONER_UPDATE_LOCAL_APP_KEY_COMP_EVT */
475 /**
476 * @brief MESHX_PROVISIONER_BIND_APP_KEY_TO_MODEL_COMP_EVT
477 */
479 {
480 int err_code; /*!< Indicate the result of binding AppKey with model by the Provisioner */
481 uint16_t element_addr; /*!< Element address */
482 uint16_t app_idx; /*!< AppKey Index */
483 uint16_t company_id; /*!< Company ID */
484 uint16_t model_id; /*!< Model ID */
485 } provisioner_bind_app_key_to_model_comp; /*!< Event parameter of MESHX_PROVISIONER_BIND_APP_KEY_TO_MODEL_COMP_EVT */
486 /**
487 * @brief MESHX_PROVISIONER_ADD_LOCAL_NET_KEY_COMP_EVT
488 */
490 {
491 int err_code; /*!< Indicate the result of adding local NetKey by the Provisioner */
492 uint16_t net_idx; /*!< NetKey Index */
493 } provisioner_add_net_key_comp; /*!< Event parameter of MESHX_PROVISIONER_ADD_LOCAL_NET_KEY_COMP_EVT */
494 /**
495 * @brief MESHX_PROVISIONER_UPDATE_LOCAL_NET_KEY_COMP_EVT
496 */
498 {
499 int err_code; /*!< Indicate the result of updating local NetKey by the Provisioner */
500 uint16_t net_idx; /*!< NetKey Index */
501 } provisioner_update_net_key_comp; /*!< Event parameter of MESHX_PROVISIONER_UPDATE_LOCAL_NET_KEY_COMP_EVT */
502 /**
503 * @brief MESHX_PROVISIONER_STORE_NODE_COMP_DATA_COMP_EVT
504 */
506 {
507 int err_code; /*!< Indicate the result of storing node composition data by the Provisioner */
508 uint16_t addr; /*!< Node element address */
509 } provisioner_store_node_comp_data_comp; /*!< Event parameter of MESHX_PROVISIONER_STORE_NODE_COMP_DATA_COMP_EVT */
510 /**
511 * @brief MESHX_PROVISIONER_DELETE_NODE_WITH_UUID_COMP_EVT
512 */
514 {
515 int err_code; /*!< Indicate the result of deleting node with uuid by the Provisioner */
516 uint8_t uuid[16]; /*!< Node device uuid */
517 } provisioner_delete_node_with_uuid_comp; /*!< Event parameter of MESHX_PROVISIONER_DELETE_NODE_WITH_UUID_COMP_EVT */
518 /**
519 * @brief MESHX_PROVISIONER_DELETE_NODE_WITH_ADDR_COMP_EVT
520 */
522 {
523 int err_code; /*!< Indicate the result of deleting node with unicast address by the Provisioner */
524 uint16_t unicast_addr; /*!< Node unicast address */
525 } provisioner_delete_node_with_addr_comp; /*!< Event parameter of MESHX_PROVISIONER_DELETE_NODE_WITH_ADDR_COMP_EVT */
526 /**
527 * @brief MESHX_PROVISIONER_ENABLE_HEARTBEAT_RECV_COMP_EVT
528 */
529 struct
530 {
531 int err_code; /*!< Indicate the result of enabling/disabling to receive heartbeat messages by the Provisioner */
532 bool enable; /*!< Indicate enabling or disabling receiving heartbeat messages */
533 } provisioner_enable_heartbeat_recv_comp; /*!< Event parameters of MESHX_PROVISIONER_ENABLE_HEARTBEAT_RECV_COMP_EVT */
534 /**
535 * @brief MESHX_PROVISIONER_SET_HEARTBEAT_FILTER_TYPE_COMP_EVT
536 */
537 struct
538 {
539 int err_code; /*!< Indicate the result of setting the heartbeat filter type by the Provisioner */
540 uint8_t type; /*!< Type of the filter used for receiving heartbeat messages */
541 } provisioner_set_heartbeat_filter_type_comp; /*!< Event parameters of MESHX_PROVISIONER_SET_HEARTBEAT_FILTER_TYPE_COMP_EVT */
542 /**
543 * @brief MESHX_PROVISIONER_SET_HEARTBEAT_FILTER_INFO_COMP_EVT
544 */
545 struct
546 {
547 int err_code; /*!< Indicate the result of setting the heartbeat filter address by the Provisioner */
548 uint8_t op; /*!< Operation (add, remove, clean) */
549 uint16_t hb_src; /*!< Heartbeat source address */
550 uint16_t hb_dst; /*!< Heartbeat destination address */
551 } provisioner_set_heartbeat_filter_info_comp; /*!< Event parameters of MESHX_PROVISIONER_SET_HEARTBEAT_FILTER_INFO_COMP_EVT */
552 /**
553 * @brief MESHX_PROVISIONER_RECV_HEARTBEAT_MESSAGE_EVT
554 */
555 struct
556 {
557 uint16_t hb_src; /*!< Heartbeat source address */
558 uint16_t hb_dst; /*!< Heartbeat destination address */
559 uint8_t init_ttl; /*!< Heartbeat InitTTL */
560 uint8_t rx_ttl; /*!< Heartbeat RxTTL */
561 uint8_t hops; /*!< Heartbeat hops (InitTTL - RxTTL + 1) */
562 uint16_t feature; /*!< Bit field of currently active features of the node */
563 int8_t rssi; /*!< RSSI of the heartbeat message */
564 } provisioner_recv_heartbeat; /*!< Event parameters of MESHX_PROVISIONER_RECV_HEARTBEAT_MESSAGE_EVT */
565 /**
566 * @brief MESHX_PROVISIONER_DIRECT_ERASE_SETTINGS_COMP_EVT
567 */
568 struct
569 {
570 int err_code; /*!< Indicate the result of directly erasing settings by the Provisioner */
571 } provisioner_direct_erase_settings_comp; /*!< Event parameters of MESHX_PROVISIONER_DIRECT_ERASE_SETTINGS_COMP_EVT */
572 /**
573 * @brief MESHX_PROVISIONER_OPEN_SETTINGS_WITH_INDEX_COMP_EVT
574 */
575 struct
576 {
577 int err_code; /*!< Indicate the result of opening settings with index by the Provisioner */
578 uint8_t index; /*!< Index of Provisioner settings */
579 } provisioner_open_settings_with_index_comp; /*!< Event parameter of MESHX_PROVISIONER_OPEN_SETTINGS_WITH_INDEX_COMP_EVT */
580 /**
581 * @brief MESHX_PROVISIONER_OPEN_SETTINGS_WITH_UID_COMP_EVT
582 */
583 struct
584 {
585 int err_code; /*!< Indicate the result of opening settings with user id by the Provisioner */
586 uint8_t index; /*!< Index of Provisioner settings */
587 char uid[MESHX_SETTINGS_UID_SIZE + 1]; /*!< Provisioner settings user id */
588 } provisioner_open_settings_with_uid_comp; /*!< Event parameters of MESHX_PROVISIONER_OPEN_SETTINGS_WITH_UID_COMP_EVT */
589 /**
590 * @brief MESHX_PROVISIONER_CLOSE_SETTINGS_WITH_INDEX_COMP_EVT
591 */
592 struct
593 {
594 int err_code; /*!< Indicate the result of closing settings with index by the Provisioner */
595 uint8_t index; /*!< Index of Provisioner settings */
596 } provisioner_close_settings_with_index_comp; /*!< Event parameter of MESHX_PROVISIONER_CLOSE_SETTINGS_WITH_INDEX_COMP_EVT */
597 /**
598 * @brief MESHX_PROVISIONER_CLOSE_SETTINGS_WITH_UID_COMP_EVT
599 */
600 struct
601 {
602 int err_code; /*!< Indicate the result of closing settings with user id by the Provisioner */
603 uint8_t index; /*!< Index of Provisioner settings */
604 char uid[MESHX_SETTINGS_UID_SIZE + 1]; /*!< Provisioner settings user id */
605 } provisioner_close_settings_with_uid_comp; /*!< Event parameters of MESHX_PROVISIONER_CLOSE_SETTINGS_WITH_UID_COMP_EVT */
606 /**
607 * @brief MESHX_PROVISIONER_DELETE_SETTINGS_WITH_INDEX_COMP_EVT
608 */
609 struct
610 {
611 int err_code; /*!< Indicate the result of deleting settings with index by the Provisioner */
612 uint8_t index; /*!< Index of Provisioner settings */
613 } provisioner_delete_settings_with_index_comp; /*!< Event parameter of MESHX_PROVISIONER_DELETE_SETTINGS_WITH_INDEX_COMP_EVT */
614 /**
615 * @brief MESHX_PROVISIONER_DELETE_SETTINGS_WITH_UID_COMP_EVT
616 */
617 struct
618 {
619 int err_code; /*!< Indicate the result of deleting settings with user id by the Provisioner */
620 uint8_t index; /*!< Index of Provisioner settings */
621 char uid[MESHX_SETTINGS_UID_SIZE + 1]; /*!< Provisioner settings user id */
622 } provisioner_delete_settings_with_uid_comp; /*!< Event parameters of MESHX_PROVISIONER_DELETE_SETTINGS_WITH_UID_COMP_EVT */
623 /**
624 * @brief MESHX_SET_FAST_PROV_INFO_COMP_EVT
625 */
627 {
628 uint8_t status_unicast; /*!< Indicate the result of setting unicast address range of fast provisioning */
629 uint8_t status_net_idx; /*!< Indicate the result of setting NetKey Index of fast provisioning */
630 uint8_t status_match; /*!< Indicate the result of setting matching Device UUID of fast provisioning */
631 } set_fast_prov_info_comp; /*!< Event parameter of MESHX_SET_FAST_PROV_INFO_COMP_EVT */
632 /**
633 * @brief MESHX_SET_FAST_PROV_ACTION_COMP_EVT
634 */
636 {
637 uint8_t status_action; /*!< Indicate the result of setting action of fast provisioning */
638 } set_fast_prov_action_comp; /*!< Event parameter of MESHX_SET_FAST_PROV_ACTION_COMP_EVT */
639 /**
640 * @brief MESHX_HEARTBEAT_MESSAGE_RECV_EVT
641 */
643 {
644 uint8_t hops; /*!< Heartbeat hops (InitTTL - RxTTL + 1) */
645 uint16_t feature; /*!< Bit field of currently active features of the node */
646 } heartbeat_msg_recv; /*!< Event parameter of MESHX_HEARTBEAT_MESSAGE_RECV_EVT */
647 /**
648 * @brief MESHX_LPN_ENABLE_COMP_EVT
649 */
651 {
652 int err_code; /*!< Indicate the result of enabling LPN functionality */
653 } lpn_enable_comp; /*!< Event parameter of MESHX_LPN_ENABLE_COMP_EVT */
654 /**
655 * @brief MESHX_LPN_DISABLE_COMP_EVT
656 */
658 {
659 int err_code; /*!< Indicate the result of disabling LPN functionality */
660 } lpn_disable_comp; /*!< Event parameter of MESHX_LPN_DISABLE_COMP_EVT */
661 /**
662 * @brief MESHX_LPN_POLL_COMP_EVT
663 */
665 {
666 int err_code; /*!< Indicate the result of sending Friend Poll */
667 } lpn_poll_comp; /*!< Event parameter of MESHX_LPN_POLL_COMP_EVT */
668 /**
669 * @brief MESHX_LPN_FRIENDSHIP_ESTABLISH_EVT
670 */
672 {
673 uint16_t friend_addr; /*!< Friend Node unicast address */
674 } lpn_friendship_establish; /*!< Event parameter of MESHX_LPN_FRIENDSHIP_ESTABLISH_EVT */
675 /**
676 * @brief MESHX_LPN_FRIENDSHIP_TERMINATE_EVT
677 */
679 {
680 uint16_t friend_addr; /*!< Friend Node unicast address */
681 } lpn_friendship_terminate; /*!< Event parameter of MESHX_LPN_FRIENDSHIP_TERMINATE_EVT */
682 /**
683 * @brief MESHX_FRIEND_FRIENDSHIP_ESTABLISH_EVT
684 */
686 {
687 uint16_t lpn_addr; /*!< Low Power Node unicast address */
688 } frnd_friendship_establish; /*!< Event parameter of MESHX_FRIEND_FRIENDSHIP_ESTABLISH_EVT */
689 /**
690 * @brief MESHX_FRIEND_FRIENDSHIP_TERMINATE_EVT
691 */
693 {
694 uint16_t lpn_addr; /*!< Low Power Node unicast address */
695 /** This enum value is the reason of friendship termination on the friend node side */
696 enum
697 {
698 MESHX_FRND_FRIENDSHIP_TERMINATE_ESTABLISH_FAIL, /*!< Friend Offer has been sent, but Friend Offer is not received within 1 second, friendship fails to be established */
699 MESHX_FRND_FRIENDSHIP_TERMINATE_POLL_TIMEOUT, /*!< Friendship is established, PollTimeout timer expires and no Friend Poll/Sub Add/Sub Remove is received */
700 MESHX_FRND_FRIENDSHIP_TERMINATE_RECV_FRND_REQ, /*!< Receive Friend Request from existing Low Power Node */
701 MESHX_FRND_FRIENDSHIP_TERMINATE_RECV_FRND_CLEAR, /*!< Receive Friend Clear from other friend node */
702 MESHX_FRND_FRIENDSHIP_TERMINATE_DISABLE, /*!< Friend feature disabled or corresponding NetKey is deleted */
703 } reason; /*!< Friendship terminated reason */
704 } frnd_friendship_terminate; /*!< Event parameter of MESHX_FRIEND_FRIENDSHIP_TERMINATE_EVT */
705 /**
706 * @brief MESHX_PROXY_CLIENT_RECV_ADV_PKT_EVT
707 */
709 {
710 meshx_bd_addr_t addr; /*!< Device address */
711 meshx_addr_type_t addr_type; /*!< Device address type */
712 uint16_t net_idx; /*!< Network ID related NetKey Index */
713 uint8_t net_id[8]; /*!< Network ID contained in the advertising packet */
714 int8_t rssi; /*!< RSSI of the received advertising packet */
715 } proxy_client_recv_adv_pkt; /*!< Event parameter of MESHX_PROXY_CLIENT_RECV_ADV_PKT_EVT */
716 /**
717 * @brief MESHX_PROXY_CLIENT_CONNECTED_EVT
718 */
720 {
721 meshx_bd_addr_t addr; /*!< Device address of the Proxy Server */
722 meshx_addr_type_t addr_type; /*!< Device address type */
723 uint8_t conn_handle; /*!< Proxy connection handle */
724 uint16_t net_idx; /*!< Corresponding NetKey Index */
725 } proxy_client_connected; /*!< Event parameter of MESHX_PROXY_CLIENT_CONNECTED_EVT */
726 /**
727 * @brief MESHX_PROXY_CLIENT_DISCONNECTED_EVT
728 */
730 {
731 meshx_bd_addr_t addr; /*!< Device address of the Proxy Server */
732 meshx_addr_type_t addr_type; /*!< Device address type */
733 uint8_t conn_handle; /*!< Proxy connection handle */
734 uint16_t net_idx; /*!< Corresponding NetKey Index */
735 uint8_t reason; /*!< Proxy disconnect reason */
736 } proxy_client_disconnected; /*!< Event parameter of MESHX_PROXY_CLIENT_DISCONNECTED_EVT */
737 /**
738 * @brief MESHX_PROXY_CLIENT_RECV_FILTER_STATUS_EVT
739 */
741 {
742 uint8_t conn_handle; /*!< Proxy connection handle */
743 uint16_t server_addr; /*!< Proxy Server primary element address */
744 uint16_t net_idx; /*!< Corresponding NetKey Index */
745 uint8_t filter_type; /*!< Proxy Server filter type(whitelist or blacklist) */
746 uint16_t list_size; /*!< Number of addresses in the Proxy Server filter list */
747 } proxy_client_recv_filter_status; /*!< Event parameter of MESHX_PROXY_CLIENT_RECV_FILTER_STATUS_EVT */
748 /**
749 * @brief MESHX_PROXY_CLIENT_CONNECT_COMP_EVT
750 */
752 {
753 int err_code; /*!< Indicate the result of Proxy Client connect */
754 meshx_bd_addr_t addr; /*!< Device address of the Proxy Server */
755 meshx_addr_type_t addr_type; /*!< Device address type */
756 uint16_t net_idx; /*!< Corresponding NetKey Index */
757 } proxy_client_connect_comp; /*!< Event parameter of MESHX_PROXY_CLIENT_CONNECT_COMP_EVT */
758 /**
759 * @brief MESHX_PROXY_CLIENT_DISCONNECT_COMP_EVT
760 */
762 {
763 int err_code; /*!< Indicate the result of Proxy Client disconnect */
764 uint8_t conn_handle; /*!< Proxy connection handle */
765 } proxy_client_disconnect_comp; /*!< Event parameter of MESHX_PROXY_CLIENT_DISCONNECT_COMP_EVT */
766 /**
767 * @brief MESHX_PROXY_CLIENT_SET_FILTER_TYPE_COMP_EVT
768 */
770 {
771 int err_code; /*!< Indicate the result of Proxy Client set filter type */
772 uint8_t conn_handle; /*!< Proxy connection handle */
773 uint16_t net_idx; /*!< Corresponding NetKey Index */
774 } proxy_client_set_filter_type_comp; /*!< Event parameter of MESHX_PROXY_CLIENT_SET_FILTER_TYPE_COMP_EVT */
775 /**
776 * @brief MESHX_PROXY_CLIENT_ADD_FILTER_ADDR_COMP_EVT
777 */
779 {
780 int err_code; /*!< Indicate the result of Proxy Client add filter address */
781 uint8_t conn_handle; /*!< Proxy connection handle */
782 uint16_t net_idx; /*!< Corresponding NetKey Index */
783 } proxy_client_add_filter_addr_comp; /*!< Event parameter of MESHX_PROXY_CLIENT_ADD_FILTER_ADDR_COMP_EVT */
784 /**
785 * @brief MESHX_PROXY_CLIENT_REMOVE_FILTER_ADDR_COMP_EVT
786 */
788 {
789 int err_code; /*!< Indicate the result of Proxy Client remove filter address */
790 uint8_t conn_handle; /*!< Proxy connection handle */
791 uint16_t net_idx; /*!< Corresponding NetKey Index */
792 } proxy_client_remove_filter_addr_comp; /*!< Event parameter of MESHX_PROXY_CLIENT_REMOVE_FILTER_ADDR_COMP_EVT */
793 /**
794 * @brief MESHX_PROXY_CLIENT_DIRECTED_PROXY_CONTROL_COMP_EVT
795 */
797 {
798 int err_code; /*!< Indicate the result of Proxy Client directed proxy control address */
799 uint8_t conn_handle; /*!< Proxy connection handle */
800 uint16_t net_idx; /*!< Corresponding NetKey Index */
801 } proxy_client_directed_proxy_set_comp; /*!< Event parameter of MESHX_PROXY_CLIENT_DIRECTED_PROXY_SET_COMP_EVT */
802 /**
803 * @brief MESHX_PROXY_SERVER_CONNECTED_EVT
804 */
806 {
807 uint8_t conn_handle; /*!< Proxy connection handle */
808 } proxy_server_connected; /*!< Event parameter of MESHX_PROXY_SERVER_CONNECTED_EVT */
809 /**
810 * @brief MESHX_PROXY_SERVER_DISCONNECTED_EVT
811 */
813 {
814 uint8_t conn_handle; /*!< Proxy connection handle */
815 uint8_t reason; /*!< Proxy disconnect reason */
816 } proxy_server_disconnected; /*!< Event parameter of MESHX_PROXY_SERVER_DISCONNECTED_EVT */
817 /**
818 * @brief MESHX_PROXY_CLIENT_SEND_SOLIC_PDU_COMP_EVT
819 */
820 struct
821 {
822 int err_code; /*!< Indicate the result of Proxy Client send Solicitation PDU */
823 uint16_t net_idx; /*!< Corresponding NetKey Index */
824 uint16_t ssrc; /*!< Solicitation SRC */
825 uint16_t dst; /*!< Solicitation DST */
826 } proxy_client_send_solic_pdu_comp; /*!< Event parameter of MESHX_PROXY_CLIENT_SEND_SOLIC_PDU_COMP_EVT */
827 /**
828 * @brief MESHX_MODEL_SUBSCRIBE_GROUP_ADDR_COMP_EVT
829 */
831 {
832 int err_code; /*!< Indicate the result of local model subscribing group address */
833 uint16_t element_addr; /*!< Element address */
834 uint16_t company_id; /*!< Company ID */
835 uint16_t model_id; /*!< Model ID */
836 uint16_t group_addr; /*!< Group Address */
837 } model_sub_group_addr_comp; /*!< Event parameters of MESHX_MODEL_SUBSCRIBE_GROUP_ADDR_COMP_EVT */
838 /**
839 * @brief MESHX_MODEL_UNSUBSCRIBE_GROUP_ADDR_COMP_EVT
840 */
842 {
843 int err_code; /*!< Indicate the result of local model unsubscribing group address */
844 uint16_t element_addr; /*!< Element address */
845 uint16_t company_id; /*!< Company ID */
846 uint16_t model_id; /*!< Model ID */
847 uint16_t group_addr; /*!< Group Address */
848 } model_unsub_group_addr_comp; /*!< Event parameters of MESHX_MODEL_UNSUBSCRIBE_GROUP_ADDR_COMP_EVT */
849 /**
850 * @brief MESHX_DEINIT_MESH_COMP_EVT
851 */
853 {
854 int err_code; /*!< Indicate the result of BLE Mesh deinitialization */
855 } deinit_mesh_comp; /*!< Event parameter of MESHX_DEINIT_MESH_COMP_EVT */
856} meshx_prov_cb_param_t; /*!< Event parameters of MESHX_DEINIT_MESH_COMP_EVT */
857
863
864/**
865 * @brief Notify the model event to the application.
866 *
867 * @note This API is not to be defined in Platform Port layer and shall be called by the
868 * respective platform event handler to notify the MeshX of a model event.
869 *
870 * This function notifies the application of a model event by invoking the registered
871 * provisioning callback with the provided event parameters.
872 *
873 * @param[in] param Pointer to the event parameters structure.
874 *
875 * @return
876 * - MESHX_SUCCESS: Success
877 * - MESHX_FAIL: Failed to notify model event
878 */
880
881/**
882 * @brief Initialize provisioning parameters.
883 *
884 * This function initializes the provisioning parameters by copying the UUID from the provided
885 * server configuration and registering the provisioning callback.
886 *
887 * @param uuid Pointer to the UUID of the device.
888 *
889 * @return
890 * - MESHX_SUCCESS: Success
891 * - MESHX_FAIL: Failed to register provisioning callback
892 */
894
895/**
896 * @brief Get the provisioning parameters.
897 *
898 * This function returns a pointer to the global provisioning parameters.
899 *
900 * @return Pointer to the global provisioning parameters.
901 */
903
904/**
905 * @brief Checks if the device is provisioned.
906 *
907 * This function returns whether the device has been provisioned.
908 *
909 * @return bool true if provisioned, false otherwise.
910 */
912
913#ifdef __cplusplus
914}
915#endif
916
917#endif /* __MESHX_BLE_MESH_PROV_SRV_H__ */
Common BLE Mesh interface definitions and utility functions.
meshx_input_action_t
Definition meshx_ble_mesh_cmn_def.h:628
#define MESHX_SETTINGS_UID_SIZE
Definition meshx_ble_mesh_cmn_def.h:496
void * meshx_ptr_t
Definition meshx_ble_mesh_cmn_def.h:636
uint8_t meshx_bd_addr_t[6]
Definition meshx_ble_mesh_cmn_def.h:648
unsigned char meshx_addr_type_t
Definition meshx_ble_mesh_cmn_def.h:638
meshx_output_action_t
Definition meshx_ble_mesh_cmn_def.h:618
#define MESHX_BIT(nr)
Definition meshx_ble_mesh_cmn_def.h:22
meshx_oob_method_t
Definition meshx_ble_mesh_cmn_def.h:610
meshx_err_t meshx_plat_init_prov(const uint8_t *uuid)
Initialize provisioning parameters.
control_task_msg_evt_provision_t prov_evt_t
Definition meshx_ble_mesh_prov_srv.h:28
struct meshx_ble_mesh_prov_srv_param meshx_prov_srv_param_t
meshx_prov_bearer_t
Definition meshx_ble_mesh_prov_srv.h:32
@ MESHX_PROV_ADV
Definition meshx_ble_mesh_prov_srv.h:33
@ MESHX_PROV_GATT
Definition meshx_ble_mesh_prov_srv.h:34
meshx_ptr_t meshx_plat_get_prov(void)
Get the provisioning parameters.
control_task_msg_handle_t prov_srv_cb_t
Definition meshx_ble_mesh_prov_srv.h:27
meshx_err_t meshx_prov_srv_notify_plat_event(meshx_prov_srv_param_t *param)
Notify the model event to the application.
Definition meshx_prov_srv.cpp:301
meshx_prov_oob_info_t
Definition meshx_ble_mesh_prov_srv.h:39
@ MESHX_PROV_CERT_BASED
Definition meshx_ble_mesh_prov_srv.h:47
@ MESHX_PROV_OOB_OTHER
Definition meshx_ble_mesh_prov_srv.h:40
@ MESHX_PROV_OOB_2D_CODE
Definition meshx_ble_mesh_prov_srv.h:42
@ MESHX_PROV_RECORDS
Definition meshx_ble_mesh_prov_srv.h:48
@ MESHX_PROV_OOB_ON_BOX
Definition meshx_ble_mesh_prov_srv.h:50
@ MESHX_PROV_OOB_IN_BOX
Definition meshx_ble_mesh_prov_srv.h:51
@ MESHX_PROV_OOB_ON_DEV
Definition meshx_ble_mesh_prov_srv.h:54
@ MESHX_PROV_OOB_NUMBER
Definition meshx_ble_mesh_prov_srv.h:45
@ MESHX_PROV_OOB_NFC
Definition meshx_ble_mesh_prov_srv.h:44
@ MESHX_PROV_OOB_STRING
Definition meshx_ble_mesh_prov_srv.h:46
@ MESHX_PROV_OOB_BAR_CODE
Definition meshx_ble_mesh_prov_srv.h:43
@ MESHX_PROV_OOB_IN_MANUAL
Definition meshx_ble_mesh_prov_srv.h:53
@ MESHX_PROV_OOB_URI
Definition meshx_ble_mesh_prov_srv.h:41
@ MESHX_PROV_OOB_ON_PAPER
Definition meshx_ble_mesh_prov_srv.h:52
bool meshx_prov_srv_is_provisioned(void)
Checks if the device is provisioned.
Definition meshx_prov_srv.cpp:316
Header file for the control task in the BLE mesh node application.
meshx_err_t(* control_task_msg_handle_t)(dev_struct_t *pdev, control_task_msg_evt_t evt, void *params)
Function pointer type for control task message handler.
Definition meshx_control_task.h:188
enum __packed control_task_msg_evt_provision control_task_msg_evt_provision_t
Enumeration for control task provisioning events.
meshx_err_t
MeshX Error Codes.
Definition meshx_err.h:43
Definition meshx_ble_mesh_prov_srv.h:859
meshx_prov_cb_param_t param
Definition meshx_ble_mesh_prov_srv.h:861
uint16_t prov_evt
Definition meshx_ble_mesh_prov_srv.h:860
MESHX_DEINIT_MESH_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:853
int err_code
Definition meshx_ble_mesh_prov_srv.h:854
MESHX_FRIEND_FRIENDSHIP_ESTABLISH_EVT.
Definition meshx_ble_mesh_prov_srv.h:686
uint16_t lpn_addr
Definition meshx_ble_mesh_prov_srv.h:687
MESHX_FRIEND_FRIENDSHIP_TERMINATE_EVT.
Definition meshx_ble_mesh_prov_srv.h:693
@ MESHX_FRND_FRIENDSHIP_TERMINATE_RECV_FRND_CLEAR
Definition meshx_ble_mesh_prov_srv.h:701
@ MESHX_FRND_FRIENDSHIP_TERMINATE_DISABLE
Definition meshx_ble_mesh_prov_srv.h:702
@ MESHX_FRND_FRIENDSHIP_TERMINATE_ESTABLISH_FAIL
Definition meshx_ble_mesh_prov_srv.h:698
@ MESHX_FRND_FRIENDSHIP_TERMINATE_POLL_TIMEOUT
Definition meshx_ble_mesh_prov_srv.h:699
@ MESHX_FRND_FRIENDSHIP_TERMINATE_RECV_FRND_REQ
Definition meshx_ble_mesh_prov_srv.h:700
uint16_t lpn_addr
Definition meshx_ble_mesh_prov_srv.h:694
MESHX_HEARTBEAT_MESSAGE_RECV_EVT.
Definition meshx_ble_mesh_prov_srv.h:643
uint8_t hops
Definition meshx_ble_mesh_prov_srv.h:644
uint16_t feature
Definition meshx_ble_mesh_prov_srv.h:645
MESHX_NODE_PROV_INPUT_EVT.
Definition meshx_ble_mesh_prov_srv.h:124
uint8_t size
Definition meshx_ble_mesh_prov_srv.h:126
meshx_input_action_t action
Definition meshx_ble_mesh_prov_srv.h:125
MESHX_NODE_PROV_INPUT_NUM_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:157
int err_code
Definition meshx_ble_mesh_prov_srv.h:158
MESHX_NODE_PROV_INPUT_STR_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:164
int err_code
Definition meshx_ble_mesh_prov_srv.h:165
MESHX_LPN_DISABLE_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:658
int err_code
Definition meshx_ble_mesh_prov_srv.h:659
MESHX_LPN_ENABLE_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:651
int err_code
Definition meshx_ble_mesh_prov_srv.h:652
MESHX_LPN_FRIENDSHIP_ESTABLISH_EVT.
Definition meshx_ble_mesh_prov_srv.h:672
uint16_t friend_addr
Definition meshx_ble_mesh_prov_srv.h:673
MESHX_LPN_FRIENDSHIP_TERMINATE_EVT.
Definition meshx_ble_mesh_prov_srv.h:679
uint16_t friend_addr
Definition meshx_ble_mesh_prov_srv.h:680
MESHX_LPN_POLL_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:665
int err_code
Definition meshx_ble_mesh_prov_srv.h:666
MESHX_MODEL_SUBSCRIBE_GROUP_ADDR_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:831
uint16_t element_addr
Definition meshx_ble_mesh_prov_srv.h:833
uint16_t model_id
Definition meshx_ble_mesh_prov_srv.h:835
uint16_t company_id
Definition meshx_ble_mesh_prov_srv.h:834
uint16_t group_addr
Definition meshx_ble_mesh_prov_srv.h:836
int err_code
Definition meshx_ble_mesh_prov_srv.h:832
MESHX_MODEL_UNSUBSCRIBE_GROUP_ADDR_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:842
uint16_t company_id
Definition meshx_ble_mesh_prov_srv.h:845
uint16_t model_id
Definition meshx_ble_mesh_prov_srv.h:846
uint16_t group_addr
Definition meshx_ble_mesh_prov_srv.h:847
int err_code
Definition meshx_ble_mesh_prov_srv.h:843
uint16_t element_addr
Definition meshx_ble_mesh_prov_srv.h:844
MESHX_NODE_ADD_LOCAL_APP_KEY_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:214
uint16_t net_idx
Definition meshx_ble_mesh_prov_srv.h:216
uint16_t app_idx
Definition meshx_ble_mesh_prov_srv.h:217
int err_code
Definition meshx_ble_mesh_prov_srv.h:215
MESHX_NODE_ADD_LOCAL_NET_KEY_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:206
int err_code
Definition meshx_ble_mesh_prov_srv.h:207
uint16_t net_idx
Definition meshx_ble_mesh_prov_srv.h:208
MESHX_NODE_BIND_APP_KEY_TO_MODEL_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:223
uint16_t company_id
Definition meshx_ble_mesh_prov_srv.h:227
uint16_t element_addr
Definition meshx_ble_mesh_prov_srv.h:225
uint16_t model_id
Definition meshx_ble_mesh_prov_srv.h:228
int err_code
Definition meshx_ble_mesh_prov_srv.h:224
uint16_t app_idx
Definition meshx_ble_mesh_prov_srv.h:226
MESHX_NODE_PROV_OUTPUT_NUMBER_EVT.
Definition meshx_ble_mesh_prov_srv.h:109
meshx_output_action_t action
Definition meshx_ble_mesh_prov_srv.h:110
uint32_t number
Definition meshx_ble_mesh_prov_srv.h:111
MESHX_NODE_PROV_OUTPUT_STRING_EVT.
Definition meshx_ble_mesh_prov_srv.h:117
MESHX_NODE_PROV_DISABLE_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:87
int err_code
Definition meshx_ble_mesh_prov_srv.h:88
MESHX_NODE_PROV_ENABLE_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:80
int err_code
Definition meshx_ble_mesh_prov_srv.h:81
MESHX_PROV_REGISTER_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:66
int err_code
Definition meshx_ble_mesh_prov_srv.h:67
MESHX_NODE_PROV_COMPLETE_EVT.
Definition meshx_ble_mesh_prov_srv.h:132
uint8_t net_key[16]
Definition meshx_ble_mesh_prov_srv.h:134
uint8_t flags
Definition meshx_ble_mesh_prov_srv.h:136
uint16_t addr
Definition meshx_ble_mesh_prov_srv.h:135
uint32_t iv_index
Definition meshx_ble_mesh_prov_srv.h:137
uint16_t net_idx
Definition meshx_ble_mesh_prov_srv.h:133
MESHX_NODE_PROV_RESET_EVT.
Definition meshx_ble_mesh_prov_srv.h:143
MESHX_PROVISIONER_ADD_LOCAL_APP_KEY_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:461
uint16_t app_idx
Definition meshx_ble_mesh_prov_srv.h:464
uint16_t net_idx
Definition meshx_ble_mesh_prov_srv.h:463
MESHX_PROVISIONER_ADD_LOCAL_NET_KEY_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:490
uint16_t net_idx
Definition meshx_ble_mesh_prov_srv.h:492
MESHX_PROVISIONER_ADD_UNPROV_DEV_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:383
int err_code
Definition meshx_ble_mesh_prov_srv.h:384
MESHX_PROVISIONER_BIND_APP_KEY_TO_MODEL_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:479
uint16_t model_id
Definition meshx_ble_mesh_prov_srv.h:484
uint16_t company_id
Definition meshx_ble_mesh_prov_srv.h:483
uint16_t app_idx
Definition meshx_ble_mesh_prov_srv.h:482
uint16_t element_addr
Definition meshx_ble_mesh_prov_srv.h:481
MESHX_PROVISIONER_CERT_BASED_PROV_START_EVT.
Definition meshx_ble_mesh_prov_srv.h:320
uint16_t link_idx
Definition meshx_ble_mesh_prov_srv.h:321
MESHX_PROVISIONER_DELETE_DEV_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:397
int err_code
Definition meshx_ble_mesh_prov_srv.h:398
MESHX_PROVISIONER_DELETE_NODE_WITH_ADDR_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:522
uint16_t unicast_addr
Definition meshx_ble_mesh_prov_srv.h:524
MESHX_PROVISIONER_DELETE_NODE_WITH_UUID_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:514
uint8_t uuid[16]
Definition meshx_ble_mesh_prov_srv.h:516
MESHX_PROVISIONER_PROV_COMPLETE_EVT.
Definition meshx_ble_mesh_prov_srv.h:309
uint16_t unicast_addr
Definition meshx_ble_mesh_prov_srv.h:312
uint8_t element_num
Definition meshx_ble_mesh_prov_srv.h:313
uint16_t netkey_idx
Definition meshx_ble_mesh_prov_srv.h:314
uint8_t device_uuid[16]
Definition meshx_ble_mesh_prov_srv.h:311
uint16_t node_idx
Definition meshx_ble_mesh_prov_srv.h:310
MESHX_PROVISIONER_PROV_DEV_WITH_ADDR_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:390
MESHX_PROVISIONER_PROV_DISABLE_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:254
int err_code
Definition meshx_ble_mesh_prov_srv.h:255
MESHX_PROVISIONER_PROV_ENABLE_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:247
int err_code
Definition meshx_ble_mesh_prov_srv.h:248
MESHX_PROVISIONER_PROV_INPUT_EVT.
Definition meshx_ble_mesh_prov_srv.h:275
uint8_t link_idx
Definition meshx_ble_mesh_prov_srv.h:279
uint8_t size
Definition meshx_ble_mesh_prov_srv.h:278
meshx_oob_method_t method
Definition meshx_ble_mesh_prov_srv.h:276
meshx_output_action_t action
Definition meshx_ble_mesh_prov_srv.h:277
MESHX_PROVISIONER_PROV_INPUT_NUMBER_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:439
int err_code
Definition meshx_ble_mesh_prov_srv.h:440
MESHX_PROVISIONER_PROV_INPUT_STRING_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:446
int err_code
Definition meshx_ble_mesh_prov_srv.h:447
MESHX_PROVISIONER_PROV_OUTPUT_EVT.
Definition meshx_ble_mesh_prov_srv.h:285
meshx_oob_method_t method
Definition meshx_ble_mesh_prov_srv.h:286
uint32_t number
Definition meshx_ble_mesh_prov_srv.h:294
uint8_t link_idx
Definition meshx_ble_mesh_prov_srv.h:289
meshx_input_action_t action
Definition meshx_ble_mesh_prov_srv.h:287
uint8_t size
Definition meshx_ble_mesh_prov_srv.h:288
MESHX_PROVISIONER_PROV_READ_OOB_PUB_KEY_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:432
MESHX_PROVISIONER_PROV_READ_OOB_PUB_KEY_EVT.
Definition meshx_ble_mesh_prov_srv.h:268
uint8_t link_idx
Definition meshx_ble_mesh_prov_srv.h:269
MESHX_PROVISIONER_PROV_RECORD_RECV_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:336
uint16_t link_idx
Definition meshx_ble_mesh_prov_srv.h:338
uint16_t total_len
Definition meshx_ble_mesh_prov_srv.h:341
uint8_t * record
Definition meshx_ble_mesh_prov_srv.h:342
uint8_t status
Definition meshx_ble_mesh_prov_srv.h:337
uint16_t record_id
Definition meshx_ble_mesh_prov_srv.h:339
uint16_t frag_offset
Definition meshx_ble_mesh_prov_srv.h:340
MESHX_PROVISIONER_RECV_PROV_RECORDS_LIST_EVT.
Definition meshx_ble_mesh_prov_srv.h:327
uint16_t len
Definition meshx_ble_mesh_prov_srv.h:329
uint16_t link_idx
Definition meshx_ble_mesh_prov_srv.h:328
uint8_t * msg
Definition meshx_ble_mesh_prov_srv.h:330
MESHX_PROVISIONER_RECV_UNPROV_ADV_PKT_EVT.
Definition meshx_ble_mesh_prov_srv.h:234
uint8_t dev_uuid[16]
Definition meshx_ble_mesh_prov_srv.h:235
meshx_bd_addr_t addr
Definition meshx_ble_mesh_prov_srv.h:236
meshx_prov_bearer_t bearer
Definition meshx_ble_mesh_prov_srv.h:240
meshx_addr_type_t addr_type
Definition meshx_ble_mesh_prov_srv.h:237
int8_t rssi
Definition meshx_ble_mesh_prov_srv.h:241
uint8_t adv_type
Definition meshx_ble_mesh_prov_srv.h:239
uint16_t oob_info
Definition meshx_ble_mesh_prov_srv.h:238
MESHX_PROVISIONER_SEND_PROV_INVITE_EVT.
Definition meshx_ble_mesh_prov_srv.h:367
uint16_t link_idx
Definition meshx_ble_mesh_prov_srv.h:368
int err_code
Definition meshx_ble_mesh_prov_srv.h:369
MESHX_PROVISIONER_SEND_PROV_RECORD_REQUEST_EVT.
Definition meshx_ble_mesh_prov_srv.h:356
uint16_t record_id
Definition meshx_ble_mesh_prov_srv.h:359
uint16_t max_size
Definition meshx_ble_mesh_prov_srv.h:361
uint16_t frag_offset
Definition meshx_ble_mesh_prov_srv.h:360
uint16_t link_idx
Definition meshx_ble_mesh_prov_srv.h:358
MESHX_PROVISIONER_SEND_PROV_RECORDS_GET_EVT.
Definition meshx_ble_mesh_prov_srv.h:348
uint16_t link_idx
Definition meshx_ble_mesh_prov_srv.h:350
MESHX_PROVISIONER_SET_DEV_UUID_MATCH_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:404
MESHX_PROVISIONER_SET_NODE_NAME_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:453
int err_code
Definition meshx_ble_mesh_prov_srv.h:454
uint16_t node_index
Definition meshx_ble_mesh_prov_srv.h:455
MESHX_PROVISIONER_SET_PRIMARY_ELEM_ADDR_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:425
MESHX_PROVISIONER_SET_PROV_DATA_INFO_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:411
MESHX_PROVISIONER_SET_STATIC_OOB_VALUE_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:418
MESHX_PROVISIONER_STORE_NODE_COMP_DATA_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:506
uint16_t addr
Definition meshx_ble_mesh_prov_srv.h:508
MESHX_PROVISIONER_UPDATE_LOCAL_APP_KEY_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:470
uint16_t app_idx
Definition meshx_ble_mesh_prov_srv.h:473
uint16_t net_idx
Definition meshx_ble_mesh_prov_srv.h:472
MESHX_PROVISIONER_UPDATE_LOCAL_NET_KEY_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:498
uint16_t net_idx
Definition meshx_ble_mesh_prov_srv.h:500
MESHX_PROXY_CLIENT_ADD_FILTER_ADDR_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:779
uint16_t net_idx
Definition meshx_ble_mesh_prov_srv.h:782
uint8_t conn_handle
Definition meshx_ble_mesh_prov_srv.h:781
int err_code
Definition meshx_ble_mesh_prov_srv.h:780
MESHX_PROXY_CLIENT_CONNECT_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:752
uint16_t net_idx
Definition meshx_ble_mesh_prov_srv.h:756
meshx_addr_type_t addr_type
Definition meshx_ble_mesh_prov_srv.h:755
int err_code
Definition meshx_ble_mesh_prov_srv.h:753
meshx_bd_addr_t addr
Definition meshx_ble_mesh_prov_srv.h:754
MESHX_PROXY_CLIENT_CONNECTED_EVT.
Definition meshx_ble_mesh_prov_srv.h:720
meshx_bd_addr_t addr
Definition meshx_ble_mesh_prov_srv.h:721
meshx_addr_type_t addr_type
Definition meshx_ble_mesh_prov_srv.h:722
uint8_t conn_handle
Definition meshx_ble_mesh_prov_srv.h:723
uint16_t net_idx
Definition meshx_ble_mesh_prov_srv.h:724
MESHX_PROXY_CLIENT_DIRECTED_PROXY_CONTROL_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:797
uint8_t conn_handle
Definition meshx_ble_mesh_prov_srv.h:799
int err_code
Definition meshx_ble_mesh_prov_srv.h:798
uint16_t net_idx
Definition meshx_ble_mesh_prov_srv.h:800
MESHX_PROXY_CLIENT_DISCONNECT_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:762
uint8_t conn_handle
Definition meshx_ble_mesh_prov_srv.h:764
int err_code
Definition meshx_ble_mesh_prov_srv.h:763
MESHX_PROXY_CLIENT_DISCONNECTED_EVT.
Definition meshx_ble_mesh_prov_srv.h:730
uint8_t conn_handle
Definition meshx_ble_mesh_prov_srv.h:733
uint16_t net_idx
Definition meshx_ble_mesh_prov_srv.h:734
meshx_addr_type_t addr_type
Definition meshx_ble_mesh_prov_srv.h:732
meshx_bd_addr_t addr
Definition meshx_ble_mesh_prov_srv.h:731
uint8_t reason
Definition meshx_ble_mesh_prov_srv.h:735
MESHX_PROXY_CLIENT_RECV_ADV_PKT_EVT.
Definition meshx_ble_mesh_prov_srv.h:709
int8_t rssi
Definition meshx_ble_mesh_prov_srv.h:714
meshx_addr_type_t addr_type
Definition meshx_ble_mesh_prov_srv.h:711
meshx_bd_addr_t addr
Definition meshx_ble_mesh_prov_srv.h:710
uint8_t net_id[8]
Definition meshx_ble_mesh_prov_srv.h:713
uint16_t net_idx
Definition meshx_ble_mesh_prov_srv.h:712
MESHX_PROXY_CLIENT_RECV_FILTER_STATUS_EVT.
Definition meshx_ble_mesh_prov_srv.h:741
uint8_t conn_handle
Definition meshx_ble_mesh_prov_srv.h:742
uint16_t list_size
Definition meshx_ble_mesh_prov_srv.h:746
uint8_t filter_type
Definition meshx_ble_mesh_prov_srv.h:745
uint16_t net_idx
Definition meshx_ble_mesh_prov_srv.h:744
uint16_t server_addr
Definition meshx_ble_mesh_prov_srv.h:743
MESHX_PROXY_CLIENT_REMOVE_FILTER_ADDR_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:788
uint16_t net_idx
Definition meshx_ble_mesh_prov_srv.h:791
uint8_t conn_handle
Definition meshx_ble_mesh_prov_srv.h:790
MESHX_PROXY_CLIENT_SET_FILTER_TYPE_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:770
uint16_t net_idx
Definition meshx_ble_mesh_prov_srv.h:773
int err_code
Definition meshx_ble_mesh_prov_srv.h:771
uint8_t conn_handle
Definition meshx_ble_mesh_prov_srv.h:772
MESHX_NODE_PROXY_GATT_DISABLE_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:185
int err_code
Definition meshx_ble_mesh_prov_srv.h:186
MESHX_NODE_PROXY_GATT_ENABLE_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:178
int err_code
Definition meshx_ble_mesh_prov_srv.h:179
MESHX_NODE_PROXY_IDENTITY_ENABLE_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:171
int err_code
Definition meshx_ble_mesh_prov_srv.h:172
MESHX_NODE_PRIVATE_PROXY_IDENTITY_DISABLE_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:199
MESHX_NODE_PRIVATE_PROXY_IDENTITY_ENABLE_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:192
MESHX_PROXY_SERVER_CONNECTED_EVT.
Definition meshx_ble_mesh_prov_srv.h:806
uint8_t conn_handle
Definition meshx_ble_mesh_prov_srv.h:807
MESHX_PROXY_SERVER_DISCONNECTED_EVT.
Definition meshx_ble_mesh_prov_srv.h:813
uint8_t reason
Definition meshx_ble_mesh_prov_srv.h:815
uint8_t conn_handle
Definition meshx_ble_mesh_prov_srv.h:814
MESHX_SET_FAST_PROV_ACTION_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:636
uint8_t status_action
Definition meshx_ble_mesh_prov_srv.h:637
MESHX_SET_FAST_PROV_INFO_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:627
uint8_t status_unicast
Definition meshx_ble_mesh_prov_srv.h:628
uint8_t status_net_idx
Definition meshx_ble_mesh_prov_srv.h:629
uint8_t status_match
Definition meshx_ble_mesh_prov_srv.h:630
MESHX_NODE_PROV_SET_OOB_PUB_KEY_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:150
int err_code
Definition meshx_ble_mesh_prov_srv.h:151
MESHX_NODE_SET_UPROV_NAME_COMP_EVT.
Definition meshx_ble_mesh_prov_srv.h:73
int err_code
Definition meshx_ble_mesh_prov_srv.h:74
BLE Mesh Node/Provisioner callback parameters union.
Definition meshx_ble_mesh_prov_srv.h:61
uint8_t init_ttl
Definition meshx_ble_mesh_prov_srv.h:559
uint8_t hops
Definition meshx_ble_mesh_prov_srv.h:561
uint8_t type
Definition meshx_ble_mesh_prov_srv.h:540
uint16_t ssrc
Definition meshx_ble_mesh_prov_srv.h:824
uint16_t net_idx
Definition meshx_ble_mesh_prov_srv.h:823
char uid[20+1]
Definition meshx_ble_mesh_prov_srv.h:587
uint16_t feature
Definition meshx_ble_mesh_prov_srv.h:562
int8_t rssi
Definition meshx_ble_mesh_prov_srv.h:563
uint8_t op
Definition meshx_ble_mesh_prov_srv.h:548
uint8_t rx_ttl
Definition meshx_ble_mesh_prov_srv.h:560
int err_code
Definition meshx_ble_mesh_prov_srv.h:531
uint16_t hb_dst
Definition meshx_ble_mesh_prov_srv.h:550
uint8_t index
Definition meshx_ble_mesh_prov_srv.h:578
uint16_t hb_src
Definition meshx_ble_mesh_prov_srv.h:549
bool enable
Definition meshx_ble_mesh_prov_srv.h:532
uint16_t dst
Definition meshx_ble_mesh_prov_srv.h:825