Zephyr API Documentation  3.0.0
A Scalable Open Source RTOS
3.0.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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
73 uint8_t *rsp, struct net_buf_simple *comp);
74
89int bt_mesh_cfg_beacon_get(uint16_t net_idx, uint16_t addr, uint8_t *status);
90
105int bt_mesh_cfg_krp_get(uint16_t net_idx, uint16_t addr, uint16_t key_net_idx,
106 uint8_t *status, uint8_t *phase);
107
124int bt_mesh_cfg_krp_set(uint16_t net_idx, uint16_t addr, uint16_t key_net_idx,
125 uint8_t transition, uint8_t *status, uint8_t *phase);
126
143int bt_mesh_cfg_beacon_set(uint16_t net_idx, uint16_t addr, uint8_t val, uint8_t *status);
144
158
173
189
207int bt_mesh_cfg_friend_set(uint16_t net_idx, uint16_t addr, uint8_t val, uint8_t *status);
208
225
245 uint8_t *status);
246
262 uint8_t *transmit);
263
280 uint8_t val, uint8_t *transmit);
281
300 uint8_t *transmit);
301
325int bt_mesh_cfg_relay_set(uint16_t net_idx, uint16_t addr, uint8_t new_relay,
326 uint8_t new_transmit, uint8_t *status, uint8_t *transmit);
327
342int bt_mesh_cfg_net_key_add(uint16_t net_idx, uint16_t addr, uint16_t key_net_idx,
343 const uint8_t net_key[16], uint8_t *status);
344
362 size_t *key_cnt);
363
378 uint16_t key_net_idx, uint8_t *status);
379
395int bt_mesh_cfg_app_key_add(uint16_t net_idx, uint16_t addr, uint16_t key_net_idx,
396 uint16_t key_app_idx, const uint8_t app_key[16],
397 uint8_t *status);
398
420int bt_mesh_cfg_app_key_get(uint16_t net_idx, uint16_t addr, uint16_t key_net_idx,
421 uint8_t *status, uint16_t *keys, size_t *key_cnt);
422
423
439 uint16_t key_net_idx, uint16_t key_app_idx, uint8_t *status);
440
457 uint16_t mod_app_idx, uint16_t mod_id, uint8_t *status);
458
475 uint16_t elem_addr, uint16_t mod_app_idx,
476 uint16_t mod_id, uint8_t *status);
477
495 uint16_t mod_app_idx, uint16_t mod_id, uint16_t cid,
496 uint8_t *status);
497
515 uint16_t elem_addr, uint16_t mod_app_idx, uint16_t mod_id,
516 uint16_t cid, uint8_t *status);
517
539 uint16_t mod_id, uint8_t *status, uint16_t *apps,
540 size_t *app_cnt);
541
542
565 uint16_t mod_id, uint16_t cid, uint8_t *status,
566 uint16_t *apps, size_t *app_cnt);
567
576#define BT_MESH_PUB_PERIOD_100MS(steps) ((steps) & BIT_MASK(6))
577
586#define BT_MESH_PUB_PERIOD_SEC(steps) (((steps) & BIT_MASK(6)) | (1 << 6))
587
597#define BT_MESH_PUB_PERIOD_10SEC(steps) (((steps) & BIT_MASK(6)) | (2 << 6))
598
608#define BT_MESH_PUB_PERIOD_10MIN(steps) (((steps) & BIT_MASK(6)) | (3 << 6))
609
615 const uint8_t *uuid;
634};
635
652 uint16_t mod_id, struct bt_mesh_cfg_mod_pub *pub,
653 uint8_t *status);
654
672 uint16_t mod_id, uint16_t cid,
673 struct bt_mesh_cfg_mod_pub *pub, uint8_t *status);
674
693 uint16_t mod_id, struct bt_mesh_cfg_mod_pub *pub,
694 uint8_t *status);
695
715 uint16_t mod_id, uint16_t cid,
716 struct bt_mesh_cfg_mod_pub *pub, uint8_t *status);
717
734 uint16_t sub_addr, uint16_t mod_id, uint8_t *status);
735
753 uint16_t sub_addr, uint16_t mod_id, uint16_t cid,
754 uint8_t *status);
755
772 uint16_t sub_addr, uint16_t mod_id, uint8_t *status);
773
791 uint16_t sub_addr, uint16_t mod_id, uint16_t cid,
792 uint8_t *status);
793
814 uint16_t sub_addr, uint16_t mod_id, uint8_t *status);
815
837 uint16_t elem_addr, uint16_t sub_addr,
838 uint16_t mod_id, uint16_t cid, uint8_t *status);
839
857 const uint8_t label[16], uint16_t mod_id,
858 uint16_t *virt_addr, uint8_t *status);
859
878 const uint8_t label[16], uint16_t mod_id,
879 uint16_t cid, uint16_t *virt_addr, uint8_t *status);
880
898 const uint8_t label[16], uint16_t mod_id,
899 uint16_t *virt_addr, uint8_t *status);
900
919 const uint8_t label[16], uint16_t mod_id,
920 uint16_t cid, uint16_t *virt_addr, uint8_t *status);
921
943 uint16_t elem_addr, const uint8_t label[16],
944 uint16_t mod_id, uint16_t *virt_addr,
945 uint8_t *status);
946
969 uint16_t elem_addr, const uint8_t label[16],
970 uint16_t mod_id, uint16_t cid,
971 uint16_t *virt_addr, uint8_t *status);
972
993 uint16_t mod_id, uint8_t *status, uint16_t *subs,
994 size_t *sub_cnt);
995
1017 uint16_t mod_id, uint16_t cid, uint8_t *status,
1018 uint16_t *subs, size_t *sub_cnt);
1019
1056};
1057
1074 struct bt_mesh_cfg_hb_sub *sub, uint8_t *status);
1075
1090 struct bt_mesh_cfg_hb_sub *sub, uint8_t *status);
1091
1125};
1126
1145 const struct bt_mesh_cfg_hb_pub *pub, uint8_t *status);
1146
1161 struct bt_mesh_cfg_hb_pub *pub, uint8_t *status);
1162
1178 uint16_t elem_addr, uint16_t mod_id,
1179 uint8_t *status);
1180
1197 uint16_t elem_addr, uint16_t mod_id,
1198 uint16_t cid, uint8_t *status);
1199
1215 uint16_t key_net_idx, const uint8_t net_key[16],
1216 uint8_t *status);
1217
1234 uint16_t key_net_idx, uint16_t key_app_idx,
1235 const uint8_t app_key[16], uint8_t *status);
1236
1255 uint16_t key_net_idx, uint8_t new_identity,
1256 uint8_t *status, uint8_t *identity);
1257
1275 uint16_t key_net_idx, uint8_t *status,
1276 uint8_t *identity);
1277
1292 uint16_t unicast_addr, int32_t *polltimeout);
1293
1299
1305
1323
1324 struct net_buf_simple *_buf;
1325};
1326
1332 size_t nsig;
1334 size_t nvnd;
1335
1336 uint8_t *_buf;
1337};
1338
1363 struct net_buf_simple *buf);
1364
1378 struct bt_mesh_comp_p0_elem *elem);
1379
1389
1399
1401extern const struct bt_mesh_model_op bt_mesh_cfg_cli_op[];
1402extern const struct bt_mesh_model_cb bt_mesh_cfg_cli_cb;
1405#ifdef __cplusplus
1406}
1407#endif
1412#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:1093
uint8_t count
Definition: cfg_cli.h:1107
uint16_t dst
Definition: cfg_cli.h:1095
uint8_t ttl
Definition: cfg_cli.h:1115
uint16_t net_idx
Definition: cfg_cli.h:1124
uint8_t period
Definition: cfg_cli.h:1113
uint16_t feat
Definition: cfg_cli.h:1122
Definition: cfg_cli.h:1021
uint8_t min
Definition: cfg_cli.h:1047
uint8_t count
Definition: cfg_cli.h:1039
uint16_t src
Definition: cfg_cli.h:1023
uint8_t max
Definition: cfg_cli.h:1055
uint8_t period
Definition: cfg_cli.h:1031
uint16_t dst
Definition: cfg_cli.h:1025
Definition: cfg_cli.h:611
uint8_t ttl
Definition: cfg_cli.h:621
uint16_t app_idx
Definition: cfg_cli.h:617
uint16_t addr
Definition: cfg_cli.h:613
bool cred_flag
Definition: cfg_cli.h:619
uint8_t period
Definition: cfg_cli.h:628
uint8_t transmit
Definition: cfg_cli.h:633
const uint8_t * uuid
Definition: cfg_cli.h:615
Definition: cfg_cli.h:1328
size_t nsig
Definition: cfg_cli.h:1332
size_t nvnd
Definition: cfg_cli.h:1334
uint16_t loc
Definition: cfg_cli.h:1330
Definition: cfg_cli.h:1312
uint16_t pid
Definition: cfg_cli.h:1316
uint16_t feat
Definition: cfg_cli.h:1322
uint16_t vid
Definition: cfg_cli.h:1318
uint16_t crpl
Definition: cfg_cli.h:1320
uint16_t cid
Definition: cfg_cli.h:1314
Definition: access.h:502
Definition: access.h:442
Definition: access.h:165
Definition: access.h:510
Definition: msg.h:117
Simple network buffer representation.
Definition: buf.h:83