Initial revision
[kopensolaris-gnu/glibc.git] / sysdeps / unix / sysv / sysv_termio.h
1 /* Copyright (C) 1992 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public License as
6 published by the Free Software Foundation; either version 2 of the
7 License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 Library General Public License for more details.
13
14 You should have received a copy of the GNU Library General Public
15 License along with the GNU C Library; see the file COPYING.LIB.  If
16 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
17 Cambridge, MA 02139, USA.  */
18
19 /* In various parts of this file we define the System V values for
20    things as _SYSV_<whatever>.  Those are the values that System V
21    uses for termio, and also (SVR4) termios.  Not necessarily the
22    same as the GNU termios that the library user sees.  */
23
24 /* Number of elements of c_cc.  termio only.  */
25 #define _SYSV_NCC 8
26
27 #define _SYSV_VINTR 0
28 #define _SYSV_VQUIT 1
29 #define _SYSV_VERASE 2
30 #define _SYSV_VKILL 3
31 #define _SYSV_VEOF 4
32 #define _SYSV_VEOL 5
33 #define _SYSV_VEOL2 6
34
35 /* Flags in c_iflag.  */
36 #define _SYSV_IGNBRK 1
37 #define _SYSV_BRKINT 2
38 #define _SYSV_IGNPAR 4
39 #define _SYSV_PARMRK 8
40 #define _SYSV_INPCK 0x10
41 #define _SYSV_ISTRIP 0x20
42 #define _SYSV_INLCR 0x40
43 #define _SYSV_IGNCR 0x80
44 #define _SYSV_ICRNL 0x100
45 #define _SYSV_IXON 0x400
46 #define _SYSV_IXANY 0x800
47 #define _SYSV_IXOFF 0x1000
48 #define _SYSV_IMAXBEL 0x2000
49
50 /* Flags in c_cflag.  */
51 #define _SYSV_CBAUD 0xf
52 #define _SYSV_CIBAUD 0xf0000    /* termios only.  */
53 #define _SYSV_IBSHIFT 16
54 /* Values for CBAUD and CIBAUD.  */
55 #define _SYSV_B0 0
56 #define _SYSV_B50 1
57 #define _SYSV_B75 2
58 #define _SYSV_B110 3
59 #define _SYSV_B134 4
60 #define _SYSV_B150 5
61 #define _SYSV_B200 6
62 #define _SYSV_B300 7
63 #define _SYSV_B600 8
64 #define _SYSV_B1200 9
65 #define _SYSV_B1800 10
66 #define _SYSV_B2400 11
67 #define _SYSV_B4800 12
68 #define _SYSV_B9600 13
69 #define _SYSV_B19200 14
70 #define _SYSV_B38400 15
71
72 #define _SYSV_CS5 0
73 #define _SYSV_CS6 0x10
74 #define _SYSV_CS7 0x20
75 #define _SYSV_CS8 0x30
76 #define _SYSV_CSIZE 0x30
77 #define _SYSV_CSTOPB 0x40
78 #define _SYSV_CREAD 0x80
79 #define _SYSV_PARENB 0x100
80 #define _SYSV_PARODD 0x200
81 #define _SYSV_HUPCL 0x400
82 #define _SYSV_CLOCAL 0x800
83
84 /* Flags in c_lflag.  */
85 #define _SYSV_ISIG 1
86 #define _SYSV_ICANON 2
87 #define _SYSV_ECHO 8
88 #define _SYSV_ECHOE 0x10
89 #define _SYSV_ECHOK 0x20
90 #define _SYSV_ECHONL 0x40
91 #define _SYSV_NOFLSH 0x80
92 #define _SYSV_TOSTOP 0x100
93 #define _SYSV_ECHOCTL 0x200
94 #define _SYSV_ECHOPRT 0x400
95 #define _SYSV_ECHOKE 0x800
96 #define _SYSV_FLUSHO 0x2000
97 #define _SYSV_PENDIN 0x4000
98 #define _SYSV_IEXTEN 0x8000
99
100 /* Flags in c_oflag.  */
101 #define _SYSV_OPOST 1
102 #define _SYSV_ONLCR 4
103
104 /* ioctl's.  */
105
106 #define _TCGETA 0x5401
107 #define _TCSETA 0x5402
108 #define _TCSETAW 0x5403
109 #define _TCSETAF 0x5404
110 #define _TCSBRK 0x5405
111 #define _TCXONC 0x5406
112 #define _TCFLSH 0x5407
113 #define _TIOCGPGRP 0x7414
114 #define _TIOCSPGRP 0x7415
115
116 struct __sysv_termio
117   {
118     unsigned short c_iflag;
119     unsigned short c_oflag;
120     unsigned short c_cflag;
121     unsigned short c_lflag;
122     char c_line;
123     unsigned char c_cc[_SYSV_NCC];
124   };