17736Sjoehw/* rltty.h - tty driver-related definitions used by some library files. */
27736Sjoehw
37736Sjoehw/* Copyright (C) 1995 Free Software Foundation, Inc.
47736Sjoehw
57736Sjoehw   This file contains the Readline Library (the Library), a set of
67736Sjoehw   routines for providing Emacs style line input to programs that ask
77736Sjoehw   for it.
87736Sjoehw
97736Sjoehw   The Library is free software; you can redistribute it and/or modify
107736Sjoehw   it under the terms of the GNU General Public License as published by
117736Sjoehw   the Free Software Foundation; either version 2, or (at your option)
127736Sjoehw   any later version.
137736Sjoehw
147736Sjoehw   The Library is distributed in the hope that it will be useful, but
157736Sjoehw   WITHOUT ANY WARRANTY; without even the implied warranty of
167736Sjoehw   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
177736Sjoehw   General Public License for more details.
187736Sjoehw
197736Sjoehw   The GNU General Public License is often shipped with GNU software, and
207736Sjoehw   is generally kept in a file called COPYING or LICENSE.  If you do not
217736Sjoehw   have a copy of the license, write to the Free Software Foundation,
227736Sjoehw   59 Temple Place, Suite 330, Boston, MA 02111 USA. */
237736Sjoehw
247736Sjoehw#if !defined (_RLTTY_H_)
257736Sjoehw#define _RLTTY_H_
267736Sjoehw
277736Sjoehw/* Posix systems use termios and the Posix signal functions. */
287736Sjoehw#if defined (TERMIOS_TTY_DRIVER)
297736Sjoehw#  include <termios.h>
307736Sjoehw#endif /* TERMIOS_TTY_DRIVER */
317736Sjoehw
327736Sjoehw/* System V machines use termio. */
337736Sjoehw#if defined (TERMIO_TTY_DRIVER)
347736Sjoehw#  include <termio.h>
357736Sjoehw#  if !defined (TCOON)
367736Sjoehw#    define TCOON 1
377736Sjoehw#  endif
387736Sjoehw#endif /* TERMIO_TTY_DRIVER */
397736Sjoehw
407736Sjoehw/* Other (BSD) machines use sgtty. */
417736Sjoehw#if defined (NEW_TTY_DRIVER)
427736Sjoehw#  include <sgtty.h>
437736Sjoehw#endif
447736Sjoehw
457736Sjoehw#include "rlwinsize.h"
467736Sjoehw
477736Sjoehw/* Define _POSIX_VDISABLE if we are not using the `new' tty driver and
487736Sjoehw   it is not already defined.  It is used both to determine if a
497736Sjoehw   special character is disabled and to disable certain special
507736Sjoehw   characters.  Posix systems should set to 0, USG systems to -1. */
517736Sjoehw#if !defined (NEW_TTY_DRIVER) && !defined (_POSIX_VDISABLE)
527736Sjoehw#  if defined (_SVR4_VDISABLE)
537736Sjoehw#    define _POSIX_VDISABLE _SVR4_VDISABLE
547736Sjoehw#  else
557736Sjoehw#    if defined (_POSIX_VERSION)
567736Sjoehw#      define _POSIX_VDISABLE 0
577736Sjoehw#    else /* !_POSIX_VERSION */
587736Sjoehw#      define _POSIX_VDISABLE -1
597736Sjoehw#    endif /* !_POSIX_VERSION */
607736Sjoehw#  endif /* !_SVR4_DISABLE */
617736Sjoehw#endif /* !NEW_TTY_DRIVER && !_POSIX_VDISABLE */
627736Sjoehw
637736Sjoehwtypedef struct _rl_tty_chars {
647736Sjoehw  char t_eof;
657736Sjoehw  char t_eol;
667736Sjoehw  char t_eol2;
677736Sjoehw  char t_erase;
687736Sjoehw  char t_werase;
697736Sjoehw  char t_kill;
707736Sjoehw  char t_reprint;
717736Sjoehw  char t_intr;
727736Sjoehw  char t_quit;
737736Sjoehw  char t_susp;
747736Sjoehw  char t_dsusp;
757736Sjoehw  char t_start;
767736Sjoehw  char t_stop;
777736Sjoehw  char t_lnext;
787736Sjoehw  char t_flush;
797736Sjoehw  char t_status;
807736Sjoehw} _RL_TTY_CHARS;
817736Sjoehw
827736Sjoehw#endif /* _RLTTY_H_ */
837736Sjoehw