1 /* Generic serial interface functions. 2 3 Copyright (C) 2005, 2007, 2008, 2009, 2010 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 struct serial; 24 struct ui_file; 25 26 extern int generic_readchar (struct serial *scb, int timeout, 27 int (*do_readchar) (struct serial *scb, 28 int timeout)); 29 extern int ser_base_flush_output (struct serial *scb); 30 extern int ser_base_flush_input (struct serial *scb); 31 extern int ser_base_send_break (struct serial *scb); 32 extern void ser_base_raw (struct serial *scb); 33 extern serial_ttystate ser_base_get_tty_state (struct serial *scb); 34 extern int ser_base_set_tty_state (struct serial *scb, 35 serial_ttystate ttystate); 36 extern void ser_base_print_tty_state (struct serial *scb, 37 serial_ttystate ttystate, 38 struct ui_file *stream); 39 extern int ser_base_noflush_set_tty_state (struct serial *scb, 40 serial_ttystate new_ttystate, 41 serial_ttystate old_ttystate); 42 extern int ser_base_setbaudrate (struct serial *scb, int rate); 43 extern int ser_base_setstopbits (struct serial *scb, int rate); 44 extern int ser_base_drain_output (struct serial *scb); 45 46 extern int ser_base_write (struct serial *scb, const char *str, int len); 47 48 extern void ser_base_async (struct serial *scb, int async_p); 49 extern int ser_base_readchar (struct serial *scb, int timeout); 50 51 #endif 52