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