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