OSDN Git Service

The previous termios.h strongly appeared to be from a different
authorDavid Schleef <ds@schleef.org>
Fri, 13 Jul 2001 03:21:16 +0000 (03:21 -0000)
committerDavid Schleef <ds@schleef.org>
Fri, 13 Jul 2001 03:21:16 +0000 (03:21 -0000)
architecture.

libc/sysdeps/linux/powerpc/bits/termios.h

index 923de7c..7586848 100644 (file)
@@ -1,5 +1,4 @@
-/* termios type and macro definitions.  Linux version.
-   Copyright (C) 1993, 94, 95, 96, 97, 98, 99 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1999 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
@@ -26,37 +25,38 @@ typedef unsigned int        speed_t;
 typedef unsigned int   tcflag_t;
 
 /* note: this is fixed to be the same as the kernel, not glibc */
+
 #define NCCS 19
-struct 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[NCCS];           /* control characters */
-    cc_t c_line;               /* line discipline */
-    speed_t c_ispeed;          /* input speed */
-    speed_t c_ospeed;          /* output speed */
-  };
+struct 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[NCCS];                /* control characters */
+       cc_t c_line;                    /* line discipline */
+       speed_t c_ispeed;               /* input speed */
+       speed_t c_ospeed;               /* output speed */
+};
 
 /* c_cc characters */
-#define VINTR 0
-#define VQUIT 1
-#define VERASE 2
-#define VKILL 3
-#define VEOF 4
-#define VTIME 5
-#define VMIN 6
-#define VSWTC 7
-#define VSTART 8
-#define VSTOP 9
-#define VSUSP 10
-#define VEOL 11
-#define VREPRINT 12
-#define VDISCARD 13
-#define VWERASE 14
-#define VLNEXT 15
-#define VEOL2 16
+#define VINTR  0
+#define VQUIT  1
+#define VERASE         2
+#define VKILL  3
+#define VEOF   4
+#define VMIN   5
+#define VEOL   6
+#define VTIME  7
+#define VEOL2  8
+#define VSWTC  9
+
+#define VWERASE        10
+#define VREPRINT       11
+#define VSUSP          12
+#define VSTART         13
+#define VSTOP          14
+#define VLNEXT         15
+#define VDISCARD       16
 
 /* c_iflag bits */
 #define IGNBRK 0000001
@@ -68,55 +68,54 @@ struct termios
 #define INLCR  0000100
 #define IGNCR  0000200
 #define ICRNL  0000400
-#define IUCLC  0001000
-#define IXON   0002000
-#define IXANY  0004000
-#define IXOFF  0010000
-#define IMAXBEL        0020000
+#define IXON   0001000
+#define IXOFF  0002000
+/* POSIX.1 doesn't want these... */
+#ifdef __USE_BSD
+# define IXANY         0004000
+# define IUCLC         0010000
+# define IMAXBEL       0020000
+#endif
 
 /* c_oflag bits */
 #define OPOST  0000001
-#define OLCUC  0000002
-#define ONLCR  0000004
+#define ONLCR  0000002
+#define OLCUC  0000004
+
 #define OCRNL  0000010
 #define ONOCR  0000020
 #define ONLRET 0000040
-#define OFILL  0000100
-#define OFDEL  0000200
-#if defined __USE_MISC || defined __USE_XOPEN
-# define NLDLY 0000400
-# define   NL0 0000000
-# define   NL1 0000400
-# define CRDLY 0003000
-# define   CR0 0000000
-# define   CR1 0001000
-# define   CR2 0002000
-# define   CR3 0003000
-# define TABDLY        0014000
-# define   TAB0        0000000
-# define   TAB1        0004000
-# define   TAB2        0010000
-# define   TAB3        0014000
-# define BSDLY 0020000
-# define   BS0 0000000
-# define   BS1 0020000
-# define FFDLY 0100000
-# define   FF0 0000000
-# define   FF1 0100000
-#endif
-
-#define VTDLY  0040000
-#define   VT0  0000000
-#define   VT1  0040000
 
