Zephyr Project API 3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
cfg.h
Go to the documentation of this file.
1
5/*
6 * Copyright (c) 2020 Nordic Semiconductor
7 *
8 * SPDX-License-Identifier: Apache-2.0
9 */
10#ifndef ZEPHYR_INCLUDE_BLUETOOTH_MESH_CFG_H_
11#define ZEPHYR_INCLUDE_BLUETOOTH_MESH_CFG_H_
12
13#include <stdbool.h>
14#include <stddef.h>
15
16#include <sys/types.h>
17
25#ifdef __cplusplus
26extern "C" {
27#endif
28
38
39/* Key Refresh Phase */
40#define BT_MESH_KR_NORMAL 0x00
41#define BT_MESH_KR_PHASE_1 0x01
42#define BT_MESH_KR_PHASE_2 0x02
43#define BT_MESH_KR_PHASE_3 0x03
44
45/* Legacy feature defines */
46#define BT_MESH_RELAY_DISABLED BT_MESH_FEATURE_DISABLED
47#define BT_MESH_RELAY_ENABLED BT_MESH_FEATURE_ENABLED
48#define BT_MESH_RELAY_NOT_SUPPORTED BT_MESH_FEATURE_NOT_SUPPORTED
49
50#define BT_MESH_BEACON_DISABLED BT_MESH_FEATURE_DISABLED
51#define BT_MESH_BEACON_ENABLED BT_MESH_FEATURE_ENABLED
52
53#define BT_MESH_PRIV_BEACON_DISABLED BT_MESH_FEATURE_DISABLED
54#define BT_MESH_PRIV_BEACON_ENABLED BT_MESH_FEATURE_ENABLED
55
56#define BT_MESH_GATT_PROXY_DISABLED BT_MESH_FEATURE_DISABLED
57#define BT_MESH_GATT_PROXY_ENABLED BT_MESH_FEATURE_ENABLED
58#define BT_MESH_GATT_PROXY_NOT_SUPPORTED BT_MESH_FEATURE_NOT_SUPPORTED
59
60#define BT_MESH_PRIV_GATT_PROXY_DISABLED BT_MESH_FEATURE_DISABLED
61#define BT_MESH_PRIV_GATT_PROXY_ENABLED BT_MESH_FEATURE_ENABLED
62#define BT_MESH_PRIV_GATT_PROXY_NOT_SUPPORTED BT_MESH_FEATURE_NOT_SUPPORTED
63
64#define BT_MESH_FRIEND_DISABLED BT_MESH_FEATURE_DISABLED
65#define BT_MESH_FRIEND_ENABLED BT_MESH_FEATURE_ENABLED
66#define BT_MESH_FRIEND_NOT_SUPPORTED BT_MESH_FEATURE_NOT_SUPPORTED
67
68#define BT_MESH_NODE_IDENTITY_STOPPED BT_MESH_FEATURE_DISABLED
69#define BT_MESH_NODE_IDENTITY_RUNNING BT_MESH_FEATURE_ENABLED
70#define BT_MESH_NODE_IDENTITY_NOT_SUPPORTED BT_MESH_FEATURE_NOT_SUPPORTED
71
76void bt_mesh_beacon_set(bool beacon);
77
83
99
105
116
127
141
147
154
171
183
192
215
221
231
253
259
276
282
301
307
330
351
366
374
395
405
430 enum bt_mesh_feat_state node_id);
431
441 enum bt_mesh_feat_state *node_id);
442
469 enum bt_mesh_feat_state priv_node_id);
470
480 enum bt_mesh_feat_state *priv_node_id);
481
503ssize_t bt_mesh_subnets_get(uint16_t net_idxs[], size_t max, off_t skip);
504
539 const uint8_t key[16]);
540
566 const uint8_t key[16]);
567
581
589
614ssize_t bt_mesh_app_keys_get(uint16_t net_idx, uint16_t app_idxs[], size_t max,
615 off_t skip);
616
621#ifdef __cplusplus
622}
623#endif
624
629#endif /* ZEPHYR_INCLUDE_BLUETOOTH_MESH_CFG_H_ */
uint8_t bt_mesh_app_key_add(uint16_t app_idx, uint16_t net_idx, const uint8_t key[16])
Add an Application key.
bool bt_mesh_app_key_exists(uint16_t app_idx)
Check if an Application key is known.
uint8_t bt_mesh_app_key_update(uint16_t app_idx, uint16_t net_idx, const uint8_t key[16])
Update an Application key.
uint8_t bt_mesh_app_key_del(uint16_t app_idx, uint16_t net_idx)
Delete an Application key.
ssize_t bt_mesh_app_keys_get(uint16_t net_idx, uint16_t app_idxs[], size_t max, off_t skip)
Get a list of all known Application key indexes.
ssize_t bt_mesh_subnets_get(uint16_t net_idxs[], size_t max, off_t skip)
Get a list of all known Subnet indexes.
uint8_t bt_mesh_subnet_update(uint16_t net_idx, const uint8_t key[16])
Update the given Subnet.
uint8_t bt_mesh_subnet_priv_node_id_get(uint16_t net_idx, enum bt_mesh_feat_state *priv_node_id)
Get the Private Node Identity state of the Subnet.
uint8_t bt_mesh_subnet_node_id_set(uint16_t net_idx, enum bt_mesh_feat_state node_id)
Set the Node Identity state of the Subnet.
uint8_t bt_mesh_subnet_priv_node_id_set(uint16_t net_idx, enum bt_mesh_feat_state priv_node_id)
Set the Private Node Identity state of the Subnet.
uint8_t bt_mesh_subnet_node_id_get(uint16_t net_idx, enum bt_mesh_feat_state *node_id)
Get the Node Identity state of the Subnet.
uint8_t bt_mesh_subnet_add(uint16_t net_idx, const uint8_t key[16])
Add a Subnet.
uint8_t bt_mesh_subnet_kr_phase_get(uint16_t net_idx, uint8_t *phase)
Get the Subnet's Key Refresh phase.
bool bt_mesh_subnet_exists(uint16_t net_idx)
Check whether a Subnet is known.
uint8_t bt_mesh_subnet_del(uint16_t net_idx)
Delete a Subnet.
uint8_t bt_mesh_subnet_kr_phase_set(uint16_t net_idx, uint8_t *phase)
Set the Subnet's Key Refresh phase.
void bt_mesh_priv_beacon_update_interval_set(uint8_t interval)
Set the current Mesh Private beacon update interval.
enum bt_mesh_feat_state bt_mesh_priv_gatt_proxy_get(void)
Get the current Private GATT Proxy state.
uint8_t bt_mesh_net_transmit_get(void)
Get the current Network Transmit parameters.
bt_mesh_feat_state
Bluetooth Mesh feature states.
Definition cfg.h:30
void bt_mesh_beacon_set(bool beacon)
Enable or disable sending of the Secure Network Beacon.
int bt_mesh_priv_beacon_set(enum bt_mesh_feat_state priv_beacon)
Enable or disable sending of the Mesh Private beacon.
int bt_mesh_od_priv_proxy_get(void)
Get the current Mesh On-Demand Private Proxy state.
int bt_mesh_od_priv_proxy_set(uint8_t on_demand_proxy)
Set state of Mesh On-Demand Private Proxy.
enum bt_mesh_feat_state bt_mesh_priv_beacon_get(void)
Get the current Mesh Private beacon state.
int bt_mesh_priv_gatt_proxy_set(enum bt_mesh_feat_state priv_gatt_proxy)
Enable or disable the Private GATT Proxy feature.
bool bt_mesh_beacon_enabled(void)
Get the current Secure Network Beacon state.
int bt_mesh_friend_set(enum bt_mesh_feat_state friendship)
Enable or disable the Friend feature.
enum bt_mesh_feat_state bt_mesh_gatt_proxy_get(void)
Get the current GATT Proxy state.
void bt_mesh_net_transmit_set(uint8_t xmit)
Set the Network Transmit parameters.
uint8_t bt_mesh_default_ttl_get(void)
Get the current default TTL value.
int bt_mesh_gatt_proxy_set(enum bt_mesh_feat_state gatt_proxy)
Enable or disable the GATT Proxy feature.
int bt_mesh_default_ttl_set(uint8_t default_ttl)
Set the default TTL value.
enum bt_mesh_feat_state bt_mesh_friend_get(void)
Get the current Friend state.
int bt_mesh_relay_set(enum bt_mesh_feat_state relay, uint8_t xmit)
Configure the Relay feature.
enum bt_mesh_feat_state bt_mesh_relay_get(void)
Get the current Relay feature state.
uint8_t bt_mesh_relay_retransmit_get(void)
Get the current Relay Retransmit parameters.
uint8_t bt_mesh_priv_beacon_update_interval_get(void)
Get the current Mesh Private beacon update interval.
@ BT_MESH_FEATURE_DISABLED
Feature is supported, but disabled.
Definition cfg.h:32
@ BT_MESH_FEATURE_NOT_SUPPORTED
Feature is not supported, and cannot be enabled.
Definition cfg.h:36
@ BT_MESH_FEATURE_ENABLED
Feature is supported and enabled.
Definition cfg.h:34
__SIZE_TYPE__ ssize_t
Definition types.h:28
__INTPTR_TYPE__ off_t
Definition types.h:36
static k_spinlock_key_t key
Definition spinlock_error_case.c:15
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
__UINT16_TYPE__ uint16_t
Definition stdint.h:89