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
63typedef 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