LCOV - code coverage report
Current view: top level - zephyr/shell - shell_adsp_memory_window.h Hit Total Coverage
Test: new.info Lines: 7 11 63.6 %
Date: 2024-12-22 00:14:23

          Line data    Source code
       1           0 : /*
       2             :  * Copyright (c) 2024 Intel Corporation
       3             :  *
       4             :  * SPDX-License-Identifier: Apache-2.0
       5             :  */
       6             : 
       7             : #ifndef SHELL_ADSP_MEMORY_WINDOW_H__
       8             : #define SHELL_ADSP_MEMORY_WINDOW_H__
       9             : 
      10             : #include <zephyr/kernel.h>
      11             : #include <zephyr/shell/shell.h>
      12             : 
      13             : #ifdef __cplusplus
      14             : extern "C" {
      15             : #endif
      16             : 
      17           0 : extern const struct shell_transport_api shell_adsp_memory_window_transport_api;
      18             : 
      19             : struct sys_winstream;
      20             : 
      21             : /** Memwindow based shell transport. */
      22           1 : struct shell_adsp_memory_window {
      23             :         /** Handler function registered by shell. */
      24           1 :         shell_transport_handler_t shell_handler;
      25             : 
      26           0 :         struct k_timer timer;
      27             : 
      28             :         /** Context registered by shell. */
      29           1 :         void *shell_context;
      30             : 
      31             :         /** Receive winstream object */
      32           1 :         struct sys_winstream *ws_rx;
      33             : 
      34             :         /** Transmit winstream object */
      35           1 :         struct sys_winstream *ws_tx;
      36             : 
      37             :         /** Last read sequence number */
      38           1 :         uint32_t read_seqno;
      39             : };
      40             : 
      41           0 : #define SHELL_ADSP_MEMORY_WINDOW_DEFINE(_name)                          \
      42             :         static struct shell_adsp_memory_window _name##_shell_adsp_memory_window;\
      43             :         struct shell_transport _name = {                                        \
      44             :                 .api = &shell_adsp_memory_window_transport_api,             \
      45             :                 .ctx = &_name##_shell_adsp_memory_window,   \
      46             :         }
      47             : 
      48             : /**
      49             :  * @brief This function provides pointer to shell ADSP memory window backend instance.
      50             :  *
      51             :  * Function returns pointer to the shell ADSP memory window instance. This instance can be
      52             :  * next used with shell_execute_cmd function in order to test commands behavior.
      53             :  *
      54             :  * @returns Pointer to the shell instance.
      55             :  */
      56           1 : const struct shell *shell_backend_adsp_memory_window_get_ptr(void);
      57             : 
      58             : #ifdef __cplusplus
      59             : }
      60             : #endif
      61             : 
      62             : #endif /* SHELL_ADSP_MEMORY_WINDOW_H__ */

Generated by: LCOV version 1.14