1 /* rltty.h - tty driver-related definitions used by some library files. */ 2 3 /* Copyright (C) 1995-2009 Free Software Foundation, Inc. 4 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. 7 8 Readline is free software: you can redistribute it and/or modify 9 it under the terms of the GNU General Public License as published by 10 the Free Software Foundation, either version 3 of the License, or 11 (at your option) any later version. 12 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. 17 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 */ 21 22 #if !defined (_RLTTY_H_) 23 #define _RLTTY_H_ 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 61 typedef struct _rl_tty_chars { 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; 78 } _RL_TTY_CHARS; 79 80 #endif /* _RLTTY_H_ */ 81