This file is part of GNU Emacs.
-GNU Emacs is free software; you can redistribute it and/or modify
+GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
-along with GNU Emacs; see the file COPYING. If not, write to
-the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA. */
+along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#ifdef HAVE_TERMIOS
#define HAVE_TCATTR
#endif
#else /* not HAVE_TERMIO */
#ifdef HAVE_TERMIOS
-#if defined(_AIX) && defined(_I386)
-#include <termios.h> /* termios.h needs to be before termio.h */
-#include <termio.h>
-#else /* not (_AIX && _I386) */
#ifndef NO_TERMIO
#include <termio.h>
#endif
#include <termios.h>
-#endif /* not (_AIX && _I386) */
#define INCLUDED_FCNTL
#include <fcntl.h>
#else /* neither HAVE_TERMIO nor HAVE_TERMIOS */
-#ifndef VMS
#ifndef DOS_NT
#include <sgtty.h>
#endif /* not DOS_NT */
-#else /* VMS */
-#include <descrip.h>
-static struct iosb
-{
- short status;
- short offset;
- short termlen;
- short term;
-} input_iosb;
-
-extern int waiting_for_ast;
-extern int stop_input;
-extern int input_ef;
-extern int timer_ef;
-extern int process_ef;
-extern int input_eflist;
-extern int timer_eflist;
-
-static $DESCRIPTOR (input_dsc, "TT");
-static int terminator_mask[2] = { 0, 0 };
-
-static struct sensemode {
- short status;
- unsigned char xmit_baud;
- unsigned char rcv_baud;
- unsigned char crfill;
- unsigned char lffill;
- unsigned char parity;
- unsigned char unused;
- char class;
- char type;
- short scr_wid;
- unsigned long tt_char : 24, scr_len : 8;
- unsigned long tt2_char;
-} sensemode_iosb;
-#endif /* VMS */
#endif /* not HAVE_TERMIOS */
#endif /* not HAVE_TERMIO */
#include <termios.h>
#endif
-#ifdef AIXHFT
-/* Get files for keyboard remapping */
-#define HFNKEYS 2
-#include <sys/hft.h>
-#include <sys/devinfo.h>
-#endif
-
-/* Get rid of LLITOUT in 4.1, since it is said to stimulate kernel bugs. */
-#ifdef BSD4_1
-#undef LLITOUT
-#define LLITOUT 0
-#endif /* 4.1 */
-
#ifdef NEED_BSDTTY
#include <sys/bsdtty.h>
#endif
#include <unistd.h>
#endif
-#ifdef SYSV_PTYS
-#include <sys/types.h>
-#include <sys/tty.h>
-#include <sys/pty.h>
-#endif
-
\f
/* Special cases - inhibiting the use of certain features. */
-#ifdef BROKEN_TIOCGETC
-#undef TIOCGETC /* Avoid confusing some conditionals that test this. */
-#endif
-
/* Allow m- file to inhibit use of FIONREAD. */
#ifdef BROKEN_FIONREAD
#undef FIONREAD
EMACS_SET_TTY_PGRP(int FD, int *PGID) sets the terminal FD's
current process group to *PGID. Return -1 if there is an error. */
-#ifdef HPUX
/* HPUX tty process group stuff doesn't work, says the anonymous voice
from the past. */
-#else
+#ifndef HPUX
#ifdef TIOCGPGRP
#define EMACS_HAVE_TTY_PGRP
#else
#ifdef HAVE_TERMIOS
#define EMACS_HAVE_TTY_PGRP
-#endif
-#endif
-#endif
+#endif /* HAVE_TERMIOS */
+#endif /* TIOCGPGRP */
+#endif /* not HPUX */
#ifdef EMACS_HAVE_TTY_PGRP
-#if defined (HAVE_TERMIOS) && ! defined (BSD_TERMIOS)
-
-#define EMACS_GET_TTY_PGRP(fd, pgid) (*(pgid) = tcgetpgrp ((fd)))
-#define EMACS_SET_TTY_PGRP(fd, pgid) (tcsetpgrp ((fd), *(pgid)))
-
-#else
#ifdef TIOCSPGRP
#define EMACS_GET_TTY_PGRP(fd, pgid) (ioctl ((fd), TIOCGPGRP, (pgid)))
#define EMACS_SET_TTY_PGRP(fd, pgid) (ioctl ((fd), TIOCSPGRP, (pgid)))
-#endif
-#endif
+#endif /* TIOCSPGRP */
-#else
+#else /* not EMACS_SET_TTY_PGRP */
/* Just ignore this for now and hope for the best */
#define EMACS_GET_TTY_PGRP(fd, pgid) 0
#define EMACS_SET_TTY_PGRP(fd, pgif) 0
-#endif
+#endif /* not EMACS_SET_TTY_PGRP */
/* EMACS_GETPGRP (arg) returns the process group of the process. */
#ifdef HAVE_TERMIO
struct termio main;
#else
-#ifdef VMS
- struct sensemode main;
-#else
#ifdef DOS_NT
int main;
#else /* not DOS_NT */
#endif /* not DOS_NT */
#endif
#endif
-#endif
/* If we have TERMIOS, we don't need to do this - they're taken care of
by the tc*attr calls. */
#define EMACS_TTY_TABS_OK(p) (((p)->main.c_oflag & TABDLY) != TAB3)
#else /* neither HAVE_TERMIO nor HAVE_TERMIOS */
-#ifdef VMS
-
-#define EMACS_TTY_TABS_OK(p) (((p)->main.tt_char & TT$M_MECHTAB) != 0)
-
-#else
#ifdef DOS_NT
#define EMACS_TTY_TABS_OK(p) 0
#define EMACS_TTY_TABS_OK(p) (((p)->main.sg_flags & XTABS) != XTABS)
#endif /* not DOS_NT */
-#endif /* not def VMS */
#endif /* not def HAVE_TERMIO */
#endif /* not def HAVE_TERMIOS */