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

            Line data    Source code
       1            0 : /*
       2              :  * Copyright (c) 2024 Nordic Semiconductor ASA
       3              :  *
       4              :  * SPDX-License-Identifier: Apache-2.0
       5              :  */
       6              : 
       7              : #ifndef ZEPHYR_INCLUDE_BLUETOOTH_MESH_BRG_CFG_H__
       8              : #define ZEPHYR_INCLUDE_BLUETOOTH_MESH_BRG_CFG_H__
       9              : 
      10              : #include <stdint.h>
      11              : #include <stdbool.h>
      12              : 
      13              : #ifdef __cplusplus
      14              : extern "C" {
      15              : #endif
      16              : 
      17              : /**
      18              :  * @defgroup bt_mesh_brg_cfg Bridge Configuration common header
      19              :  * @ingroup bt_mesh
      20              :  * @{
      21              :  */
      22              : 
      23              : /** Subnet Bridge states */
      24            1 : enum bt_mesh_brg_cfg_state {
      25              :         /** Subnet bridge functionality is disabled. */
      26              :         BT_MESH_BRG_CFG_DISABLED,
      27              :         /** Subnet bridge state functionality is enabled. */
      28              :         BT_MESH_BRG_CFG_ENABLED,
      29              : };
      30              : 
      31              : /* Bridging from Addr1 to Addr2. */
      32            0 : #define BT_MESH_BRG_CFG_DIR_ONEWAY 1
      33              : /* Bidirectional bridging between Addr1 and Addr2. */
      34            0 : #define BT_MESH_BRG_CFG_DIR_TWOWAY 2
      35              : 
      36              : /** Bridging Table state entry corresponding to a entry in the Bridging Table. */
      37            1 : struct bt_mesh_brg_cfg_table_entry {
      38              :         /** Allowed directions for the bridged traffic (or bridged traffic not allowed) */
      39            1 :         uint8_t directions;
      40              :         /** NetKey Index of the first subnet */
      41            1 :         uint16_t net_idx1;
      42              :         /** NetKey Index of the second subnet */
      43            1 :         uint16_t net_idx2;
      44              :         /** Address of the node in the first subnet */
      45            1 :         uint16_t addr1;
      46              :         /** Address of the node in the second subnet */
      47            1 :         uint16_t addr2;
      48              : };
      49              : 
      50              : /** Bridging Table Status response */
      51            1 : struct bt_mesh_brg_cfg_table_status {
      52              :         /** Status Code of the requesting message */
      53            1 :         uint8_t status;
      54              :         /** Requested Bridging Table entry */
      55            1 :         struct bt_mesh_brg_cfg_table_entry entry;
      56              : };
      57              : 
      58              : /** Used to filter set of pairs of NetKey Indexes from the Bridging Table */
      59            1 : struct bt_mesh_brg_cfg_filter_netkey {
      60            0 :         uint16_t filter: 2,    /* Filter applied to the set of pairs of NetKey Indexes */
      61            0 :                 prohibited: 2, /* Prohibited */
      62            0 :                 net_idx: 12;   /* NetKey Index used for filtering or ignored */
      63              : };
      64              : 
      65              : /** Bridged Subnets List response */
      66            1 : struct bt_mesh_brg_cfg_subnets_list {
      67              :         /** Filter applied NetKey Indexes, and NetKey Index used for filtering. */
      68            1 :         struct bt_mesh_brg_cfg_filter_netkey net_idx_filter;
      69              :         /** Start offset in units of bridges */
      70            1 :         uint8_t start_idx;
      71              :         /** Pointer to allocated buffer for storing filtered of NetKey Indexes */
      72            1 :         struct net_buf_simple *list;
      73              : };
      74              : 
      75              : /** Bridging Table List response */
      76            1 : struct bt_mesh_brg_cfg_table_list {
      77              :         /** Status Code of the requesting message */
      78            1 :         uint8_t status;
      79              :         /** NetKey Index of the first subnet */
      80            1 :         uint16_t net_idx1;
      81              :         /** NetKey Index of the second subnet */
      82            1 :         uint16_t net_idx2;
      83              :         /** Start offset in units of bridging table state entries */
      84            1 :         uint16_t start_idx;
      85              :         /** Pointer to allocated buffer for storing list of bridged addresses and directions */
      86            1 :         struct net_buf_simple *list;
      87              : };
      88              : 
      89              : /**
      90              :  * @}
      91              :  */
      92              : 
      93              : #ifdef __cplusplus
      94              : }
      95              : #endif
      96              : 
      97              : #endif /* ZEPHYR_INCLUDE_BLUETOOTH_MESH_BRG_CFG_H__ */
        

Generated by: LCOV version 2.0-1