* remote-hms.c, ser-go32.c, serial.h: Change from
[external/binutils.git] / gdb / serial.h
1 /* Remote serial support interface definitions for GDB, the GNU Debugger.
2    Copyright 1992 Free Software Foundation, Inc.
3
4 This file is part of GDB.
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
19
20 #ifdef HAVE_TERMIO
21
22 #include <termios.h>
23 #include <unistd.h>
24
25 struct ttystate
26 {
27   int flags;                    /* Flags from fcntl F_GETFL */
28   struct termios termios;       /* old tty driver settings */
29 };
30
31 #else /* not HAVE_TERMIO */
32
33 #include <sgtty.h>
34
35 struct ttystate {
36   int flags;                    /* Flags from fcntl F_GETFL */
37   struct sgttyb sgttyb;         /* old tty driver settings */
38 };
39
40 #endif /* not HAVE_TERMIO */
41 /* Return a sensible default name for a serial device, something which
42    can be used as an argument to serial_open.  */
43    
44 const char *serial_default_name PARAMS ((void));
45
46 /* Try to open the serial device "name", return 1 if ok, 0 if not.  */
47
48 int serial_open PARAMS ((const char *name));
49
50 /* Turn the port into raw mode.  */
51
52 void serial_raw PARAMS ((int fd, struct ttystate *oldstate));
53
54 /* Turn the port into normal mode.  */
55
56 void serial_normal PARAMS ((void));
57
58 /* Read one char from the serial device with <TO>-second timeout.
59    Returns char if ok, else EOF, -2 for timeout, -3 for anything else  */
60
61 int serial_readchar PARAMS ((int to));
62
63 /* Set the baudrate to the decimal value supplied, and return 1, or fail and
64    return 0.  */
65
66 int serial_setbaudrate PARAMS ((int rate));
67
68 /* Return the next rate in the sequence, or return 0 for failure.  */
69
70 /* Write some chars to the device, returns 0 for failure.  See errno for
71    details. */
72
73 int serial_write PARAMS ((const char *str, int len));
74
75 /* Close the serial port */
76
77 void serial_close PARAMS ((void));