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 59 Temple Place, Suite 330, Boston, MA 02111 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 char t_eof; 65 char t_eol; 66 char t_eol2; 67 char t_erase; 68 char t_werase; 69 char t_kill; 70 char t_reprint; 71 char t_intr; 72 char t_quit; 73 char t_susp; 74 char t_dsusp; 75 char t_start; 76 char t_stop; 77 char t_lnext; 78 char t_flush; 79 char t_status; 80 } _RL_TTY_CHARS; 81 82 #endif /* _RLTTY_H_ */ 83