1 | /* rltty.h - tty driver-related definitions used by some library files. */ |
2 | |
3 | /* Copyright (C) 1995 Free Software Foundation, Inc. |
4 | |
5 | This file contains the Readline Library (the Library), a set of |
6 | routines for providing Emacs style line input to programs that ask |
7 | for it. |
8 | |
9 | The Library is free software; you can redistribute it and/or modify |
10 | it under the terms of the GNU General Public License as published by |
11 | the Free Software Foundation; either version 2, or (at your option) |
12 | any later version. |
13 | |
14 | The Library is distributed in the hope that it will be useful, but |
15 | WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
17 | General Public License for more details. |
18 | |
19 | The GNU General Public License is often shipped with GNU software, and |
20 | is generally kept in a file called COPYING or LICENSE. If you do not |
21 | have a copy of the license, write to the Free Software Foundation, |
22 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ |
23 | |
24 | #if !defined (_RLTTY_H_) |
25 | #define _RLTTY_H_ |
26 | |
27 | /* Posix systems use termios and the Posix signal functions. */ |
28 | #if defined (TERMIOS_TTY_DRIVER) |
29 | # include <termios.h> |
30 | #endif /* TERMIOS_TTY_DRIVER */ |
31 | |
32 | /* System V machines use termio. */ |
33 | #if defined (TERMIO_TTY_DRIVER) |
34 | # include <termio.h> |
35 | # if !defined (TCOON) |
36 | # define TCOON 1 |
37 | # endif |
38 | #endif /* TERMIO_TTY_DRIVER */ |
39 | |
40 | /* Other (BSD) machines use sgtty. */ |
41 | #if defined (NEW_TTY_DRIVER) |
42 | # include <sgtty.h> |
43 | #endif |
44 | |
45 | #include "rlwinsize.h" |
46 | |
47 | /* Define _POSIX_VDISABLE if we are not using the `new' tty driver and |
48 | it is not already defined. It is used both to determine if a |
49 | special character is disabled and to disable certain special |
50 | characters. Posix systems should set to 0, USG systems to -1. */ |
51 | #if !defined (NEW_TTY_DRIVER) && !defined (_POSIX_VDISABLE) |
52 | # if defined (_SVR4_VDISABLE) |
53 | # define _POSIX_VDISABLE _SVR4_VDISABLE |
54 | # else |
55 | # if defined (_POSIX_VERSION) |
56 | # define _POSIX_VDISABLE 0 |
57 | # else /* !_POSIX_VERSION */ |
58 | # define _POSIX_VDISABLE -1 |
59 | # endif /* !_POSIX_VERSION */ |
60 | # endif /* !_SVR4_DISABLE */ |
61 | #endif /* !NEW_TTY_DRIVER && !_POSIX_VDISABLE */ |
62 | |
63 | typedef struct _rl_tty_chars { |
64 | unsigned char t_eof; |
65 | unsigned char t_eol; |
66 | unsigned char t_eol2; |
67 | unsigned char t_erase; |
68 | unsigned char t_werase; |
69 | unsigned char t_kill; |
70 | unsigned char t_reprint; |
71 | unsigned char t_intr; |
72 | unsigned char t_quit; |
73 | unsigned char t_susp; |
74 | unsigned char t_dsusp; |
75 | unsigned char t_start; |
76 | unsigned char t_stop; |
77 | unsigned char t_lnext; |
78 | unsigned char t_flush; |
79 | unsigned char t_status; |
80 | } _RL_TTY_CHARS; |
81 | |
82 | #endif /* _RLTTY_H_ */ |
83 | |