along with GNU Emacs; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+#ifdef HAVE_TERMIOS
+#define HAVE_TCATTR
+#endif
\f
/* Include the proper files. */
#ifdef HAVE_TERMIO
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;
advantage to using tabs over spaces. */
-
/* For each tty parameter structure that Emacs might want to save and restore,
- include an element for it in this structure,
- define a pair of numbered macros to get and set it and return
/* There is always one of the following elements, so there is no need
for dummy get and set definitions. */
-#ifdef HAVE_TERMIOS
+#ifdef HAVE_TCATTR
struct termios main;
#else
#ifdef HAVE_TERMIO
#endif
#endif
#endif
-
-#ifdef HAVE_TERMIOS
-#define HAVE_TCATTR
+#ifdef TIOCGLTC
+ struct ltchars ltchars;
#endif
+#ifdef TIOCGETC
+ struct tchars tchars;
+ int lmode;
+#endif
+};
+\f
+/* Define EMACS_GET_TTY and EMACS_SET_TTY,
+ the macros for reading and setting parts of `struct emacs_tty'. */
#ifdef HAVE_TCATTR
#endif
#ifdef TIOCGLTC
- struct ltchars ltchars;
#define EMACS_GET_TTY_2(fd, p) \
(ioctl ((fd), TIOCGLTC, &(p)->ltchars) != -1)
#define EMACS_SET_TTY_2(fd, p, waitp) \
#endif /* TIOCGLTC */
#ifdef TIOCGETC
- struct tchars tchars;
- int lmode;
#define EMACS_GET_TTY_3(fd, p) \
(ioctl ((fd), TIOCGETC, &(p)->tchars) != -1 \
&& ioctl ((fd), TIOCLGET, &(p)->lmode) != -1)
#define EMACS_SET_TTY_3(fd, p, waitp) 1
#endif /* TIOCGLTC */
-};
-
/* Define these to be a concatenation of all the EMACS_{GET,SET}_TTY_n
macros. */
#define EMACS_GET_TTY(fd, tc) \
(EMACS_SET_TTY_1 (fd, tc, waitp) \
&& EMACS_SET_TTY_2 (fd, tc, waitp) \
&& EMACS_SET_TTY_3 (fd, tc, waitp))
-
+\f
+/* Define EMACS_TTY_TABS_OK. */
#ifdef HAVE_TERMIOS