| /* Copyright 2018 SiFive, Inc */ |
| /* SPDX-License-Identifier: Apache-2.0 */ |
| |
| #ifndef METAL__TTY_H |
| #define METAL__TTY_H |
| |
| /*! |
| * @file tty.h |
| * @brief API for emulated serial teriminals |
| */ |
| |
| /*! |
| * @brief Write a character to the default output device |
| * |
| * Write a character to the default output device, which for most |
| * targets is the UART serial port. |
| * |
| * putc() does CR/LF mapping. |
| * putc_raw() does not. |
| * |
| * @param c The character to write to the terminal |
| * @return 0 on success, or -1 on failure. |
| */ |
| int metal_tty_putc(int c); |
| |
| /*! |
| * @brief Write a raw character to the default output device |
| * |
| * Write a character to the default output device, which for most |
| * targets is the UART serial port. |
| * |
| * putc() does CR/LF mapping. |
| * putc_raw() does not. |
| * |
| * @param c The character to write to the terminal |
| * @return 0 on success, or -1 on failure. |
| */ |
| int metal_tty_putc_raw(int c); |
| |
| /*! |
| * @brief Get a byte from the default output device |
| * |
| * The default output device, is typically the UART serial port. |
| * |
| * This call is non-blocking, if nothing is ready c==-1 |
| * if something is ready, then c=[0x00 to 0xff] byte value. |
| * |
| * @return 0 on success, or -1 on failure. |
| */ |
| int metal_tty_getc(int *c); |
| |
| #endif |