LCOV - code coverage report
Current view: top level - zephyr/bluetooth/mesh - sol_pdu_rpl_cli.h Coverage Total Hit
Test: new.info Lines: 77.8 % 9 7
Test Date: 2025-09-05 16:43:28

            Line data    Source code
       1            0 : /*
       2              :  * Copyright (c) 2022 Nordic Semiconductor ASA
       3              :  *
       4              :  * SPDX-License-Identifier: Apache-2.0
       5              :  */
       6              : 
       7              : #ifndef BT_MESH_SOL_PDU_RPL_CLI_H__
       8              : #define BT_MESH_SOL_PDU_RPL_CLI_H__
       9              : 
      10              : #include <zephyr/bluetooth/mesh.h>
      11              : 
      12              : #ifdef __cplusplus
      13              : extern "C" {
      14              : #endif
      15              : 
      16              : /**
      17              :  * @defgroup bt_mesh_sol_pdu_rpl_cli Bluetooth Mesh Solicitation PDU RPL Client
      18              :  * @ingroup bt_mesh
      19              :  * @{
      20              :  */
      21              : 
      22              : /** Solicitation PDU RPL Client Model Context */
      23            1 : struct bt_mesh_sol_pdu_rpl_cli {
      24              :         /** Solicitation PDU RPL model entry pointer. */
      25            1 :         const struct bt_mesh_model *model;
      26              : 
      27              :         /* Internal parameters for tracking message responses. */
      28            0 :         struct bt_mesh_msg_ack_ctx ack_ctx;
      29              : 
      30              :         /** @brief Optional callback for Solicitation PDU RPL Status messages.
      31              :          *
      32              :          *  Handles received Solicitation PDU RPL Status messages from a Solicitation
      33              :          *  PDU RPL server.The @c start param represents the start of range that server
      34              :          *  has cleared. The @c length param represents length of range cleared by server.
      35              :          *
      36              :          *  @param cli         Solicitation PDU RPL client that received the status message.
      37              :          *  @param addr        Address of the sender.
      38              :          *  @param range_start       Range start value.
      39              :          *  @param range_length      Range length value.
      40              :          */
      41            1 :         void (*srpl_status)(struct bt_mesh_sol_pdu_rpl_cli *cli, uint16_t addr,
      42              :                             uint16_t range_start, uint8_t range_length);
      43              : };
      44              : 
      45              : /**
      46              :  *  @brief Solicitation PDU RPL Client model composition data entry.
      47              :  */
      48            1 : #define BT_MESH_MODEL_SOL_PDU_RPL_CLI(cli_data)                             \
      49              :         BT_MESH_MODEL_CB(BT_MESH_MODEL_ID_SOL_PDU_RPL_CLI,                  \
      50              :                          _bt_mesh_sol_pdu_rpl_cli_op, NULL, cli_data,       \
      51              :                          &_bt_mesh_sol_pdu_rpl_cli_cb)
      52              : 
      53              : /** @brief Remove entries from Solicitation PDU RPL of addresses in given range.
      54              :  *
      55              :  *  This method can be used asynchronously by setting @p start_rsp or
      56              :  *  @p len_rsp as NULL. This way the method will not wait for response and will
      57              :  *  return immediately after sending the command.
      58              :  *
      59              :  *  To process the response arguments of an async method, register
      60              :  *  the @c srpl_status callback in @c bt_mesh_sol_pdu_rpl_cli struct.
      61              :  *
      62              :  *  @param ctx           Message context for the message.
      63              :  *  @param range_start   Start of Unicast address range.
      64              :  *  @param range_len     Length of Unicast address range. Valid values are 0x00 and 0x02
      65              :  *                       to 0xff.
      66              :  *  @param start_rsp     Range start response buffer.
      67              :  *  @param len_rsp       Range length response buffer.
      68              :  *
      69              :  *  @return 0 on success, or (negative) error code otherwise.
      70              :  */
      71            1 : int bt_mesh_sol_pdu_rpl_clear(struct bt_mesh_msg_ctx *ctx, uint16_t range_start,
      72              :                               uint8_t range_len, uint16_t *start_rsp, uint8_t *len_rsp);
      73              : 
      74              : 
      75              : /** @brief Remove entries from Solicitation PDU RPL of addresses in given range (unacked).
      76              :  *
      77              :  *  @param ctx           Message context for the message.
      78              :  *  @param range_start   Start of Unicast address range.
      79              :  *  @param range_len     Length of Unicast address range. Valid values are 0x00 and 0x02
      80              :  *                       to 0xff.
      81              :  *
      82              :  *  @return 0 on success, or (negative) error code otherwise.
      83              :  */
      84            1 : int bt_mesh_sol_pdu_rpl_clear_unack(struct bt_mesh_msg_ctx *ctx, uint16_t range_start,
      85              :                                     uint8_t range_len);
      86              : 
      87              : /** @brief Set the transmission timeout value.
      88              :  *
      89              :  *  @param timeout The new transmission timeout in milliseconds.
      90              :  */
      91            1 : void bt_mesh_sol_pdu_rpl_cli_timeout_set(int32_t timeout);
      92              : 
      93              : /** @cond INTERNAL_HIDDEN */
      94              : extern const struct bt_mesh_model_op _bt_mesh_sol_pdu_rpl_cli_op[];
      95              : extern const struct bt_mesh_model_cb _bt_mesh_sol_pdu_rpl_cli_cb;
      96              : /** @endcond */
      97              : 
      98              : /** @} */
      99              : 
     100              : #ifdef __cplusplus
     101              : }
     102              : #endif
     103              : 
     104              : #endif /* BT_MESH_SOL_PDU_RPL_CLI_H__ */
        

Generated by: LCOV version 2.0-1