-#ifdef __USE_MISC
-# define XTABS 0014000
-#endif
+#define OFILL  00000100
+#define OFDEL  00000200
+#define NLDLY  00001400
+#define   NL0  00000000
+#define   NL1  00000400
+#define   NL2  00001000
+#define   NL3  00001400
+#define TABDLY 00006000
+#define   TAB0 00000000
+#define   TAB1 00002000
+#define   TAB2 00004000
+#define   TAB3 00006000
+#define CRDLY  00030000
+#define   CR0  00000000
+#define   CR1  00010000
+#define   CR2  00020000
+#define   CR3  00030000
+#define FFDLY  00040000
+#define   FF0  00000000
+#define   FF1  00040000
+#define BSDLY  00100000
+#define   BS0  00000000
+#define   BS1  00100000
+#define VTDLY  00200000
+#define   VT0  00000000
+#define   VT1  00200000
+#define XTABS  01000000 /* Hmm.. Linux/i386 considers this part of TABDLY.. */
 
 /* c_cflag bit meaning */
-#ifdef __USE_MISC
-# define CBAUD 0010017
-#endif
+#define CBAUD  0000377
 #define  B0    0000000         /* hang up */
 #define  B50   0000001
 #define  B75   0000002
@@ -133,81 +132,150 @@ struct termios
 #define  B9600 0000015
 #define  B19200        0000016
 #define  B38400        0000017
-#ifdef __USE_MISC
-# define EXTA B19200
-# define EXTB B38400
-#endif
-#define CSIZE  0000060
-#define   CS5  0000000
-#define   CS6  0000020
-#define   CS7  0000040
-#define   CS8  0000060
-#define CSTOPB 0000100
-#define CREAD  0000200
-#define PARENB 0000400
-#define PARODD 0001000
-#define HUPCL  0002000
-#define CLOCAL 0004000
-#ifdef __USE_MISC
-# define CBAUDEX 0010000
-#endif
-#define  B57600   0010001
-#define  B115200  0010002
-#define  B230400  0010003
-#define  B460800  0010004
-#define  B500000  0010005
-#define  B576000  0010006
-#define  B921600  0010007
-#define  B1000000 0010010
-#define  B1152000 0010011
-#define  B1500000 0010012
-#define  B2000000 0010013
-#define  B2500000 0010014
-#define  B3000000 0010015
-#define  B3500000 0010016
-#define  B4000000 0010017
-#ifdef __USE_MISC
-# define CIBAUD          002003600000          /* input baud rate (not used) */
-# define CRTSCTS  020000000000         /* flow control */
-#endif
+#define EXTA B19200
+#define EXTB B38400
+#define CBAUDEX 0000020
+#define  B57600   00020
+#define  B115200  00021
+#define  B230400  00022
+#define  B460800  00023
+#define  B500000  00024
+#define  B576000  00025
+#define  B921600  00026
+#define  B1000000 00027
+#define  B1152000 00030
+#define  B1500000 00031
+#define  B2000000 00032
+#define  B2500000 00033
+#define  B3000000 00034
+#define  B3500000 00035
+#define  B4000000 00036
+#define __MAX_BAUD B4000000
+
+#define CSIZE  00001400
+#define   CS5  00000000
+#define   CS6  00000400
+#define   CS7  00001000
+#define   CS8  00001400
+
+#define CSTOPB 00002000
+#define CREAD  00004000
+#define PARENB 00010000
+#define PARODD 00020000
+#define HUPCL  00040000
+
+#define CLOCAL 00100000
+#define CRTSCTS          020000000000          /* flow control */
 
 /* c_lflag bits */
-#define ISIG   0000001
-#define ICANON 0000002
-#if defined __USE_MISC || defined __USE_XOPEN
-# define XCASE 0000004
-#endif
-#define ECHO   0000010
-#define ECHOE  0000020
-#define ECHOK  0000040
-#define ECHONL 0000100
-#define NOFLSH 0000200
-#define TOSTOP 0000400
-#ifdef __USE_MISC
-# define ECHOCTL 0001000
-# define ECHOPRT 0002000
-# define ECHOKE         0004000
-# define FLUSHO         0010000
-# define PENDIN         0040000
-#endif
-#define IEXTEN 0100000
+#define ISIG   0x00000080
+#define ICANON 0x00000100
+#define XCASE  0x00004000
+#define ECHO   0x00000008
+#define ECHOE  0x00000002
+#define ECHOK  0x00000004
+#define ECHONL 0x00000010
+#define NOFLSH 0x80000000
+#define TOSTOP 0x00400000
+#define ECHOCTL        0x00000040
+#define ECHOPRT        0x00000020
+#define ECHOKE 0x00000001
+#define FLUSHO 0x00800000
+#define PENDIN 0x20000000
+#define IEXTEN 0x00000400
 
