52 lines
1.2 KiB
C
52 lines
1.2 KiB
C
/*
|
|
* Copyright (c) 2021 Nordic Semiconductor ASA
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
struct op_agg_ctx {
|
|
/** Context is initialized. */
|
|
bool initialized;
|
|
|
|
/** NetKey Index of the subnet to send the message on. */
|
|
uint16_t net_idx;
|
|
|
|
/** AppKey Index to encrypt the message with. */
|
|
uint16_t app_idx;
|
|
|
|
/** Remote element address. */
|
|
uint16_t addr;
|
|
|
|
/** List of source element addresses.
|
|
* Used by Client to match aggregated responses
|
|
* with local source client models.
|
|
*/
|
|
struct net_buf_simple *srcs;
|
|
|
|
/** Response error code. */
|
|
int rsp_err;
|
|
|
|
/** Aggregated message buffer. */
|
|
struct net_buf_simple *sdu;
|
|
|
|
/** Used only by the Opcodes Aggregator Server.
|
|
*
|
|
* Indicates that the received aggregated message
|
|
* was acknowledged by local server model.
|
|
*/
|
|
bool ack;
|
|
};
|
|
|
|
struct op_agg_ctx *bt_mesh_op_agg_ctx_get(void);
|
|
void bt_mesh_op_agg_ctx_reinit(void);
|
|
|
|
int bt_mesh_op_agg_encode_msg(struct net_buf_simple *msg);
|
|
int bt_mesh_op_agg_decode_msg(struct net_buf_simple *msg,
|
|
struct net_buf_simple *buf);
|
|
|
|
int bt_mesh_op_agg_accept(struct bt_mesh_msg_ctx *ctx);
|
|
|
|
int bt_mesh_op_agg_send(struct bt_mesh_model *model,
|
|
struct bt_mesh_msg_ctx *ctx, struct net_buf_simple *msg,
|
|
const struct bt_mesh_send_cb *cb);
|