Zephyr API 3.6.99
Loading...
Searching...
No Matches
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#include <stdint.h>
21#include <stdbool.h>
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27struct bt_mesh_cfg_cli;
31
34
48 void (*comp_data)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t page,
49 struct net_buf_simple *buf);
50
63 void (*mod_pub_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t status,
64 uint16_t elem_addr, uint16_t mod_id, uint16_t cid,
65 struct bt_mesh_cfg_cli_mod_pub *pub);
66
78 void (*mod_sub_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr,
79 uint8_t status, uint16_t elem_addr,
80 uint16_t sub_addr, uint32_t mod_id);
81
98 void (*mod_sub_list)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t status,
99 uint16_t elem_addr, uint16_t mod_id, uint16_t cid,
100 struct net_buf_simple *buf);
101
109 void (*node_reset_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr);
110
119 void (*beacon_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr,
120 uint8_t status);
121
130 void (*ttl_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr,
131 uint8_t status);
132
141 void (*friend_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr,
142 uint8_t status);
143
152 void (*gatt_proxy_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr,
153 uint8_t status);
154
164 uint8_t status);
165
175 void (*relay_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr,
176 uint8_t status, uint8_t transmit);
177
187 void (*net_key_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr,
188 uint8_t status, uint16_t net_idx);
189
201 void (*net_key_list)(struct bt_mesh_cfg_cli *cli, uint16_t addr,
202 struct net_buf_simple *buf);
203
214 void (*app_key_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr,
215 uint8_t status, uint16_t net_idx,
216 uint16_t app_idx);
217
231 void (*app_key_list)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t status,
232 uint16_t net_idx, struct net_buf_simple *buf);
233
245 void (*mod_app_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr,
246 uint8_t status, uint16_t elem_addr,
247 uint16_t app_idx, uint32_t mod_id);
248
264 void (*mod_app_list)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t status,
265 uint16_t elem_addr, uint16_t mod_id, uint16_t cid,
266 struct net_buf_simple *buf);
267
279 uint8_t status, uint16_t net_idx,
280 uint8_t identity);
281
291 void (*lpn_timeout_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr,
292 uint16_t elem_addr, uint32_t timeout);
293
304 void (*krp_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t status,
305 uint16_t net_idx, uint8_t phase);
306
316 void (*hb_pub_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t status,
317 struct bt_mesh_cfg_cli_hb_pub *pub);
318
328 void (*hb_sub_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t status,
329 struct bt_mesh_cfg_cli_hb_sub *sub);
330};
331
335 const struct bt_mesh_model *model;
336
338 const struct bt_mesh_cfg_cli_cb *cb;
339
340 /* Internal parameters for tracking message responses. */
342};
343
349#define BT_MESH_MODEL_CFG_CLI(cli_data) \
350 BT_MESH_MODEL_CNT_CB(BT_MESH_MODEL_ID_CFG_CLI, \
351 bt_mesh_cfg_cli_op, NULL, \
352 cli_data, 1, 0, &bt_mesh_cfg_cli_cb)
353
362#define BT_MESH_PUB_PERIOD_100MS(steps) ((steps) & BIT_MASK(6))
363
371#define BT_MESH_PUB_PERIOD_SEC(steps) (((steps) & BIT_MASK(6)) | (1 << 6))
372
382#define BT_MESH_PUB_PERIOD_10SEC(steps) (((steps) & BIT_MASK(6)) | (2 << 6))
383
393#define BT_MESH_PUB_PERIOD_10MIN(steps) (((steps) & BIT_MASK(6)) | (3 << 6))
394
420
458
493
502int bt_mesh_cfg_cli_node_reset(uint16_t net_idx, uint16_t addr, bool *status);
503
524 struct net_buf_simple *comp);
525
541
556int bt_mesh_cfg_cli_krp_get(uint16_t net_idx, uint16_t addr, uint16_t key_net_idx, uint8_t *status,
557 uint8_t *phase);
558
575int bt_mesh_cfg_cli_krp_set(uint16_t net_idx, uint16_t addr, uint16_t key_net_idx,
576 uint8_t transition, uint8_t *status, uint8_t *phase);
577
595
609
624
640
659
676
696
712
729 uint8_t *transmit);
730
748int bt_mesh_cfg_cli_relay_get(uint16_t net_idx, uint16_t addr, uint8_t *status, uint8_t *transmit);
749
774 uint8_t new_transmit, uint8_t *status, uint8_t *transmit);
775
791 const uint8_t net_key[16], uint8_t *status);
792
809int bt_mesh_cfg_cli_net_key_get(uint16_t net_idx, uint16_t addr, uint16_t *keys, size_t *key_cnt);
810
825 uint8_t *status);
826
843 uint16_t key_app_idx, const uint8_t app_key[16], uint8_t *status);
844
867 uint8_t *status, uint16_t *keys, size_t *key_cnt);
868
884 uint16_t key_app_idx, uint8_t *status);
885
902 uint16_t mod_app_idx, uint16_t mod_id, uint8_t *status);
903
920 uint16_t mod_app_idx, uint16_t mod_id, uint8_t *status);
921
939 uint16_t mod_app_idx, uint16_t mod_id, uint16_t cid,
940 uint8_t *status);
941
959 uint16_t mod_app_idx, uint16_t mod_id, uint16_t cid,
960 uint8_t *status);
961
983 uint16_t mod_id, uint8_t *status, uint16_t *apps, size_t *app_cnt);
984
1007 uint16_t mod_id, uint16_t cid, uint8_t *status, uint16_t *apps,
1008 size_t *app_cnt);
1009
1026 uint16_t mod_id, struct bt_mesh_cfg_cli_mod_pub *pub,
1027 uint8_t *status);
1028
1046 uint16_t mod_id, uint16_t cid,
1047 struct bt_mesh_cfg_cli_mod_pub *pub, uint8_t *status);
1048
1067 uint16_t mod_id, struct bt_mesh_cfg_cli_mod_pub *pub,
1068 uint8_t *status);
1069
1089 uint16_t mod_id, uint16_t cid,
1090 struct bt_mesh_cfg_cli_mod_pub *pub, uint8_t *status);
1091
1108 uint16_t sub_addr, uint16_t mod_id, uint8_t *status);
1109
1127 uint16_t sub_addr, uint16_t mod_id, uint16_t cid,
1128 uint8_t *status);
1129
1146 uint16_t sub_addr, uint16_t mod_id, uint8_t *status);
1147
1165 uint16_t sub_addr, uint16_t mod_id, uint16_t cid,
1166 uint8_t *status);
1167
1188 uint16_t sub_addr, uint16_t mod_id, uint8_t *status);
1189
1211 uint16_t sub_addr, uint16_t mod_id, uint16_t cid,
1212 uint8_t *status);
1213
1231 const uint8_t label[16], uint16_t mod_id, uint16_t *virt_addr,
1232 uint8_t *status);
1233
1252 const uint8_t label[16], uint16_t mod_id, uint16_t cid,
1253 uint16_t *virt_addr, uint8_t *status);
1254
1272 const uint8_t label[16], uint16_t mod_id, uint16_t *virt_addr,
1273 uint8_t *status);
1274
1293 const uint8_t label[16], uint16_t mod_id, uint16_t cid,
1294 uint16_t *virt_addr, uint8_t *status);
1295
1317 const uint8_t label[16], uint16_t mod_id,
1318 uint16_t *virt_addr, uint8_t *status);
1319
1342 const uint8_t label[16], uint16_t mod_id, uint16_t cid,
1343 uint16_t *virt_addr, uint8_t *status);
1344
1365 uint16_t mod_id, uint8_t *status, uint16_t *subs, size_t *sub_cnt);
1366
1388 uint16_t mod_id, uint16_t cid, uint8_t *status, uint16_t *subs,
1389 size_t *sub_cnt);
1390
1407 uint8_t *status);
1408
1423 uint8_t *status);
1424
1443 const struct bt_mesh_cfg_cli_hb_pub *pub, uint8_t *status);
1444
1459 uint8_t *status);
1460
1476 uint16_t mod_id, uint8_t *status);
1477
1494 uint16_t mod_id, uint16_t cid, uint8_t *status);
1495
1511 const uint8_t net_key[16], uint8_t *status);
1512
1529 uint16_t key_app_idx, const uint8_t app_key[16],
1530 uint8_t *status);
1531
1550 uint8_t new_identity, uint8_t *status, uint8_t *identity);
1551
1569 uint8_t *status, uint8_t *identity);
1570
1585 int32_t *polltimeout);
1586
1592
1598
1619
1625 size_t nsig;
1627 size_t nvnd;
1628
1629 uint8_t *_buf;
1630};
1631
1656 struct net_buf_simple *buf);
1657
1671 struct bt_mesh_comp_p0_elem *elem);
1672
1682
1692
1696 size_t nsig;
1698 size_t nvnd;
1700 struct net_buf_simple *_buf;
1701};
1702
1718
1726
1734
1746
1760 struct net_buf_simple *buf, struct bt_mesh_comp_p1_elem *elem);
1761
1775 struct bt_mesh_comp_p1_elem *elem, struct bt_mesh_comp_p1_model_item *item);
1776
1788 struct bt_mesh_comp_p1_model_item *item, struct bt_mesh_comp_p1_ext_item *ext_item);
1789
1808
1822 struct bt_mesh_comp_p2_record *record);
1823
1835int bt_mesh_key_idx_unpack_list(struct net_buf_simple *buf, uint16_t *dst_arr, size_t *dst_cnt);
1836
1838extern const struct bt_mesh_model_op bt_mesh_cfg_cli_op[];
1839extern const struct bt_mesh_model_cb bt_mesh_cfg_cli_cb;
1842#ifdef __cplusplus
1843}
1844#endif
1849#endif /* ZEPHYR_INCLUDE_BLUETOOTH_MESH_CFG_CLI_H_ */
int bt_mesh_cfg_cli_hb_pub_get(uint16_t net_idx, uint16_t addr, struct bt_mesh_cfg_cli_hb_pub *pub, uint8_t *status)
Get the target node's Heartbeat publication parameters.
struct bt_mesh_comp_p2_record * bt_mesh_comp_p2_record_pull(struct net_buf_simple *buf, struct bt_mesh_comp_p2_record *record)
Pull a Composition Data Page 2 Record from a composition data page 2 instance.
int bt_mesh_cfg_cli_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_cli_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_cli_mod_pub *pub, uint8_t *status)
Get publish parameters for a vendor model on the target node.
int bt_mesh_cfg_cli_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_cli_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_cli_hb_sub_set(uint16_t net_idx, uint16_t addr, struct bt_mesh_cfg_cli_hb_sub *sub, uint8_t *status)
Set the target node's Heartbeat subscription parameters.
int bt_mesh_cfg_cli_mod_pub_get(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, uint16_t mod_id, struct bt_mesh_cfg_cli_mod_pub *pub, uint8_t *status)
Get publish parameters for a SIG 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_cli_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_cli_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_cli_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_cli_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_cli_beacon_get(uint16_t net_idx, uint16_t addr, uint8_t *status)
Get the target node's network beacon state.
int bt_mesh_cfg_cli_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_cli_hb_pub_set(uint16_t net_idx, uint16_t addr, const struct bt_mesh_cfg_cli_hb_pub *pub, uint8_t *status)
Set the target node's Heartbeat publication parameters.
int bt_mesh_cfg_cli_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_cli_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_cli_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_cli_friend_get(uint16_t net_idx, uint16_t addr, uint8_t *status)
Get the target node's Friend feature status.
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_cli_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_cli_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_cli_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_cli_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.
int bt_mesh_cfg_cli_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.
int bt_mesh_cfg_cli_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_cli_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_cli_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.
int bt_mesh_cfg_cli_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.
void bt_mesh_cfg_cli_timeout_set(int32_t timeout)
Set the transmission timeout value.
int bt_mesh_cfg_cli_mod_pub_set(uint16_t net_idx, uint16_t addr, uint16_t elem_addr, uint16_t mod_id, struct bt_mesh_cfg_cli_mod_pub *pub, uint8_t *status)
Set publish parameters for a SIG model on the target node.
int bt_mesh_cfg_cli_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_cli_hb_sub_get(uint16_t net_idx, uint16_t addr, struct bt_mesh_cfg_cli_hb_sub *sub, uint8_t *status)
Get the target node's Heartbeat subscription parameters.
int bt_mesh_cfg_cli_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_cli_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.
int bt_mesh_cfg_cli_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_cli_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_cli_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_cli_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_key_idx_unpack_list(struct net_buf_simple *buf, uint16_t *dst_arr, size_t *dst_cnt)
Unpack a list of key index entries from a buffer.
int bt_mesh_cfg_cli_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.
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_cli_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_cli_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_cli_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.
int bt_mesh_cfg_cli_beacon_set(uint16_t net_idx, uint16_t addr, uint8_t val, uint8_t *status)
Set the target node's network beacon 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_cli_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.
struct bt_mesh_comp_p1_ext_item * bt_mesh_comp_p1_pull_ext_item(struct bt_mesh_comp_p1_model_item *item, struct bt_mesh_comp_p1_ext_item *ext_item)
Pull Extended Model Item contained in Model Item.
int bt_mesh_cfg_cli_node_reset(uint16_t net_idx, uint16_t addr, bool *status)
Reset the target node and remove it from the network.
struct bt_mesh_comp_p1_model_item * bt_mesh_comp_p1_item_pull(struct bt_mesh_comp_p1_elem *elem, struct bt_mesh_comp_p1_model_item *item)
Pull a Composition Data Page 1 Model Item from a Composition Data Page 1 Element.
int bt_mesh_cfg_cli_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_cli_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_cli_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_cli_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_cli_mod_pub *pub, uint8_t *status)
Set publish parameters for a vendor model on the target node.
int bt_mesh_cfg_cli_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_cfg_cli_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_cli_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.
struct bt_mesh_comp_p1_elem * bt_mesh_comp_p1_elem_pull(struct net_buf_simple *buf, struct bt_mesh_comp_p1_elem *elem)
Pull a Composition Data Page 1 Element from a composition data page 1 instance.
int bt_mesh_cfg_cli_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.
int32_t bt_mesh_cfg_cli_timeout_get(void)
Get the current transmission timeout value.
int bt_mesh_cfg_cli_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_cli_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_cli_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_cli_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_cli_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_cli_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.
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__INT32_TYPE__ int32_t
Definition stdint.h:74
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
__UINT16_TYPE__ uint16_t
Definition stdint.h:89
Mesh Configuration Client Status messages callback.
Definition cfg_cli.h:33
void(* mod_sub_list)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t status, uint16_t elem_addr, uint16_t mod_id, uint16_t cid, struct net_buf_simple *buf)
Optional callback for Model Sub list messages.
Definition cfg_cli.h:98
void(* mod_app_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t status, uint16_t elem_addr, uint16_t app_idx, uint32_t mod_id)
Optional callback for Model App Status messages.
Definition cfg_cli.h:245
void(* app_key_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t status, uint16_t net_idx, uint16_t app_idx)
Optional callback for AppKey Status messages.
Definition cfg_cli.h:214
void(* net_key_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t status, uint16_t net_idx)
Optional callback for NetKey Status messages.
Definition cfg_cli.h:187
void(* krp_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t status, uint16_t net_idx, uint8_t phase)
Optional callback for Key Refresh Phase status messages.
Definition cfg_cli.h:304
void(* beacon_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t status)
Optional callback for Beacon Status messages.
Definition cfg_cli.h:119
void(* hb_pub_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t status, struct bt_mesh_cfg_cli_hb_pub *pub)
Optional callback for Heartbeat pub status messages.
Definition cfg_cli.h:316
void(* lpn_timeout_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint16_t elem_addr, uint32_t timeout)
Optional callback for LPN PollTimeout Status messages.
Definition cfg_cli.h:291
void(* gatt_proxy_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t status)
Optional callback for GATT Proxy Status messages.
Definition cfg_cli.h:152
void(* relay_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t status, uint8_t transmit)
Optional callback for Relay Status messages.
Definition cfg_cli.h:175
void(* friend_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t status)
Optional callback for Friend Status messages.
Definition cfg_cli.h:141
void(* hb_sub_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t status, struct bt_mesh_cfg_cli_hb_sub *sub)
Optional callback for Heartbeat Sub status messages.
Definition cfg_cli.h:328
void(* comp_data)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t page, struct net_buf_simple *buf)
Optional callback for Composition data messages.
Definition cfg_cli.h:48
void(* mod_pub_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t status, uint16_t elem_addr, uint16_t mod_id, uint16_t cid, struct bt_mesh_cfg_cli_mod_pub *pub)
Optional callback for Model Pub status messages.
Definition cfg_cli.h:63
void(* ttl_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t status)
Optional callback for Default TTL Status messages.
Definition cfg_cli.h:130
void(* mod_app_list)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t status, uint16_t elem_addr, uint16_t mod_id, uint16_t cid, struct net_buf_simple *buf)
Optional callback for Model App list messages.
Definition cfg_cli.h:264
void(* app_key_list)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t status, uint16_t net_idx, struct net_buf_simple *buf)
Optional callback for Appkey list messages.
Definition cfg_cli.h:231
void(* node_identity_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t status, uint16_t net_idx, uint8_t identity)
Optional callback for Node Identity Status messages.
Definition cfg_cli.h:278
void(* net_key_list)(struct bt_mesh_cfg_cli *cli, uint16_t addr, struct net_buf_simple *buf)
Optional callback for Netkey list messages.
Definition cfg_cli.h:201
void(* node_reset_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr)
Optional callback for Node Reset Status messages.
Definition cfg_cli.h:109
void(* network_transmit_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t status)
Optional callback for Network Transmit Status messages.
Definition cfg_cli.h:163
void(* mod_sub_status)(struct bt_mesh_cfg_cli *cli, uint16_t addr, uint8_t status, uint16_t elem_addr, uint16_t sub_addr, uint32_t mod_id)
Optional callback for Model Sub Status messages.
Definition cfg_cli.h:78
Heartbeat publication configuration parameters.
Definition cfg_cli.h:460
uint8_t count
Logarithmic Heartbeat count.
Definition cfg_cli.h:474
uint16_t dst
Heartbeat destination address.
Definition cfg_cli.h:462
uint8_t period
Logarithmic Heartbeat publication transmit interval in seconds.
Definition cfg_cli.h:480
uint16_t net_idx
Network index to publish with.
Definition cfg_cli.h:491
uint16_t feat
Bitmap of features that trigger Heartbeat publications.
Definition cfg_cli.h:489
uint8_t ttl
Publication message Time To Live value.
Definition cfg_cli.h:482
Heartbeat subscription configuration parameters.
Definition cfg_cli.h:422
uint16_t src
Source address to receive Heartbeat messages from.
Definition cfg_cli.h:424
uint8_t min
Minimum hops in received messages, ie the shortest registered path from the publishing node to the su...
Definition cfg_cli.h:448
uint8_t period
Logarithmic subscription period to keep listening for.
Definition cfg_cli.h:432
uint8_t count
Logarithmic Heartbeat subscription receive count.
Definition cfg_cli.h:440
uint8_t max
Maximum hops in received messages, ie the longest registered path from the publishing node to the sub...
Definition cfg_cli.h:456
uint16_t dst
Destination address to receive Heartbeat messages on.
Definition cfg_cli.h:426
Model publication configuration parameters.
Definition cfg_cli.h:396
uint8_t period
Encoded publish period.
Definition cfg_cli.h:413
const uint8_t * uuid
Virtual address UUID, or NULL if this is not a virtual address.
Definition cfg_cli.h:400
uint8_t transmit
Encoded transmit parameters.
Definition cfg_cli.h:418
uint8_t ttl
Time To Live to publish with.
Definition cfg_cli.h:406
bool cred_flag
Friendship credential flag.
Definition cfg_cli.h:404
uint16_t addr
Publication destination address.
Definition cfg_cli.h:398
uint16_t app_idx
Application index to publish with.
Definition cfg_cli.h:402
Mesh Configuration Client Model Context.
Definition cfg_cli.h:333
struct bt_mesh_msg_ack_ctx ack_ctx
Definition cfg_cli.h:341
const struct bt_mesh_model * model
Composition data model entry pointer.
Definition cfg_cli.h:335
const struct bt_mesh_cfg_cli_cb * cb
Optional callback for Mesh Configuration Client Status messages.
Definition cfg_cli.h:338
Composition data page 0 element representation.
Definition cfg_cli.h:1621
size_t nsig
The number of SIG models in this element.
Definition cfg_cli.h:1625
size_t nvnd
The number of vendor models in this element.
Definition cfg_cli.h:1627
uint16_t loc
Element location.
Definition cfg_cli.h:1623
Parsed Composition data page 0 representation.
Definition cfg_cli.h:1605
uint16_t pid
Product ID.
Definition cfg_cli.h:1609
uint16_t feat
Supported features, see BT_MESH_FEAT_SUPPORTED.
Definition cfg_cli.h:1615
uint16_t vid
Version ID.
Definition cfg_cli.h:1611
uint16_t crpl
Replay protection list size.
Definition cfg_cli.h:1613
uint16_t cid
Company ID.
Definition cfg_cli.h:1607
Composition data page 1 element representation.
Definition cfg_cli.h:1694
size_t nvnd
The number of vendor models in this element.
Definition cfg_cli.h:1698
size_t nsig
The number of SIG models in this element.
Definition cfg_cli.h:1696
Extended Model Item.
Definition cfg_cli.h:1736
struct bt_mesh_comp_p1_item_long long_item
Item in long representation.
Definition cfg_cli.h:1743
enum bt_mesh_comp_p1_ext_item::@151 type
struct bt_mesh_comp_p1_item_short short_item
Item in short representation.
Definition cfg_cli.h:1741
@ SHORT
Definition cfg_cli.h:1737
@ LONG
Definition cfg_cli.h:1737
Extended Model Item in long representation.
Definition cfg_cli.h:1728
uint8_t elem_offset
Element address modifier.
Definition cfg_cli.h:1730
uint8_t mod_item_idx
Model Index.
Definition cfg_cli.h:1732
Extended Model Item in short representation.
Definition cfg_cli.h:1720
uint8_t elem_offset
Element address modifier.
Definition cfg_cli.h:1722
uint8_t mod_item_idx
Model Index.
Definition cfg_cli.h:1724
Composition data page 1 model item representation.
Definition cfg_cli.h:1704
uint8_t cor_id
Buffer containing Extended Model Items.
Definition cfg_cli.h:1715
uint8_t ext_item_cnt
Number of items in Extended Model Items.
Definition cfg_cli.h:1710
bool cor_present
Corresponding_Group_ID field indicator.
Definition cfg_cli.h:1706
bool format
Determines the format of Extended Model Item.
Definition cfg_cli.h:1708
Composition data page 2 record parsing structure.
Definition cfg_cli.h:1791
uint8_t y
Minor version.
Definition cfg_cli.h:1799
uint16_t id
Mesh profile ID.
Definition cfg_cli.h:1793
uint8_t x
Major version.
Definition cfg_cli.h:1797
struct bt_mesh_comp_p2_record::@154 version
Mesh Profile Version.
uint8_t z
Z version.
Definition cfg_cli.h:1801
struct net_buf_simple * data_buf
Additional data buffer.
Definition cfg_cli.h:1806
struct net_buf_simple * elem_buf
Element offset buffer.
Definition cfg_cli.h:1804
Vendor model ID.
Definition access.h:883
Model callback functions.
Definition access.h:813
Model opcode handler.
Definition access.h:363
Abstraction that describes a Mesh Model instance.
Definition access.h:891
Acknowledged message context for tracking the status of model messages pending a response.
Definition msg.h:172
Simple network buffer representation.
Definition net_buf.h:89