xref: /freebsd/stand/kboot/include/termios_gen.h (revision 6580f5c38dd5b01aeeaed16b370f1a12423437f0)
1 /*
2  * Copyright (c) 2005-2020 Rich Felker, et al.
3  *
4  * SPDX-License-Identifier: MIT
5  *
6  * Note: From the musl project, stripped down and repackaged with HOST_/host_ prepended
7  */
8 
9 struct host_termios {
10 	host_tcflag_t c_iflag;
11 	host_tcflag_t c_oflag;
12 	host_tcflag_t c_cflag;
13 	host_tcflag_t c_lflag;
14 	host_cc_t c_line;
15 	host_cc_t c_cc[HOST_NCCS];
16 	host_speed_t __c_ispeed;
17 	host_speed_t __c_ospeed;
18 };
19 
20 #define HOST_VINTR     0
21 #define HOST_VQUIT     1
22 #define HOST_VERASE    2
23 #define HOST_VKILL     3
24 #define HOST_VEOF      4
25 #define HOST_VTIME     5
26 #define HOST_VMIN      6
27 #define HOST_VSWTC     7
28 #define HOST_VSTART    8
29 #define HOST_VSTOP     9
30 #define HOST_VSUSP    10
31 #define HOST_VEOL     11
32 #define HOST_VREPRINT 12
33 #define HOST_VDISCARD 13
34 #define HOST_VWERASE  14
35 #define HOST_VLNEXT   15
36 #define HOST_VEOL2    16
37 
38 #define HOST_IGNBRK  0000001
39 #define HOST_BRKINT  0000002
40 #define HOST_IGNPAR  0000004
41 #define HOST_PARMRK  0000010
42 #define HOST_INPCK   0000020
43 #define HOST_ISTRIP  0000040
44 #define HOST_INLCR   0000100
45 #define HOST_IGNCR   0000200
46 #define HOST_ICRNL   0000400
47 #define HOST_IUCLC   0001000
48 #define HOST_IXON    0002000
49 #define HOST_IXANY   0004000
50 #define HOST_IXOFF   0010000
51 #define HOST_IMAXBEL 0020000
52 #define HOST_IUTF8   0040000
53 
54 #define HOST_OPOST  0000001
55 #define HOST_OLCUC  0000002
56 #define HOST_ONLCR  0000004
57 #define HOST_OCRNL  0000010
58 #define HOST_ONOCR  0000020
59 #define HOST_ONLRET 0000040
60 #define HOST_OFILL  0000100
61 #define HOST_OFDEL  0000200
62 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_XOPEN_SOURCE)
63 #define HOST_NLDLY  0000400
64 #define HOST_NL0    0000000
65 #define HOST_NL1    0000400
66 #define HOST_CRDLY  0003000
67 #define HOST_CR0    0000000
68 #define HOST_CR1    0001000
69 #define HOST_CR2    0002000
70 #define HOST_CR3    0003000
71 #define HOST_TABDLY 0014000
72 #define HOST_TAB0   0000000
73 #define HOST_TAB1   0004000
74 #define HOST_TAB2   0010000
75 #define HOST_TAB3   0014000
76 #define HOST_BSDLY  0020000
77 #define HOST_BS0    0000000
78 #define HOST_BS1    0020000
79 #define HOST_FFDLY  0100000
80 #define HOST_FF0    0000000
81 #define HOST_FF1    0100000
82 #endif
83 
84 #define HOST_VTDLY  0040000
85 #define HOST_VT0    0000000
86 #define HOST_VT1    0040000
87 
88 #define HOST_B0       0000000
89 #define HOST_B50      0000001
90 #define HOST_B75      0000002
91 #define HOST_B110     0000003
92 #define HOST_B134     0000004
93 #define HOST_B150     0000005
94 #define HOST_B200     0000006
95 #define HOST_B300     0000007
96 #define HOST_B600     0000010
97 #define HOST_B1200    0000011
98 #define HOST_B1800    0000012
99 #define HOST_B2400    0000013
100 #define HOST_B4800    0000014
101 #define HOST_B9600    0000015
102 #define HOST_B19200   0000016
103 #define HOST_B38400   0000017
104 
105 #define HOST_B57600   0010001
106 #define HOST_B115200  0010002
107 #define HOST_B230400  0010003
108 #define HOST_B460800  0010004
109 #define HOST_B500000  0010005
110 #define HOST_B576000  0010006
111 #define HOST_B921600  0010007
112 #define HOST_B1000000 0010010
113 #define HOST_B1152000 0010011
114 #define HOST_B1500000 0010012
115 #define HOST_B2000000 0010013
116 #define HOST_B2500000 0010014
117 #define HOST_B3000000 0010015
118 #define HOST_B3500000 0010016
119 #define HOST_B4000000 0010017
120 
121 #define HOST_CSIZE  0000060
122 #define HOST_CS5    0000000
123 #define HOST_CS6    0000020
124 #define HOST_CS7    0000040
125 #define HOST_CS8    0000060
126 #define HOST_CSTOPB 0000100
127 #define HOST_CREAD  0000200
128 #define HOST_PARENB 0000400
129 #define HOST_PARODD 0001000
130 #define HOST_HUPCL  0002000
131 #define HOST_CLOCAL 0004000
132 
133 #define HOST_ISIG   0000001
134 #define HOST_ICANON 0000002
135 #define HOST_ECHO   0000010
136 #define HOST_ECHOE  0000020
137 #define HOST_ECHOK  0000040
138 #define HOST_ECHONL 0000100
139 #define HOST_NOFLSH 0000200
140 #define HOST_TOSTOP 0000400
141 #define HOST_IEXTEN 0100000
142 
143 #define HOST_TCOOFF 0
144 #define HOST_TCOON  1
145 #define HOST_TCIOFF 2
146 #define HOST_TCION  3
147 
148 #define HOST_TCIFLUSH  0
149 #define HOST_TCOFLUSH  1
150 #define HOST_TCIOFLUSH 2
151 
152 #define HOST_TCSANOW   0
153 #define HOST_TCSADRAIN 1
154 #define HOST_TCSAFLUSH 2
155 
156 #define HOST_EXTA    0000016
157 #define HOST_EXTB    0000017
158 #define HOST_CBAUD   0010017
159 #define HOST_CBAUDEX 0010000
160 #define HOST_CIBAUD  002003600000
161 #define HOST_CMSPAR  010000000000
162 #define HOST_CRTSCTS 020000000000
163 
164 #define HOST_XCASE   0000004
165 #define HOST_ECHOCTL 0001000
166 #define HOST_ECHOPRT 0002000
167 #define HOST_ECHOKE  0004000
168 #define HOST_FLUSHO  0010000
169 #define HOST_PENDIN  0040000
170 #define HOST_EXTPROC 0200000
171 
172 #define HOST_XTABS  0014000
173 
174 #define HOST_TCGETS		0x5401
175 #define HOST_TCSETS		0x5402
176 #define HOST_TCSETSW		0x5403
177 #define HOST_TCSETSF		0x5404
178