1/*
2 *  include/asm-s390/termbits.h
3 *
4 *  S390 version
5 *
6 *  Derived from "include/asm-i386/termbits.h"
7 */
8
9#ifndef __ARCH_S390_TERMBITS_H__
10#define __ARCH_S390_TERMBITS_H__
11
12#include <linux/posix_types.h>
13
14typedef unsigned char	cc_t;
15typedef unsigned int	speed_t;
16typedef unsigned int	tcflag_t;
17
18#define NCCS 19
19struct termios {
20	tcflag_t c_iflag;		/* input mode flags */
21	tcflag_t c_oflag;		/* output mode flags */
22	tcflag_t c_cflag;		/* control mode flags */
23	tcflag_t c_lflag;		/* local mode flags */
24	cc_t c_line;			/* line discipline */
25	cc_t c_cc[NCCS];		/* control characters */
26};
27
28/* c_cc characters */
29#define VINTR 0
30#define VQUIT 1
31#define VERASE 2
32#define VKILL 3
33#define VEOF 4
34#define VTIME 5
35#define VMIN 6
36#define VSWTC 7
37#define VSTART 8
38#define VSTOP 9
39#define VSUSP 10
40#define VEOL 11
41#define VREPRINT 12
42#define VDISCARD 13
43#define VWERASE 14
44#define VLNEXT 15
45#define VEOL2 16
46
47/* c_iflag bits */
48#define IGNBRK	0000001
49#define BRKINT	0000002
50#define IGNPAR	0000004
51#define PARMRK	0000010
52#define INPCK	0000020
53#define ISTRIP	0000040
54#define INLCR	0000100
55#define IGNCR	0000200
56#define ICRNL	0000400
57#define IUCLC	0001000
58#define IXON	0002000
59#define IXANY	0004000
60#define IXOFF	0010000
61#define IMAXBEL	0020000
62
63/* c_oflag bits */
64#define OPOST	0000001
65#define OLCUC	0000002
66#define ONLCR	0000004
67#define OCRNL	0000010
68#define ONOCR	0000020
69#define ONLRET	0000040
70#define OFILL	0000100
71#define OFDEL	0000200
72#define NLDLY	0000400
73#define   NL0	0000000
74#define   NL1	0000400
75#define CRDLY	0003000
76#define   CR0	0000000
77#define   CR1	0001000
78#define   CR2	0002000
79#define   CR3	0003000
80#define TABDLY	0014000
81#define   TAB0	0000000
82#define   TAB1	0004000
83#define   TAB2	0010000
84#define   TAB3	0014000
85#define   XTABS	0014000
86#define BSDLY	0020000
87#define   BS0	0000000
88#define   BS1	0020000
89#define VTDLY	0040000
90#define   VT0	0000000
91#define   VT1	0040000
92#define FFDLY	0100000
93#define   FF0	0000000
94#define   FF1	0100000
95
96/* c_cflag bit meaning */
97#define CBAUD	0010017
98#define  B0	0000000		/* hang up */
99#define  B50	0000001
100#define  B75	0000002
101#define  B110	0000003
102#define  B134	0000004
103#define  B150	0000005
104#define  B200	0000006
105#define  B300	0000007
106#define  B600	0000010
107#define  B1200	0000011
108#define  B1800	0000012
109#define  B2400	0000013
110#define  B4800	0000014
111#define  B9600	0000015
112#define  B19200	0000016
113#define  B38400	0000017
114#define EXTA B19200
115#define EXTB B38400
116#define CSIZE	0000060
117#define   CS5	0000000
118#define   CS6	0000020
119#define   CS7	0000040
120#define   CS8	0000060
121#define CSTOPB	0000100
122#define CREAD	0000200
123#define PARENB	0000400
124#define PARODD	0001000
125#define HUPCL	0002000
126#define CLOCAL	0004000
127#define CBAUDEX 0010000
128#define  B57600  0010001
129#define  B115200 0010002
130#define  B230400 0010003
131#define  B460800 0010004
132#define   B500000 0010005
133#define   B576000 0010006
134#define   B921600 0010007
135#define  B1000000 0010010
136#define  B1152000 0010011
137#define  B1500000 0010012
138#define  B2000000 0010013
139#define  B2500000 0010014
140#define  B3000000 0010015
141#define  B3500000 0010016
142#define  B4000000 0010017
143#define CIBAUD	  002003600000	/* input baud rate (not used) */
144#define CMSPAR	  010000000000		/* mark or space (stick) parity */
145#define CRTSCTS	  020000000000		/* flow control */
146
147/* c_lflag bits */
148#define ISIG	0000001
149#define ICANON	0000002
150#define XCASE	0000004
151#define ECHO	0000010
152#define ECHOE	0000020
153#define ECHOK	0000040
154#define ECHONL	0000100
155#define NOFLSH	0000200
156#define TOSTOP	0000400
157#define ECHOCTL	0001000
158#define ECHOPRT	0002000
159#define ECHOKE	0004000
160#define FLUSHO	0010000
161#define PENDIN	0040000
162#define IEXTEN	0100000
163
164/* tcflow() and TCXONC use these */
165#define	TCOOFF		0
166#define	TCOON		1
167#define	TCIOFF		2
168#define	TCION		3
169
170/* tcflush() and TCFLSH use these */
171#define	TCIFLUSH	0
172#define	TCOFLUSH	1
173#define	TCIOFLUSH	2
174
175/* tcsetattr uses these */
176#define	TCSANOW		0
177#define	TCSADRAIN	1
178#define	TCSAFLUSH	2
179
180#endif
181