X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/afcaa5036f01fd37a3b793d4a2f22a7015f2eac3..dcf71371b1a68dc6e19776f33f60c9620c33f3a8:/src/systty.h diff --git a/src/systty.h b/src/systty.h index d9376fa18e..2a9a355fb0 100644 --- a/src/systty.h +++ b/src/systty.h @@ -1,12 +1,13 @@ /* systty.h - System-dependent definitions for terminals. - Copyright (C) 1993, 1994 Free Software Foundation, Inc. + Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004, + 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. 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 2, 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 @@ -14,43 +15,15 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 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., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ +along with GNU Emacs. If not, see . */ #ifdef HAVE_TERMIOS #define HAVE_TCATTR #endif -/* If we defined these before and we are about to redefine them, - prevent alarming warnings. */ -#ifdef BSD_TERMIOS -#undef NL0 -#undef NL1 -#undef CR0 -#undef CR1 -#undef CR2 -#undef CR3 -#undef TAB0 -#undef TAB1 -#undef TAB2 -#undef XTABS -#undef BS0 -#undef BS1 -#undef FF0 -#undef FF1 -#undef ECHO -#undef NOFLSH -#undef TOSTOP -#undef FLUSHO -#undef PENDIN -#endif /* Include the proper files. */ #ifdef HAVE_TERMIO -#ifdef __DGUX -#include -#endif #ifndef NO_TERMIO #include #endif /* not NO_TERMIO */ @@ -60,58 +33,16 @@ Boston, MA 02111-1307, USA. */ #endif #else /* not HAVE_TERMIO */ #ifdef HAVE_TERMIOS -#if defined(_AIX) && defined(_I386) -#include /* termios.h needs to be before termio.h */ -#include -#else /* not HAVE_TERMIOS */ #ifndef NO_TERMIO #include #endif #include -#endif /* _AIX && _I386 */ #define INCLUDED_FCNTL #include #else /* neither HAVE_TERMIO nor HAVE_TERMIOS */ -#ifndef VMS #ifndef DOS_NT #include #endif /* not DOS_NT */ -#else /* VMS */ -#include -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 */ @@ -120,22 +51,9 @@ static struct sensemode { #include #endif -#ifdef AIXHFT -/* Get files for keyboard remapping */ -#define HFNKEYS 2 -#include -#include -#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 -#endif +#endif #if defined (HPUX) && defined (HAVE_PTYS) #include @@ -149,45 +67,9 @@ static struct sensemode { #include #endif -#ifdef SYSV_PTYS -#include -#include -#ifdef titan -#include -#include -#endif -#ifndef NO_PTY_H -#include -#endif -#endif - -/* saka@pfu.fujitsu.co.JP writes: - FASYNC defined in this file. But, FASYNC don't working. - so no problem, because unrequest_sigio only need. */ -#if defined (pfa) -#include -#endif - /* Special cases - inhibiting the use of certain features. */ -#ifdef APOLLO -#undef TIOCSTART -#endif - -#ifdef XENIX -#undef TIOCGETC /* Avoid confusing some conditionals that test this. */ -#endif - -#ifdef BROKEN_TIOCGETC -#undef TIOCGETC /* Avoid confusing some conditionals that test this. */ -#endif - -/* UNIPLUS systems may have FIONREAD. */ -#ifdef UNIPLUS -#include -#endif - /* Allow m- file to inhibit use of FIONREAD. */ #ifdef BROKEN_FIONREAD #undef FIONREAD @@ -255,61 +137,49 @@ static struct sensemode { 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) +#if defined (HAVE_TERMIOS) #define EMACS_GET_TTY_PGRP(fd, pgid) (*(pgid) = tcgetpgrp ((fd))) #define EMACS_SET_TTY_PGRP(fd, pgid) (tcsetpgrp ((fd), *(pgid))) -#else +#else /* not HAVE_TERMIOS */ #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 */ +#endif /* HAVE_TERMIOS */ -#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 __GNU_LIBRARY__ -/* GNU libc by default defines getpgrp with no args on all systems. */ -#define GETPGRP_NO_ARG -#else /* not __GNU_LIBRARY__ */ -#if defined (USG) && !defined (GETPGRP_NEEDS_ARG) -# if !defined (GETPGRP_NO_ARG) -# define GETPGRP_NO_ARG -# endif -#endif -#endif /* not __GNU_LIBRARY__ */ - -#if defined (GETPGRP_NO_ARG) +#if defined (GETPGRP_VOID) # define EMACS_GETPGRP(x) getpgrp() -#else +#else /* !GETPGRP_VOID */ # define EMACS_GETPGRP(x) getpgrp(x) -#endif /* !GETPGRP_NO_ARG */ +#endif /* !GETPGRP_VOID */ /* Manipulate a TTY's input/output processing parameters. */ @@ -330,7 +200,7 @@ static struct sensemode { written before making the change. Return 0 if all went well, and -1 if anything failed. - EMACS_TTY_TABS_OK (struct emacs_tty *P) is false iff the kernel + EMACS_TTY_TABS_OK (struct emacs_tty *P) is false if the kernel expands tabs to spaces upon output; in that case, there is no advantage to using tabs over spaces. */ @@ -346,34 +216,30 @@ struct emacs_tty { for dummy get and set definitions. */ #ifdef HAVE_TCATTR struct termios main; -#else +#else /* not HAVE_TCATTR */ #ifdef HAVE_TERMIO struct termio main; -#else -#ifdef VMS - struct sensemode main; -#else +#else /* not HAVE_TERMIO */ #ifdef DOS_NT int main; #else /* not DOS_NT */ struct sgttyb main; #endif /* not DOS_NT */ -#endif -#endif -#endif +#endif /* not HAVE_TERMIO */ +#endif /* not HAVE_TCATTR */ /* If we have TERMIOS, we don't need to do this - they're taken care of by the tc*attr calls. */ #ifndef HAVE_TERMIOS #ifdef HAVE_LTCHARS struct ltchars ltchars; -#endif +#endif /* HAVE_LTCHARS */ #ifdef HAVE_TCHARS struct tchars tchars; int lmode; -#endif -#endif +#endif /* HAVE_TCHARS */ +#endif /* not defined HAVE_TERMIOS */ }; /* Define EMACS_GET_TTY and EMACS_SET_TTY, @@ -384,6 +250,10 @@ struct emacs_tty { expression, so we moved them out to their own functions in sysdep.c. */ #define EMACS_GET_TTY(fd, p) (emacs_get_tty ((fd), (p))) #define EMACS_SET_TTY(fd, p, waitp) (emacs_set_tty ((fd), (p), (waitp))) +#ifdef P_ /* Unfortunately this file is sometimes included before lisp.h */ +extern int emacs_get_tty P_ ((int, struct emacs_tty *)); +extern int emacs_set_tty P_ ((int, struct emacs_tty *, int)); +#endif /* Define EMACS_TTY_TABS_OK. */ @@ -392,9 +262,9 @@ struct emacs_tty { #ifdef TABDLY #define EMACS_TTY_TABS_OK(p) (((p)->main.c_oflag & TABDLY) != TAB3) -#else +#else /* not TABDLY */ #define EMACS_TTY_TABS_OK(p) 1 -#endif +#endif /* not TABDLY */ #else /* not def HAVE_TERMIOS */ #ifdef HAVE_TERMIO @@ -402,11 +272,6 @@ struct emacs_tty { #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 @@ -414,6 +279,8 @@ struct emacs_tty { #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 */ + +/* arch-tag: cf4b90bc-be41-401c-be98-40619178a712 + (do not change this comment) */