121308Sache/* rltty.h - tty driver-related definitions used by some library files. */ 221308Sache 321308Sache/* Copyright (C) 1995 Free Software Foundation, Inc. 421308Sache 521308Sache This file contains the Readline Library (the Library), a set of 621308Sache routines for providing Emacs style line input to programs that ask 721308Sache for it. 821308Sache 921308Sache The Library is free software; you can redistribute it and/or modify 1021308Sache it under the terms of the GNU General Public License as published by 1158310Sache the Free Software Foundation; either version 2, or (at your option) 1221308Sache any later version. 1321308Sache 1421308Sache The Library is distributed in the hope that it will be useful, but 1521308Sache WITHOUT ANY WARRANTY; without even the implied warranty of 1621308Sache MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1721308Sache General Public License for more details. 1821308Sache 1921308Sache The GNU General Public License is often shipped with GNU software, and 2021308Sache is generally kept in a file called COPYING or LICENSE. If you do not 2121308Sache have a copy of the license, write to the Free Software Foundation, 2258310Sache 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ 2321308Sache 2421308Sache#if !defined (_RLTTY_H_) 2558310Sache#define _RLTTY_H_ 2621308Sache 2721308Sache/* Posix systems use termios and the Posix signal functions. */ 2821308Sache#if defined (TERMIOS_TTY_DRIVER) 2921308Sache# include <termios.h> 3021308Sache#endif /* TERMIOS_TTY_DRIVER */ 3121308Sache 3221308Sache/* System V machines use termio. */ 3321308Sache#if defined (TERMIO_TTY_DRIVER) 3421308Sache# include <termio.h> 3521308Sache# if !defined (TCOON) 3621308Sache# define TCOON 1 3721308Sache# endif 3821308Sache#endif /* TERMIO_TTY_DRIVER */ 3921308Sache 4021308Sache/* Other (BSD) machines use sgtty. */ 4121308Sache#if defined (NEW_TTY_DRIVER) 4221308Sache# include <sgtty.h> 4321308Sache#endif 4421308Sache 4535486Sache#include "rlwinsize.h" 4626497Sache 4721308Sache/* Define _POSIX_VDISABLE if we are not using the `new' tty driver and 4821308Sache it is not already defined. It is used both to determine if a 4921308Sache special character is disabled and to disable certain special 5021308Sache characters. Posix systems should set to 0, USG systems to -1. */ 5121308Sache#if !defined (NEW_TTY_DRIVER) && !defined (_POSIX_VDISABLE) 5221308Sache# if defined (_SVR4_VDISABLE) 5321308Sache# define _POSIX_VDISABLE _SVR4_VDISABLE 5421308Sache# else 5521308Sache# if defined (_POSIX_VERSION) 5621308Sache# define _POSIX_VDISABLE 0 5721308Sache# else /* !_POSIX_VERSION */ 5821308Sache# define _POSIX_VDISABLE -1 5921308Sache# endif /* !_POSIX_VERSION */ 6021308Sache# endif /* !_SVR4_DISABLE */ 6121308Sache#endif /* !NEW_TTY_DRIVER && !_POSIX_VDISABLE */ 6221308Sache 6358310Sachetypedef struct _rl_tty_chars { 64136644Sache unsigned char t_eof; 65136644Sache unsigned char t_eol; 66136644Sache unsigned char t_eol2; 67136644Sache unsigned char t_erase; 68136644Sache unsigned char t_werase; 69136644Sache unsigned char t_kill; 70136644Sache unsigned char t_reprint; 71136644Sache unsigned char t_intr; 72136644Sache unsigned char t_quit; 73136644Sache unsigned char t_susp; 74136644Sache unsigned char t_dsusp; 75136644Sache unsigned char t_start; 76136644Sache unsigned char t_stop; 77136644Sache unsigned char t_lnext; 78136644Sache unsigned char t_flush; 79136644Sache unsigned char t_status; 8058310Sache} _RL_TTY_CHARS; 8158310Sache 8221308Sache#endif /* _RLTTY_H_ */ 83