1633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham/*
2633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * This file is subject to the terms and conditions of the GNU General Public
3633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * License.  See the file "COPYING" in the main directory of this archive
4633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * for more details.
5633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham *
6633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * Copyright (C) 1995, 96, 99, 2001, 06 Ralf Baechle
7633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * Copyright (C) 1999 Silicon Graphics, Inc.
8633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * Copyright (C) 2001 MIPS Technologies, Inc.
9633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham */
10633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#ifndef _ASM_TERMBITS_H
11633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define _ASM_TERMBITS_H
12633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
13633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#include <linux/posix_types.h>
14633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
15633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef unsigned char cc_t;
16633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef unsigned int speed_t;
17633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamtypedef unsigned int tcflag_t;
18633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
19633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham/*
20633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * The ABI says nothing about NCC but seems to use NCCS as
21633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * replacement for it in struct termio
22633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham */
23633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define NCCS	23
24633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamstruct termios {
25633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	tcflag_t c_iflag;		/* input mode flags */
26633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	tcflag_t c_oflag;		/* output mode flags */
27633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	tcflag_t c_cflag;		/* control mode flags */
28633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	tcflag_t c_lflag;		/* local mode flags */
29633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	cc_t c_line;			/* line discipline */
30633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	cc_t c_cc[NCCS];		/* control characters */
31633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham};
32633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
33633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamstruct termios2 {
34633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	tcflag_t c_iflag;		/* input mode flags */
35633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	tcflag_t c_oflag;		/* output mode flags */
36633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	tcflag_t c_cflag;		/* control mode flags */
37633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	tcflag_t c_lflag;		/* local mode flags */
38633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	cc_t c_line;			/* line discipline */
39633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	cc_t c_cc[NCCS];		/* control characters */
40633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	speed_t c_ispeed;		/* input speed */
41633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	speed_t c_ospeed;		/* output speed */
42633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham};
43633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
44633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandhamstruct ktermios {
45633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	tcflag_t c_iflag;		/* input mode flags */
46633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	tcflag_t c_oflag;		/* output mode flags */
47633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	tcflag_t c_cflag;		/* control mode flags */
48633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	tcflag_t c_lflag;		/* local mode flags */
49633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	cc_t c_line;			/* line discipline */
50633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	cc_t c_cc[NCCS];		/* control characters */
51633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	speed_t c_ispeed;		/* input speed */
52633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham	speed_t c_ospeed;		/* output speed */
53633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham};
54633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
55633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham/* c_cc characters */
56633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define VINTR		 0		/* Interrupt character [ISIG].  */
57633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define VQUIT		 1		/* Quit character [ISIG].  */
58633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define VERASE		 2		/* Erase character [ICANON].  */
59633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define VKILL		 3		/* Kill-line character [ICANON].  */
60633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define VMIN		 4		/* Minimum number of bytes read at once [!ICANON].  */
61633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define VTIME		 5		/* Time-out value (tenths of a second) [!ICANON].  */
62633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define VEOL2		 6		/* Second EOL character [ICANON].  */
63633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define VSWTC		 7		/* ??? */
64633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define VSWTCH		VSWTC
65633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define VSTART		 8		/* Start (X-ON) character [IXON, IXOFF].  */
66633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define VSTOP		 9		/* Stop (X-OFF) character [IXON, IXOFF].  */
67633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define VSUSP		10		/* Suspend character [ISIG].  */
68633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#if 0
69633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham/*
70633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham * VDSUSP is not supported
71633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham */
72633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define VDSUSP		11		/* Delayed suspend character [ISIG].  */
73633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#endif
74633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define VREPRINT	12		/* Reprint-line character [ICANON].  */
75633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define VDISCARD	13		/* Discard character [IEXTEN].  */
76633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define VWERASE		14		/* Word-erase character [ICANON].  */
77633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define VLNEXT		15		/* Literal-next character [IEXTEN].  */
78633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define VEOF		16		/* End-of-file character [ICANON].  */
79633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define VEOL		17		/* End-of-line character [ICANON].  */
80633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
81633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham/* c_iflag bits */
82633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define IGNBRK	0000001		/* Ignore break condition.  */
83633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define BRKINT	0000002		/* Signal interrupt on break.  */
84633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define IGNPAR	0000004		/* Ignore characters with parity errors.  */
85633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define PARMRK	0000010		/* Mark parity and framing errors.  */
86633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define INPCK	0000020		/* Enable input parity check.  */
87633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define ISTRIP	0000040		/* Strip 8th bit off characters.  */
88633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define INLCR	0000100		/* Map NL to CR on input.  */
89633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define IGNCR	0000200		/* Ignore CR.  */
90633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define ICRNL	0000400		/* Map CR to NL on input.  */
91633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define IUCLC	0001000		/* Map upper case to lower case on input.  */
92633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define IXON	0002000		/* Enable start/stop output control.  */
93633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define IXANY	0004000		/* Any character will restart after stop.  */
94633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define IXOFF	0010000		/* Enable start/stop input control.  */
95633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define IMAXBEL	0020000		/* Ring bell when input queue is full.  */
96633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define IUTF8	0040000		/* Input is UTF-8 */
97633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
98633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham/* c_oflag bits */
99633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define OPOST	0000001		/* Perform output processing.  */
100633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define OLCUC	0000002		/* Map lower case to upper case on output.  */
101633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define ONLCR	0000004		/* Map NL to CR-NL on output.  */
102633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define OCRNL	0000010
103633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define ONOCR	0000020
104633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define ONLRET	0000040
105633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define OFILL	0000100
106633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define OFDEL	0000200
107633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define NLDLY	0000400
108633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   NL0	0000000
109633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   NL1	0000400
110633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define CRDLY	0003000
111633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   CR0	0000000
112633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   CR1	0001000
113633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   CR2	0002000
114633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   CR3	0003000
115633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define TABDLY	0014000
116633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   TAB0	0000000
117633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   TAB1	0004000
118633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   TAB2	0010000
119633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   TAB3	0014000
120633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   XTABS	0014000
121633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define BSDLY	0020000
122633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   BS0	0000000
123633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   BS1	0020000
124633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define VTDLY	0040000
125633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   VT0	0000000
126633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   VT1	0040000
127633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define FFDLY	0100000
128633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   FF0	0000000
129633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   FF1	0100000
130633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham/*
131633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define PAGEOUT ???
132633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define WRAP    ???
133633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham */
134633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
135633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham/* c_cflag bit meaning */
136633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define CBAUD	0010017
137633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define  B0	0000000		/* hang up */
138633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define  B50	0000001
139633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define  B75	0000002
140633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define  B110	0000003
141633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define  B134	0000004
142633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define  B150	0000005
143633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define  B200	0000006
144633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define  B300	0000007
145633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define  B600	0000010
146633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define  B1200	0000011
147633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define  B1800	0000012
148633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define  B2400	0000013
149633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define  B4800	0000014
150633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define  B9600	0000015
151633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define  B19200	0000016
152633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define  B38400	0000017
153633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define EXTA B19200
154633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define EXTB B38400
155633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define CSIZE	0000060		/* Number of bits per byte (mask).  */
156633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   CS5	0000000		/* 5 bits per byte.  */
157633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   CS6	0000020		/* 6 bits per byte.  */
158633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   CS7	0000040		/* 7 bits per byte.  */
159633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   CS8	0000060		/* 8 bits per byte.  */
160633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define CSTOPB	0000100		/* Two stop bits instead of one.  */
161633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define CREAD	0000200		/* Enable receiver.  */
162633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define PARENB	0000400		/* Parity enable.  */
163633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define PARODD	0001000		/* Odd parity instead of even.  */
164633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define HUPCL	0002000		/* Hang up on last close.  */
165633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define CLOCAL	0004000		/* Ignore modem status lines.  */
166633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define CBAUDEX 0010000
167633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define    BOTHER 0010000
168633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define    B57600 0010001
169633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   B115200 0010002
170633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   B230400 0010003
171633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   B460800 0010004
172633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   B500000 0010005
173633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   B576000 0010006
174633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define   B921600 0010007
175633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define  B1000000 0010010
176633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define  B1152000 0010011
177633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define  B1500000 0010012
178633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define  B2000000 0010013
179633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define  B2500000 0010014
180633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define  B3000000 0010015
181633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define  B3500000 0010016
182633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define  B4000000 0010017
183633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define CIBAUD	  002003600000	/* input baud rate */
184633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define CMSPAR    010000000000	/* mark or space (stick) parity */
185633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define CRTSCTS	  020000000000	/* flow control */
186633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
187633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define IBSHIFT	16		/* Shift from CBAUD to CIBAUD */
188633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
189633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham/* c_lflag bits */
190633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define ISIG	0000001		/* Enable signals.  */
191633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define ICANON	0000002		/* Do erase and kill processing.  */
192633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define XCASE	0000004
193633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define ECHO	0000010		/* Enable echo.  */
194633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define ECHOE	0000020		/* Visual erase for ERASE.  */
195633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define ECHOK	0000040		/* Echo NL after KILL.  */
196633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define ECHONL	0000100		/* Echo NL even if ECHO is off.  */
197633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define NOFLSH	0000200		/* Disable flush after interrupt.  */
198633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define IEXTEN	0000400		/* Enable DISCARD and LNEXT.  */
199633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define ECHOCTL	0001000		/* Echo control characters as ^X.  */
200633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define ECHOPRT	0002000		/* Hardcopy visual erase.  */
201633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define ECHOKE	0004000		/* Visual erase for KILL.  */
202633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define FLUSHO	0020000
203633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define PENDIN	0040000		/* Retype pending input (state).  */
204633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define TOSTOP	0100000		/* Send SIGTTOU for background output.  */
205633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define ITOSTOP	TOSTOP
206633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
207633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
208633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define TIOCSER_TEMT    0x01	/* Transmitter physically empty */
209633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
210633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham/* tcflow() and TCXONC use these */
211633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define	TCOOFF		0	/* Suspend output.  */
212633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define	TCOON		1	/* Restart suspended output.  */
213633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define	TCIOFF		2	/* Send a STOP character.  */
214633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define	TCION		3	/* Send a START character.  */
215633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
216633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham/* tcflush() and TCFLSH use these */
217633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define	TCIFLUSH	0	/* Discard data received but not yet read.  */
218633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define	TCOFLUSH	1	/* Discard data written but not yet sent.  */
219633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define	TCIOFLUSH	2	/* Discard all pending data.  */
220633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
221633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham/* tcsetattr uses these */
222633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define	TCSANOW		TCSETS	/* Change immediately.  */
223633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define	TCSADRAIN	TCSETSW	/* Change when pending output is written.  */
224633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#define	TCSAFLUSH	TCSETSF	/* Flush pending input before changing.  */
225633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham
226633c3473533ad9f2cca069b22cc5d95cd4e3510bRaghu Gandham#endif /* _ASM_TERMBITS_H */
227