X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/c7040669fac862aa34a1d8dbd2107d43af4a6d30..49f18bccba0bc666c50057831862d224639deeb2:/src/systty.h diff --git a/src/systty.h b/src/systty.h index 22dc37288b..6d6a6f01ea 100644 --- a/src/systty.h +++ b/src/systty.h @@ -1,11 +1,12 @@ /* systty.h - System-dependent definitions for terminals. - Copyright (C) 1993 Free Software Foundation, Inc. + Copyright (C) 1993, 1994, 2002, 2003, 2004, + 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Emacs. 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 1, or (at your option) +the Free Software Foundation; either version 2, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, @@ -15,35 +16,13 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. */ #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 @@ -53,24 +32,28 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef NO_TERMIO #include #endif /* not NO_TERMIO */ +#ifndef INCLUDED_FCNTL +#define INCLUDED_FCNTL #include -#else +#endif +#else /* not HAVE_TERMIO */ #ifdef HAVE_TERMIOS #if defined(_AIX) && defined(_I386) #include /* termios.h needs to be before termio.h */ #include -#else +#else /* not (_AIX && _I386) */ #ifndef NO_TERMIO #include #endif #include -#endif /* _AIX && _I386 */ +#endif /* not (_AIX && _I386) */ +#define INCLUDED_FCNTL #include #else /* neither HAVE_TERMIO nor HAVE_TERMIOS */ #ifndef VMS -#ifndef MSDOS +#ifndef DOS_NT #include -#endif +#endif /* not DOS_NT */ #else /* VMS */ #include static struct iosb @@ -83,15 +66,9 @@ static struct iosb extern int waiting_for_ast; extern int stop_input; -#if 0 /* VAX C doeasn't understand initializing declarations */ -extern int input_ef = 0; -extern int timer_ef = 0; -extern int process_ef = 0; -#else extern int input_ef; extern int timer_ef; extern int process_ef; -#endif extern int input_eflist; extern int timer_eflist; @@ -116,7 +93,12 @@ static struct sensemode { #endif /* not HAVE_TERMIOS */ #endif /* not HAVE_TERMIO */ -#ifdef AIX +#ifdef __GNU_LIBRARY__ +#include +#include +#endif + +#ifdef AIXHFT /* Get files for keyboard remapping */ #define HFNKEYS 2 #include @@ -131,27 +113,18 @@ static struct sensemode { #ifdef NEED_BSDTTY #include -#endif +#endif #if defined (HPUX) && defined (HAVE_PTYS) #include #endif - + #ifdef AIX #include -#include -#define UNISTD_H_INCLUDED #endif /* AIX */ -#ifdef IRIX4 -/* Get _getpty prototype */ -#include -#define UNISTD_H_INCLUDED -#endif - -#if defined (POSIX) && !defined (UNISTD_H_INCLUDED) && defined (HAVE_UNISTD_H) +#if (defined (POSIX) || defined (NEED_UNISTD_H)) && defined (HAVE_UNISTD_H) #include -#define UNISTD_H_INCLUDED #endif #ifdef SYSV_PTYS @@ -297,19 +270,13 @@ static struct sensemode { #endif -/* EMACS_GETPGRP (arg) returns the process group of the terminal. */ +/* EMACS_GETPGRP (arg) returns the process group of the process. */ -#if defined (USG) && !defined (GETPGRP_NEEDS_ARG) -# if !defined (GETPGRP_NO_ARG) -# define GETPGRP_NO_ARG -# endif -#endif - -#if defined (GETPGRP_NO_ARG) +#if defined (GETPGRP_VOID) # define EMACS_GETPGRP(x) getpgrp() #else # define EMACS_GETPGRP(x) getpgrp(x) -#endif /* !GETPGRP_NO_ARG */ +#endif /* !GETPGRP_VOID */ /* Manipulate a TTY's input/output processing parameters. */ @@ -324,11 +291,10 @@ static struct sensemode { of the tty on FD in *P. Return zero if all's well, or -1 if we ran into an error we couldn't deal with. - EMACS_SET_TTY (int FD, struct emacs_tty *P, int waitp) + EMACS_SET_TTY (int FD, struct emacs_tty *P, int flushp) sets the parameters of the tty on FD according to the contents of - *P. If waitp is non-zero, we wait for all queued output to be - written before making the change; otherwise, we forget any queued - input and make the change immediately. + *P. If flushp is non-zero, we discard queued input to be + 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 @@ -354,11 +320,11 @@ struct emacs_tty { #ifdef VMS struct sensemode main; #else -#ifdef MSDOS +#ifdef DOS_NT int main; -#else +#else /* not DOS_NT */ struct sgttyb main; -#endif +#endif /* not DOS_NT */ #endif #endif #endif @@ -385,6 +351,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. */ @@ -409,12 +379,15 @@ struct emacs_tty { #else -#ifdef MSDOS +#ifdef DOS_NT #define EMACS_TTY_TABS_OK(p) 0 -#else /* not MSDOS */ +#else /* not DOS_NT */ #define EMACS_TTY_TABS_OK(p) (((p)->main.sg_flags & XTABS) != XTABS) -#endif /* not MSDOS */ +#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) */