Linux Audio

Check our new training course

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