1/* Generic serial interface functions. 2 3 Copyright (C) 2005-2020 Free Software Foundation, Inc. 4 5 This file is part of GDB. 6 7 This program is free software; you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation; either version 3 of the License, or 10 (at your option) any later version. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 19 20#ifndef SER_BASE_H 21#define SER_BASE_H 22 23#include "serial.h" /* For serial_ttystate. */ 24 25struct serial; 26struct ui_file; 27 28extern int generic_readchar (struct serial *scb, int timeout, 29 int (*do_readchar) (struct serial *scb, 30 int timeout)); 31extern int ser_base_flush_output (struct serial *scb); 32extern int ser_base_flush_input (struct serial *scb); 33extern int ser_base_send_break (struct serial *scb); 34extern void ser_base_raw (struct serial *scb); 35extern serial_ttystate ser_base_get_tty_state (struct serial *scb); 36extern serial_ttystate ser_base_copy_tty_state (struct serial *scb, 37 serial_ttystate ttystate); 38extern int ser_base_set_tty_state (struct serial *scb, 39 serial_ttystate ttystate); 40extern void ser_base_print_tty_state (struct serial *scb, 41 serial_ttystate ttystate, 42 struct ui_file *stream); 43extern int ser_base_setbaudrate (struct serial *scb, int rate); 44extern int ser_base_setstopbits (struct serial *scb, int num); 45extern int ser_base_setparity (struct serial *scb, int parity); 46extern int ser_base_drain_output (struct serial *scb); 47 48extern int ser_base_write (struct serial *scb, const void *buf, size_t count); 49 50extern void ser_base_async (struct serial *scb, int async_p); 51extern int ser_base_readchar (struct serial *scb, int timeout); 52 53#endif 54