-/* tcflow() and TCXONC use these */
+/* Values for the ACTION argument to `tcflow'.  */
 #define        TCOOFF          0
 #define        TCOON           1
 #define        TCIOFF          2
 #define        TCION           3
 
-/* tcflush() and TCFLSH use these */
+/* Values for the QUEUE_SELECTOR argument to `tcflush'.  */
 #define        TCIFLUSH        0
 #define        TCOFLUSH        1
 #define        TCIOFLUSH       2
 
-/* tcsetattr uses these */
+/* Values for the OPTIONAL_ACTIONS argument to `tcsetattr'.  */
 #define        TCSANOW         0
 #define        TCSADRAIN       1
 #define        TCSAFLUSH       2
 
+struct sgttyb {
+       char    sg_ispeed;
+       char    sg_ospeed;
+       char    sg_erase;
+       char    sg_kill;
+       short   sg_flags;
+};
+
+struct tchars {
+       char    t_intrc;
+       char    t_quitc;
+       char    t_startc;
+       char    t_stopc;
+       char    t_eofc;
+       char    t_brkc;
+};
+
+struct ltchars {
+       char    t_suspc;
+       char    t_dsuspc;
+       char    t_rprntc;
+       char    t_flushc;
+       char    t_werasc;
+       char    t_lnextc;
+};
+
+/* Used for packet mode */
+#define TIOCPKT_DATA            0
+#define TIOCPKT_FLUSHREAD       1
+#define TIOCPKT_FLUSHWRITE      2
+#define TIOCPKT_STOP            4
+#define TIOCPKT_START           8
+#define TIOCPKT_NOSTOP         16
+#define TIOCPKT_DOSTOP         32
+
+/* c_cc characters */
+#define _VINTR 0
+#define _VQUIT 1
+#define _VERASE        2
+#define _VKILL 3
+#define _VEOF  4
+#define _VMIN  5
+#define _VEOL  6
+#define _VTIME 7
+#define _VEOL2 8
+#define _VSWTC 9
+
+/* modem lines */
+#define TIOCM_LE       0x001
+#define TIOCM_DTR      0x002
+#define TIOCM_RTS      0x004
+#define TIOCM_ST       0x008
+#define TIOCM_SR       0x010
+#define TIOCM_CTS      0x020
+#define TIOCM_CAR      0x040
+#define TIOCM_RNG      0x080
+#define TIOCM_DSR      0x100
+#define TIOCM_CD       TIOCM_CAR
+#define TIOCM_RI       TIOCM_RNG
+
+/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
+#define TIOCSER_TEMT    0x01   /* Transmitter physically empty */
 
-#define _IOT_termios /* Hurd ioctl type field.  */ \
-  _IOT (_IOTS (cflag_t), 4, _IOTS (cc_t), NCCS, _IOTS (speed_t), 2)
+/* line disciplines */
+#define N_TTY          0
+#define N_SLIP         1
+#define N_MOUSE                2
+#define N_PPP          3
+#define N_STRIP                4
+#define N_AX25         5
+#define N_X25          6       /* X.25 async  */
+#define N_6PACK                7
+#define N_MASC         8       /* Mobitex module  */
+#define N_R3964                9       /* Simatic R3964 module  */
+#define N_PROFIBUS_FDL 10      /* Profibus  */
+#define N_IRDA         11      /* Linux IR  */
+#define N_SMSBLOCK     12      /* SMS block mode  */
+#define N_HDLC         13      /* synchronous HDLC  */
+#define N_SYNC_PPP     14      /* synchronous PPP  */