LCOV - code coverage report
Current view: top level - zephyr/shell - shell_backend.h Hit Total Coverage
Test: new.info Lines: 3 4 75.0 %
Date: 2024-12-22 00:14:23

          Line data    Source code
       1           0 : /*
       2             :  * Copyright (c) 2023 Meta
       3             :  *
       4             :  * SPDX-License-Identifier: Apache-2.0
       5             :  */
       6             : 
       7             : #ifndef ZEPHYR_INCLUDE_SHELL_BACKEND_H_
       8             : #define ZEPHYR_INCLUDE_SHELL_BACKEND_H_
       9             : 
      10             : #include <zephyr/types.h>
      11             : #include <zephyr/shell/shell.h>
      12             : #include <zephyr/sys/iterable_sections.h>
      13             : 
      14             : #ifdef __cplusplus
      15             : extern "C" {
      16             : #endif
      17             : 
      18             : /**
      19             :  * @brief Get backend.
      20             :  *
      21             :  * @param[in] idx  Pointer to the backend instance.
      22             :  *
      23             :  * @return Pointer to the backend instance.
      24             :  */
      25           1 : static inline const struct shell *shell_backend_get(uint32_t idx)
      26             : {
      27             :         const struct shell *backend;
      28             : 
      29             :         STRUCT_SECTION_GET(shell, idx, &backend);
      30             : 
      31             :         return backend;
      32             : }
      33             : 
      34             : /**
      35             :  * @brief Get number of backends.
      36             :  *
      37             :  * @return Number of backends.
      38             :  */
      39           1 : static inline int shell_backend_count_get(void)
      40             : {
      41             :         int cnt;
      42             : 
      43             :         STRUCT_SECTION_COUNT(shell, &cnt);
      44             : 
      45             :         return cnt;
      46             : }
      47             : 
      48             : /**
      49             :  * @brief Get backend by name.
      50             :  *
      51             :  * @param[in] backend_name Name of the backend as defined by the SHELL_DEFINE.
      52             :  *
      53             :  * @retval Pointer to the backend instance if found, NULL if backend is not found.
      54             :  */
      55           1 : const struct shell *shell_backend_get_by_name(const char *backend_name);
      56             : 
      57             : #ifdef __cplusplus
      58             : }
      59             : #endif
      60             : 
      61             : #endif /* ZEPHYR_INCLUDE_SHELL_BACKEND_H_ */

Generated by: LCOV version 1.14