LCOV - code coverage report
Current view: top level - zephyr/bluetooth/mesh - sar_cfg_cli.h Hit Total Coverage
Test: new.info Lines: 10 13 76.9 %
Date: 2024-12-22 00:14:23

          Line data    Source code
       1           1 : /*
       2             :  * Copyright (c) 2021 Nordic Semiconductor ASA
       3             :  *
       4             :  * SPDX-License-Identifier: Apache-2.0
       5             :  */
       6             : 
       7             : /** @file
       8             :  *  @brief Bluetooth Mesh SAR Configuration Client Model APIs.
       9             :  */
      10             : #ifndef BT_MESH_SAR_CFG_CLI_H__
      11             : #define BT_MESH_SAR_CFG_CLI_H__
      12             : 
      13             : #include <zephyr/bluetooth/mesh.h>
      14             : #include <zephyr/bluetooth/mesh/sar_cfg.h>
      15             : 
      16             : /**
      17             :  * @brief Bluetooth Mesh
      18             :  * @defgroup bt_mesh_sar_cfg_cli Bluetooth Mesh SAR Configuration Client Model
      19             :  * @ingroup bt_mesh
      20             :  * @{
      21             :  */
      22             : 
      23             : #ifdef __cplusplus
      24             : extern "C" {
      25             : #endif
      26             : 
      27             : /** Mesh SAR Configuration Client Model Context */
      28           1 : struct bt_mesh_sar_cfg_cli {
      29             :         /** Access model pointer. */
      30           1 :         const struct bt_mesh_model *model;
      31             : 
      32             :         /* Publication structure instance */
      33           0 :         struct bt_mesh_model_pub pub;
      34             : 
      35             :         /* Synchronous message timeout in milliseconds. */
      36           0 :         int32_t timeout;
      37             : 
      38             :         /* Internal parameters for tracking message responses. */
      39           0 :         struct bt_mesh_msg_ack_ctx ack_ctx;
      40             : };
      41             : 
      42             : /**
      43             :  *
      44             :  * @brief SAR Configuration Client model composition data entry.
      45             :  *
      46             :  * @param[in] _cli Pointer to a @ref bt_mesh_sar_cfg_cli instance.
      47             :  */
      48           1 : #define BT_MESH_MODEL_SAR_CFG_CLI(_cli)                                  \
      49             :         BT_MESH_MODEL_CB(BT_MESH_MODEL_ID_SAR_CFG_CLI,                         \
      50             :                          _bt_mesh_sar_cfg_cli_op, _cli.pub, _cli,                  \
      51             :                          &_bt_mesh_sar_cfg_cli_cb)
      52             : 
      53             : /** @brief Get the SAR Transmitter state of the target node.
      54             :  *
      55             :  *  @param net_idx Network index to encrypt with.
      56             :  *  @param addr    Target node address.
      57             :  *  @param rsp     Status response parameter.
      58             :  *
      59             :  *  @return 0 on success, or (negative) error code on failure.
      60             :  */
      61           1 : int bt_mesh_sar_cfg_cli_transmitter_get(uint16_t net_idx, uint16_t addr,
      62             :                                         struct bt_mesh_sar_tx *rsp);
      63             : 
      64             : /** @brief Set the SAR Transmitter state of the target node.
      65             :  *
      66             :  *  @param net_idx Network index to encrypt with.
      67             :  *  @param addr    Target node address.
      68             :  *  @param set     New SAR Transmitter state to set on the target node.
      69             :  *  @param rsp     Status response parameter.
      70             :  *
      71             :  *  @return 0 on success, or (negative) error code on failure.
      72             :  */
      73           1 : int bt_mesh_sar_cfg_cli_transmitter_set(uint16_t net_idx, uint16_t addr,
      74             :                                         const struct bt_mesh_sar_tx *set,
      75             :                                         struct bt_mesh_sar_tx *rsp);
      76             : 
      77             : /** @brief Get the SAR Receiver state of the target node.
      78             :  *
      79             :  *  @param net_idx Network index to encrypt with.
      80             :  *  @param addr    Target node address.
      81             :  *  @param rsp     Status response parameter.
      82             :  *
      83             :  *  @return 0 on success, or (negative) error code on failure.
      84             :  */
      85           1 : int bt_mesh_sar_cfg_cli_receiver_get(uint16_t net_idx, uint16_t addr,
      86             :                                      struct bt_mesh_sar_rx *rsp);
      87             : 
      88             : /** @brief Set the SAR Receiver state of the target node.
      89             :  *
      90             :  *  @param net_idx Network index to encrypt with.
      91             :  *  @param addr    Target node address.
      92             :  *  @param set     New SAR Receiver state to set on the target node.
      93             :  *  @param rsp     Status response parameter.
      94             :  *
      95             :  *  @return 0 on success, or (negative) error code on failure.
      96             :  */
      97           1 : int bt_mesh_sar_cfg_cli_receiver_set(uint16_t net_idx, uint16_t addr,
      98             :                                      const struct bt_mesh_sar_rx *set,
      99             :                                      struct bt_mesh_sar_rx *rsp);
     100             : 
     101             : /** @brief Get the current transmission timeout value.
     102             :  *
     103             :  *  @return The configured transmission timeout in milliseconds.
     104             :  */
     105           1 : int32_t bt_mesh_sar_cfg_cli_timeout_get(void);
     106             : 
     107             : /** @brief Set the transmission timeout value.
     108             :  *
     109             :  *  @param timeout The new transmission timeout.
     110             :  */
     111           1 : void bt_mesh_sar_cfg_cli_timeout_set(int32_t timeout);
     112             : 
     113             : /** @cond INTERNAL_HIDDEN */
     114             : extern const struct bt_mesh_model_op _bt_mesh_sar_cfg_cli_op[];
     115             : extern const struct bt_mesh_model_cb _bt_mesh_sar_cfg_cli_cb;
     116             : /** @endcond */
     117             : 
     118             : #ifdef __cplusplus
     119             : }
     120             : #endif
     121             : 
     122             : #endif /* BT_MESH_SAR_CFG_CLI_H__ */
     123             : 
     124             : /** @} */

Generated by: LCOV version 1.14