LCOV - code coverage report
Current view: top level - zephyr/console - console.h Coverage Total Hit
Test: new.info Lines: 87.5 % 8 7
Test Date: 2025-09-05 22:20:39

            Line data    Source code
       1            0 : /*
       2              :  * Copyright (c) 2017 Linaro Limited
       3              :  *
       4              :  * SPDX-License-Identifier: Apache-2.0
       5              :  */
       6              : 
       7              : #ifndef ZEPHYR_INCLUDE_CONSOLE_CONSOLE_H_
       8              : #define ZEPHYR_INCLUDE_CONSOLE_CONSOLE_H_
       9              : 
      10              : #include <sys/types.h>
      11              : #include <zephyr/types.h>
      12              : #include <zephyr/kernel.h>
      13              : 
      14              : #ifdef __cplusplus
      15              : extern "C" {
      16              : #endif
      17              : 
      18              : /**
      19              :  * @brief Console API
      20              :  * @defgroup console_api Console API
      21              :  * @ingroup os_services
      22              :  * @{
      23              :  */
      24              : 
      25              : /** @brief Initialize console device.
      26              :  *
      27              :  *  This function should be called once to initialize pull-style
      28              :  *  access to console via console_getchar() function and buffered
      29              :  *  output using console_putchar() function. This function supersedes,
      30              :  *  and incompatible with, callback (push-style) console handling
      31              :  *  (via console_input_fn callback, etc.).
      32              :  *
      33              :  * @return 0 on success, error code (<0) otherwise
      34              :  */
      35            1 : int console_init(void);
      36              : 
      37              : /**
      38              :  * @brief Read data from console.
      39              :  *
      40              :  * @param dummy ignored, present to follow read() prototype
      41              :  * @param buf buffer to read data to
      42              :  * @param size maximum number of bytes to read
      43              :  * @return >0, number of actually read bytes (can be less than size param)
      44              :  *         =0, in case of EOF
      45              :  *         <0, in case of error (e.g. -EAGAIN if timeout expired). errno
      46              :  *             variable is also set.
      47              :  */
      48            1 : ssize_t console_read(void *dummy, void *buf, size_t size);
      49              : 
      50              : /**
      51              :  * @brief Write data to console.
      52              :  *
      53              :  * @param dummy ignored, present to follow write() prototype
      54              :  * @param buf buffer to write data to
      55              :  * @param size maximum number of bytes to write
      56              :  * @return =>0, number of actually written bytes (can be less than size param)
      57              :  *         <0, in case of error (e.g. -EAGAIN if timeout expired). errno
      58              :  *             variable is also set.
      59              :  */
      60            1 : ssize_t console_write(void *dummy, const void *buf, size_t size);
      61              : 
      62              : /** @brief Get next char from console input buffer.
      63              :  *
      64              :  *  Return next input character from console. If no characters available,
      65              :  *  this function will block. This function is similar to ANSI C
      66              :  *  getchar() function and is intended to ease porting of existing
      67              :  *  software. Before this function can be used, console_init()
      68              :  *  should be called once. This function is incompatible with native
      69              :  *  Zephyr callback-based console input processing, shell subsystem,
      70              :  *  or console_getline().
      71              :  *
      72              :  *  @return 0-255: a character read, including control characters.
      73              :  *          <0: error occurred.
      74              :  */
      75            1 : int console_getchar(void);
      76              : 
      77              : /** @brief Output a char to console (buffered).
      78              :  *
      79              :  *  Puts a character into console output buffer. It will be sent
      80              :  *  to a console asynchronously, e.g. using an IRQ handler.
      81              :  *
      82              :  *  @return <0 on error, otherwise 0.
      83              :  */
      84            1 : int console_putchar(char c);
      85              : 
      86              : /** @brief Initialize console_getline() call.
      87              :  *
      88              :  *  This function should be called once to initialize pull-style
      89              :  *  access to console via console_getline() function. This function
      90              :  *  supersedes, and incompatible with, callback (push-style) console
      91              :  *  handling (via console_input_fn callback, etc.).
      92              :  */
      93            1 : void console_getline_init(void);
      94              : 
      95              : /** @brief Get next line from console input buffer.
      96              :  *
      97              :  *  Return next input line from console. Until full line is available,
      98              :  *  this function will block. This function is similar to ANSI C
      99              :  *  gets() function (except a line is returned in system-owned buffer,
     100              :  *  and system takes care of the buffer overflow checks) and is
     101              :  *  intended to ease porting of existing software. Before this function
     102              :  *  can be used, console_getline_init() should be called once. This
     103              :  *  function is incompatible with native Zephyr callback-based console
     104              :  *  input processing, shell subsystem, or console_getchar().
     105              :  *
     106              :  *  @return A pointer to a line read, not including EOL character(s).
     107              :  *          A line resides in a system-owned buffer, so an application
     108              :  *          should finish any processing of this line immediately
     109              :  *          after console_getline() call, or the buffer can be reused.
     110              :  */
     111            1 : char *console_getline(void);
     112              : 
     113              : #ifdef __cplusplus
     114              : }
     115              : #endif
     116              : 
     117              : /**
     118              :  * @}
     119              :  */
     120              : 
     121              : #endif /* ZEPHYR_INCLUDE_CONSOLE_CONSOLE_H_ */
        

Generated by: LCOV version 2.0-1