|
@@ -1,57 +1,30 @@
|
|
|
-/* Copyright (C) 1997 Free Software Foundation, Inc.
|
|
|
- This file is part of the GNU C Library.
|
|
|
-
|
|
|
- The GNU C Library is free software; you can redistribute it and/or
|
|
|
- modify it under the terms of the GNU Library General Public License as
|
|
|
- published by the Free Software Foundation; either version 2 of the
|
|
|
- License, or (at your option) any later version.
|
|
|
-
|
|
|
- The GNU C Library is distributed in the hope that it will be useful,
|
|
|
- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
- Library General Public License for more details.
|
|
|
-
|
|
|
- You should have received a copy of the GNU Library General Public
|
|
|
- License along with the GNU C Library; see the file COPYING.LIB. If not,
|
|
|
- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
|
- Boston, MA 02111-1307, USA. */
|
|
|
-
|
|
|
#ifndef _KERNEL_TERMIOS_H
|
|
|
#define _KERNEL_TERMIOS_H 1
|
|
|
|
|
|
-#ifndef __powerpc__
|
|
|
-/* The following corresponds to the values from the Linux 2.1.20 kernel. */
|
|
|
-
|
|
|
-#define __KERNEL_NCCS 19
|
|
|
-
|
|
|
-struct __kernel_termios
|
|
|
- {
|
|
|
- tcflag_t c_iflag; /* input mode flags */
|
|
|
- tcflag_t c_oflag; /* output mode flags */
|
|
|
- tcflag_t c_cflag; /* control mode flags */
|
|
|
- tcflag_t c_lflag; /* local mode flags */
|
|
|
- cc_t c_line; /* line discipline */
|
|
|
- cc_t c_cc[__KERNEL_NCCS]; /* control characters */
|
|
|
- };
|
|
|
-
|
|
|
-#else /* powerpc */
|
|
|
-
|
|
|
-#define _HAVE_C_ISPEED
|
|
|
-#define _HAVE_C_OSPEED
|
|
|
-
|
|
|
-#define __KERNEL_NCCS 19
|
|
|
-struct __kernel_termios
|
|
|
- {
|
|
|
- tcflag_t c_iflag; /* input mode flags */
|
|
|
- tcflag_t c_oflag; /* output mode flags */
|
|
|
- tcflag_t c_cflag; /* control mode flags */
|
|
|
- tcflag_t c_lflag; /* local mode flags */
|
|
|
- cc_t c_cc[__KERNEL_NCCS]; /* control characters */
|
|
|
- cc_t c_line; /* line discipline */
|
|
|
- speed_t c_ispeed; /* input speed */
|
|
|
- speed_t c_ospeed; /* output speed */
|
|
|
- };
|
|
|
-
|
|
|
-#endif
|
|
|
+#include <sys/types.h>
|
|
|
+
|
|
|
+/* Pull in whatever this particular arch's kernel thinks the kernel version of
|
|
|
+ * struct termios should look like. It turns out that each arch has a different
|
|
|
+ * opinion on the subject, and different kernel revs use different names... */
|
|
|
+#define termio __kernel_termios
|
|
|
+#define winsize __kernel_winsize
|
|
|
+#define cc_t __kernel_cc_t
|
|
|
+#define speed_t __kernel_speed_t
|
|
|
+#define tcflag_t __kernel_tcflag_t
|
|
|
+#undef NCCS
|
|
|
+#include <asm/termios.h>
|
|
|
+#define __KERNEL_NCCS NCCS
|
|
|
+#undef NCCS
|
|
|
+#undef termio
|
|
|
+#undef winsize
|
|
|
+#undef cc_t
|
|
|
+#undef speed_t
|
|
|
+#undef tcflag_t
|
|
|
+
|
|
|
+/* Now pull in libc's version of termios */
|
|
|
+#define termios libc_termios
|
|
|
+#include <termios.h>
|
|
|
+#undef termios
|
|
|
+
|
|
|
+#endif /* _KERNEL_TERMIOS_H */
|
|
|
|
|
|
-#endif /* kernel_termios.h */
|