Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
cfg_cli.h
Go to the documentation of this file.
1
5/*
6 * Copyright (c) 2017 Intel Corporation
7 *
8 * SPDX-License-Identifier: Apache-2.0
9 */
10#ifndef ZEPHYR_INCLUDE_BLUETOOTH_MESH_CFG_CLI_H_
11#define ZEPHYR_INCLUDE_BLUETOOTH_MESH_CFG_CLI_H_
12
20#ifdef __cplusplus
21extern "C" {
22#endif
23
28
29 /* Internal parameters for tracking message responses. */
31};
32
39#define BT_MESH_MODEL_CFG_CLI(cli_data) \
40 BT_MESH_MODEL_CB(BT_MESH_MODEL_ID_CFG_CLI, bt_mesh_cfg_cli_op, NULL, \
41 cli_data, &bt_mesh_cfg_cli_cb)
42
51int bt_mesh_cfg_node_reset(uint16_t net_idx, uint16_t addr, bool *status);
52
69 uint8_t *rsp, struct net_buf_simple *comp);
70
81int bt_mesh_cfg_beacon_get(uint16_t net_idx, uint16_t addr, uint8_t *status);
82
92int bt_mesh_cfg_krp_get(uint16_t net_idx, uint16_t addr, uint16_t key_net_idx,
93 uint8_t *status, uint8_t *phase);
94
106int bt_mesh_cfg_krp_set(uint16_t net_idx, uint16_t addr, uint16_t key_net_idx,
107 uint8_t transition, uint8_t *status, uint8_t *phase);
108
121int bt_mesh_cfg_beacon_set(uint16_t net_idx, uint16_t addr, uint8_t val, uint8_t *status);
122
132
143
155
169int bt_mesh_cfg_friend_set(uint16_t net_idx, uint16_t addr, uint8_t val, uint8_t *status);
170
183
199 uint8_t *status);
200
212 uint8_t *transmit);
213
226 uint8_t val, uint8_t *transmit);
227
242 uint8_t *transmit);
243
263int bt_mesh_cfg_relay_set(uint16_t net_idx, uint16_t addr, uint8_t new_relay,
264 uint8_t new_transmit, uint8_t *status, uint8_t *transmit);
265
276int bt_mesh_cfg_net_key_add(uint16_t net_idx, uint16_t addr, uint16_t key_net_idx,
277 const uint8_t net_key[16], uint8_t *status);
278
292 size_t *key_cnt);
293
304 uint16_t key_net_idx, uint8_t *status);
305
317int bt_mesh_cfg_app_key_add(uint16_t net_idx, uint16_t addr, uint16_t key_net_idx,
318 uint16_t key_app_idx, const uint8_t app_key[16],
319 uint8_t *status);
320
338int bt_mesh_cfg_app_key_get(uint16_t net_idx, uint16_t addr, uint16_t key_net_idx,
339 uint8_t *status, uint16_t *keys, size_t *key_cnt);
340
341
353 uint16_t key_net_idx, uint16_t key_app_idx, uint8_t *status);
354
367 uint16_t mod_app_idx, uint16_t mod_id, uint8_t *status);
368
381 uint16_t elem_addr, uint16_t mod_app_idx,
382 uint16_t mod_id, uint8_t *status);
383
397 uint16_t mod_app_idx, uint16_t mod_id, uint16_t cid,
398 uint8_t *status);
399
413 uint16_t elem_addr, uint16_t mod_app_idx, uint16_t mod_id,
414 uint16_t cid, uint8_t *status);
415
433 uint16_t mod_id, uint8_t *status, uint16_t *apps,
434 size_t *app_cnt);
435
436
455 uint16_t mod_id, uint16_t cid, uint8_t *status,
456 uint16_t *apps, size_t *app_cnt);
457
466#define BT_MESH_PUB_PERIOD_100MS(steps) ((steps) & BIT_MASK(6))
467
476#define BT_MESH_PUB_PERIOD_SEC(steps) (((steps) & BIT_MASK(6)) | (1 << 6))
477
487#define BT_MESH_PUB_PERIOD_10SEC(steps) (((steps) & BIT_MASK(6)) | (2 << 6))
488
498#define BT_MESH_PUB_PERIOD_10MIN(steps) (((steps) & BIT_MASK(6)) | (3 << 6))
499
505 const uint8_t *uuid;
524};
525
538 uint16_t mod_id, struct bt_mesh_cfg_mod_pub *pub,
539 uint8_t *status);
540
554 uint16_t mod_id, uint16_t cid,
555 struct bt_mesh_cfg_mod_pub *pub, uint8_t *status);
556
569 uint16_t mod_id, struct bt_mesh_cfg_mod_pub *pub,
570 uint8_t *status);
571
585 uint16_t mod_id, uint16_t cid,
586 struct bt_mesh_cfg_mod_pub *pub, uint8_t *status);
587
600 uint16_t sub_addr, uint16_t mod_id, uint8_t *status);
601
615 uint16_t sub_addr, uint16_t mod_id, uint16_t cid,
616 uint8_t *status);
617
630 uint16_t sub_addr, uint16_t mod_id, uint8_t *status);
631
645 uint16_t sub_addr, uint16_t mod_id, uint16_t cid,
646 uint8_t *status);
647
664 uint16_t sub_addr, uint16_t mod_id, uint8_t *status);
665
683 uint16_t elem_addr, uint16_t sub_addr,
684 uint16_t mod_id, uint16_t cid, uint8_t *status);
685
699 const uint8_t label[16], uint16_t mod_id,
700 uint16_t *virt_addr, uint8_t *status);
701
716 const uint8_t label[16], uint16_t mod_id,
717 uint16_t cid, uint16_t *virt_addr, uint8_t *status);
718
732 const uint8_t label[16], uint16_t mod_id,
733 uint16_t *virt_addr, uint8_t *status);
734
749 const uint8_t label[16], uint16_t mod_id,
750 uint16_t cid, uint16_t *virt_addr, uint8_t *status);
751
769 uint16_t elem_addr, const uint8_t label[16],
770 uint16_t mod_id, uint16_t *virt_addr,
771 uint8_t *status);
772
791 uint16_t elem_addr, const uint8_t label[16],
792 uint16_t mod_id, uint16_t cid,
793 uint16_t *virt_addr, uint8_t *status);
794
811 uint16_t mod_id, uint8_t *status, uint16_t *subs,
812 size_t *sub_cnt);
813
831 uint16_t mod_id, uint16_t cid, uint8_t *status,
832 uint16_t *subs, size_t *sub_cnt);
833
870};
871
882 struct bt_mesh_cfg_hb_sub *sub, uint8_t *status);
883
894 struct bt_mesh_cfg_hb_sub *sub, uint8_t *status);
895
929};
930
943 const struct bt_mesh_cfg_hb_pub *pub, uint8_t *status);
944
955 struct bt_mesh_cfg_hb_pub *pub, uint8_t *status);
956
968 uint16_t elem_addr, uint16_t mod_id,
969 uint8_t *status);
970
983 uint16_t elem_addr, uint16_t mod_id,
984 uint16_t cid, uint8_t *status);
985
997 uint16_t key_net_idx, const uint8_t net_key[16],
998 uint8_t *status);
999
1012 uint16_t key_net_idx, uint16_t key_app_idx,
1013 const uint8_t app_key[16], uint8_t *status);
1014
1029 uint16_t key_net_idx, uint8_t new_identity,
1030 uint8_t *status, uint8_t *identity);
1031
1045 uint16_t key_net_idx, uint8_t *status,
1046 uint8_t *identity);
1047
1058 uint16_t unicast_addr, int32_t *polltimeout);
1059
1065
1071
1089
1090 struct net_buf_simple *_buf;
1091};
1092
1098 size_t nsig;
1100 size_t nvnd;
1101
1102 uint8_t *_buf;
1103};
1104
1129 struct net_buf_simple *buf);
1130
1144 struct bt_mesh_comp_p0_elem *elem);
1145
1155
1165
1167extern const struct bt_mesh_model_op bt_mesh_cfg_cli_op[];
1168extern const struct bt_mesh_model_cb bt_mesh_cfg_cli_cb;
1171#ifdef __cplusplus
1172}
1173#endif
1178#endif /* ZEPHYR_INCLUDE_BLUETOOTH_MESH_CFG_CLI_H_ */
ZTEST_BMEM int timeout
Definition: main.c:31
int bt_mesh_cfg_net_key_del(uint16_t net_idx, uint16_t addr, uint16_t key_net_idx, uint8_t *status)
Delete a network key from the target node.
int bt_mesh_cfg_mod_sub_del_all_vnd(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, uint16_t mod_id, uint16_t cid, uint8_t *status)
Delete all group addresses in a vendor model's subscription list.
int bt_mesh_cfg_mod_sub_add(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, uint16_t sub_addr, uint16_t mod_id, uint8_t *status)
Add a group address to a SIG model's subscription list.
int bt_mesh_cfg_mod_app_unbind(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, uint16_t mod_app_idx, uint16_t mod_id, uint8_t *status)
Unbind an application from a SIG model on the target node.
int bt_mesh_cfg_mod_app_bind_vnd(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, uint16_t mod_app_idx, uint16_t mod_id, uint16_t cid, uint8_t *status)
Bind an application to a vendor model on the target node.
int bt_mesh_comp_p0_get(struct bt_mesh_comp_p0 *comp, struct net_buf_simple *buf)
Create a composition data page 0 representation from a buffer.
int bt_mesh_cfg_mod_app_unbind_vnd(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, uint16_t mod_app_idx, uint16_t mod_id, uint16_t cid, uint8_t *status)
Unbind an application from a vendor model on the target node.
int bt_mesh_cfg_app_key_get(uint16_t net_idx, uint16_t addr, uint16_t key_net_idx, uint8_t *status, uint16_t *keys, size_t *key_cnt)
Get a list of the target node's application key indexes for a specific network key.
int bt_mesh_cfg_relay_get(uint16_t net_idx, uint16_t addr, uint8_t *status, uint8_t *transmit)
Get the target node's Relay feature state.
int bt_mesh_cfg_net_transmit_set(uint16_t net_idx, uint16_t addr, uint8_t val, uint8_t *transmit)
Set the target node's network transmit parameters.
int bt_mesh_cfg_hb_pub_get(uint16_t net_idx, uint16_t addr, struct bt_mesh_cfg_hb_pub *pub, uint8_t *status)
Get the target node's Heartbeat publication parameters.
int bt_mesh_cfg_mod_pub_get(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, uint16_t mod_id, struct bt_mesh_cfg_mod_pub *pub, uint8_t *status)
Get publish parameters for a SIG model on the target node.
int bt_mesh_cfg_beacon_set(uint16_t net_idx, uint16_t addr, uint8_t val, uint8_t *status)
Set the target node's network beacon state.
int bt_mesh_cfg_mod_sub_get_vnd(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, uint16_t mod_id, uint16_t cid, uint8_t *status, uint16_t *subs, size_t *sub_cnt)
Get the subscription list of a vendor model on the target node.
int bt_mesh_cfg_mod_sub_overwrite_vnd(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, uint16_t sub_addr, uint16_t mod_id, uint16_t cid, uint8_t *status)
Overwrite all addresses in a vendor model's subscription list with a group address.
int bt_mesh_cfg_relay_set(uint16_t net_idx, uint16_t addr, uint8_t new_relay, uint8_t new_transmit, uint8_t *status, uint8_t *transmit)
Set the target node's Relay parameters.
int bt_mesh_cfg_lpn_timeout_get(uint16_t net_idx, uint16_t addr, uint16_t unicast_addr, int32_t *polltimeout)
Get the Low Power Node Polltimeout parameters.
int bt_mesh_cfg_mod_app_bind(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, uint16_t mod_app_idx, uint16_t mod_id, uint8_t *status)
Bind an application to a SIG model on the target node.
int bt_mesh_cfg_net_key_add(uint16_t net_idx, uint16_t addr, uint16_t key_net_idx, const uint8_t net_key[16], uint8_t *status)
Add a network key to the target node.
int bt_mesh_cfg_ttl_set(uint16_t net_idx, uint16_t addr, uint8_t val, uint8_t *ttl)
Set the target node's Time To Live value.
int bt_mesh_cfg_net_key_get(uint16_t net_idx, uint16_t addr, uint16_t *keys, size_t *key_cnt)
Get a list of the target node's network key indexes.
struct bt_mesh_mod_id_vnd bt_mesh_comp_p0_elem_mod_vnd(struct bt_mesh_comp_p0_elem *elem, int idx)
Get a vendor model from the given composition data page 0 element.
int bt_mesh_cfg_friend_set(uint16_t net_idx, uint16_t addr, uint8_t val, uint8_t *status)
Set the target node's Friend feature state.
int bt_mesh_cfg_beacon_get(uint16_t net_idx, uint16_t addr, uint8_t *status)
Get the target node's network beacon state.
int bt_mesh_cfg_net_transmit_get(uint16_t net_idx, uint16_t addr, uint8_t *transmit)
Get the target node's network_transmit state.
int bt_mesh_cfg_gatt_proxy_get(uint16_t net_idx, uint16_t addr, uint8_t *status)
Get the target node's Proxy feature state.
int bt_mesh_cfg_mod_sub_add_vnd(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, uint16_t sub_addr, uint16_t mod_id, uint16_t cid, uint8_t *status)
Add a group address to a vendor model's subscription list.
int bt_mesh_cfg_node_identity_get(uint16_t net_idx, uint16_t addr, uint16_t key_net_idx, uint8_t *status, uint8_t *identity)
Get the Node Identity parameters.
int bt_mesh_cfg_gatt_proxy_set(uint16_t net_idx, uint16_t addr, uint8_t val, uint8_t *status)
Set the target node's Proxy feature state.
int bt_mesh_cfg_hb_sub_set(uint16_t net_idx, uint16_t addr, struct bt_mesh_cfg_hb_sub *sub, uint8_t *status)
Set the target node's Heartbeat subscription parameters.
int bt_mesh_cfg_mod_sub_va_add_vnd(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, const uint8_t label[16], uint16_t mod_id, uint16_t cid, uint16_t *virt_addr, uint8_t *status)
Add a virtual address to a vendor model's subscription list.
int bt_mesh_cfg_friend_get(uint16_t net_idx, uint16_t addr, uint8_t *status)
Get the target node's Friend feature status.
int bt_mesh_cfg_ttl_get(uint16_t net_idx, uint16_t addr, uint8_t *ttl)
Get the target node's Time To Live value.
int bt_mesh_cfg_krp_set(uint16_t net_idx, uint16_t addr, uint16_t key_net_idx, uint8_t transition, uint8_t *status, uint8_t *phase)
Set the target node's network key refresh phase parameters.
void bt_mesh_cfg_cli_timeout_set(int32_t timeout)
Set the transmission timeout value.
int bt_mesh_cfg_app_key_add(uint16_t net_idx, uint16_t addr, uint16_t key_net_idx, uint16_t key_app_idx, const uint8_t app_key[16], uint8_t *status)
Add an application key to the target node.
int bt_mesh_cfg_mod_pub_get_vnd(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, uint16_t mod_id, uint16_t cid, struct bt_mesh_cfg_mod_pub *pub, uint8_t *status)
Get publish parameters for a vendor model on the target node.
int bt_mesh_cfg_mod_sub_va_add(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, const uint8_t label[16], uint16_t mod_id, uint16_t *virt_addr, uint8_t *status)
Add a virtual address to a SIG model's subscription list.
int bt_mesh_cfg_node_reset(uint16_t net_idx, uint16_t addr, bool *status)
Reset the target node and remove it from the network.
int bt_mesh_cfg_mod_sub_overwrite(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, uint16_t sub_addr, uint16_t mod_id, uint8_t *status)
Overwrite all addresses in a SIG model's subscription list with a group address.
int bt_mesh_cfg_mod_sub_va_del_vnd(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, const uint8_t label[16], uint16_t mod_id, uint16_t cid, uint16_t *virt_addr, uint8_t *status)
Delete a virtual address in a vendor model's subscription list.
struct bt_mesh_comp_p0_elem * bt_mesh_comp_p0_elem_pull(const struct bt_mesh_comp_p0 *comp, struct bt_mesh_comp_p0_elem *elem)
Pull a composition data page 0 element from a composition data page 0 instance.
int bt_mesh_cfg_mod_pub_set_vnd(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, uint16_t mod_id, uint16_t cid, struct bt_mesh_cfg_mod_pub *pub, uint8_t *status)
Set publish parameters for a vendor model on the target node.
int bt_mesh_cfg_mod_sub_va_overwrite(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, const uint8_t label[16], uint16_t mod_id, uint16_t *virt_addr, uint8_t *status)
Overwrite all addresses in a SIG model's subscription list with a virtual address.
int bt_mesh_cfg_krp_get(uint16_t net_idx, uint16_t addr, uint16_t key_net_idx, uint8_t *status, uint8_t *phase)
Get the target node's network key refresh phase state.
uint16_t bt_mesh_comp_p0_elem_mod(struct bt_mesh_comp_p0_elem *elem, int idx)
Get a SIG model from the given composition data page 0 element.
int bt_mesh_cfg_mod_sub_del(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, uint16_t sub_addr, uint16_t mod_id, uint8_t *status)
Delete a group address in a SIG model's subscription list.
int bt_mesh_cfg_mod_sub_del_vnd(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, uint16_t sub_addr, uint16_t mod_id, uint16_t cid, uint8_t *status)
Delete a group address in a vendor model's subscription list.
int bt_mesh_cfg_hb_sub_get(uint16_t net_idx, uint16_t addr, struct bt_mesh_cfg_hb_sub *sub, uint8_t *status)
Get the target node's Heartbeta subscription parameters.
int bt_mesh_cfg_net_key_update(uint16_t net_idx, uint16_t addr, uint16_t key_net_idx, const uint8_t net_key[16], uint8_t *status)
Update a network key to the target node.
int bt_mesh_cfg_mod_sub_del_all(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, uint16_t mod_id, uint8_t *status)
Delete all group addresses in a SIG model's subscription list.
int bt_mesh_cfg_mod_app_get_vnd(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, uint16_t mod_id, uint16_t cid, uint8_t *status, uint16_t *apps, size_t *app_cnt)
Get a list of all applications bound to a vendor model on the target node.
int bt_mesh_cfg_mod_pub_set(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, uint16_t mod_id, struct bt_mesh_cfg_mod_pub *pub, uint8_t *status)
Set publish parameters for a SIG model on the target node.
int bt_mesh_cfg_node_identity_set(uint16_t net_idx, uint16_t addr, uint16_t key_net_idx, uint8_t new_identity, uint8_t *status, uint8_t *identity)
Set the Node Identity parameters.
int bt_mesh_cfg_mod_sub_va_del(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, const uint8_t label[16], uint16_t mod_id, uint16_t *virt_addr, uint8_t *status)
Delete a virtual address in a SIG model's subscription list.
int bt_mesh_cfg_app_key_del(uint16_t net_idx, uint16_t addr, uint16_t key_net_idx, uint16_t key_app_idx, uint8_t *status)
Delete an application key from the target node.
int bt_mesh_cfg_comp_data_get(uint16_t net_idx, uint16_t addr, uint8_t page, uint8_t *rsp, struct net_buf_simple *comp)
Get the target node's composition data.
int bt_mesh_cfg_hb_pub_set(uint16_t net_idx, uint16_t addr, const struct bt_mesh_cfg_hb_pub *pub, uint8_t *status)
Set the target node's Heartbeat publication parameters.
int bt_mesh_cfg_app_key_update(uint16_t net_idx, uint16_t addr, uint16_t key_net_idx, uint16_t key_app_idx, const uint8_t app_key[16], uint8_t *status)
Update an application key to the target node.
int bt_mesh_cfg_mod_sub_get(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, uint16_t mod_id, uint8_t *status, uint16_t *subs, size_t *sub_cnt)
Get the subscription list of a SIG model on the target node.
int bt_mesh_cfg_mod_app_get(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, uint16_t mod_id, uint8_t *status, uint16_t *apps, size_t *app_cnt)
Get a list of all applications bound to a SIG model on the target node.
int32_t bt_mesh_cfg_cli_timeout_get(void)
Get the current transmission timeout value.
int bt_mesh_cfg_mod_sub_va_overwrite_vnd(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, const uint8_t label[16], uint16_t mod_id, uint16_t cid, uint16_t *virt_addr, uint8_t *status)
Overwrite all addresses in a vendor model's subscription list with a virtual address.
__INT32_TYPE__ int32_t
Definition: stdint.h:44
__UINT8_TYPE__ uint8_t
Definition: stdint.h:58
__UINT16_TYPE__ uint16_t
Definition: stdint.h:59
Definition: cfg_cli.h:25
struct bt_mesh_msg_ack_ctx ack_ctx
Definition: cfg_cli.h:30
struct bt_mesh_model * model
Definition: cfg_cli.h:27
Definition: cfg_cli.h:897
uint8_t count
Definition: cfg_cli.h:911
uint16_t dst
Definition: cfg_cli.h:899
uint8_t ttl
Definition: cfg_cli.h:919
uint16_t net_idx
Definition: cfg_cli.h:928
uint8_t period
Definition: cfg_cli.h:917
uint16_t feat
Definition: cfg_cli.h:926
Definition: cfg_cli.h:835
uint8_t min
Definition: cfg_cli.h:861
uint8_t count
Definition: cfg_cli.h:853
uint16_t src
Definition: cfg_cli.h:837
uint8_t max
Definition: cfg_cli.h:869
uint8_t period
Definition: cfg_cli.h:845
uint16_t dst
Definition: cfg_cli.h:839
Definition: cfg_cli.h:501
uint8_t ttl
Definition: cfg_cli.h:511
uint16_t app_idx
Definition: cfg_cli.h:507
uint16_t addr
Definition: cfg_cli.h:503
bool cred_flag
Definition: cfg_cli.h:509
uint8_t period
Definition: cfg_cli.h:518
uint8_t transmit
Definition: cfg_cli.h:523
const uint8_t * uuid
Definition: cfg_cli.h:505
Definition: cfg_cli.h:1094
size_t nsig
Definition: cfg_cli.h:1098
size_t nvnd
Definition: cfg_cli.h:1100
uint16_t loc
Definition: cfg_cli.h:1096
Definition: cfg_cli.h:1078
uint16_t pid
Definition: cfg_cli.h:1082
uint16_t feat
Definition: cfg_cli.h:1088
uint16_t vid
Definition: cfg_cli.h:1084
uint16_t crpl
Definition: cfg_cli.h:1086
uint16_t cid
Definition: cfg_cli.h:1080
Definition: access.h:475
Definition: access.h:415
Definition: access.h:165
Definition: access.h:483
Definition: msg.h:117
Simple network buffer representation.
Definition: buf.h:87