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 #undef HOST_NCCS 10 #define HOST_NCCS 19 11 struct host_termios { 12 host_tcflag_t c_iflag; 13 host_tcflag_t c_oflag; 14 host_tcflag_t c_cflag; 15 host_tcflag_t c_lflag; 16 host_cc_t c_cc[HOST_NCCS]; 17 host_cc_t c_line; 18 host_speed_t __c_ispeed; 19 host_speed_t __c_ospeed; 20 }; 21 22 #define HOST_VINTR 0 23 #define HOST_VQUIT 1 24 #define HOST_VERASE 2 25 #define HOST_VKILL 3 26 #define HOST_VEOF 4 27 #define HOST_VMIN 5 28 #define HOST_VEOL 6 29 #define HOST_VTIME 7 30 #define HOST_VEOL2 8 31 #define HOST_VSWTC 9 32 #define HOST_VWERASE 10 33 #define HOST_VREPRINT 11 34 #define HOST_VSUSP 12 35 #define HOST_VSTART 13 36 #define HOST_VSTOP 14 37 #define HOST_VLNEXT 15 38 #define HOST_VDISCARD 16 39 40 #define HOST_IGNBRK 0000001 41 #define HOST_BRKINT 0000002 42 #define HOST_IGNPAR 0000004 43 #define HOST_PARMRK 0000010 44 #define HOST_INPCK 0000020 45 #define HOST_ISTRIP 0000040 46 #define HOST_INLCR 0000100 47 #define HOST_IGNCR 0000200 48 #define HOST_ICRNL 0000400 49 #define HOST_IXON 0001000 50 #define HOST_IXOFF 0002000 51 #define HOST_IXANY 0004000 52 #define HOST_IUCLC 0010000 53 #define HOST_IMAXBEL 0020000 54 #define HOST_IUTF8 0040000 55 56 #define HOST_OPOST 0000001 57 #define HOST_ONLCR 0000002 58 #define HOST_OLCUC 0000004 59 #define HOST_OCRNL 0000010 60 #define HOST_ONOCR 0000020 61 #define HOST_ONLRET 0000040 62 #define HOST_OFILL 0000100 63 #define HOST_OFDEL 0000200 64 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_XOPEN_SOURCE) 65 #define HOST_NLDLY 0001400 66 #define HOST_NL0 0000000 67 #define HOST_NL1 0000400 68 #define HOST_NL2 0001000 69 #define HOST_NL3 0001400 70 #define HOST_TABDLY 0006000 71 #define HOST_TAB0 0000000 72 #define HOST_TAB1 0002000 73 #define HOST_TAB2 0004000 74 #define HOST_TAB3 0006000 75 #define HOST_CRDLY 0030000 76 #define HOST_CR0 0000000 77 #define HOST_CR1 0010000 78 #define HOST_CR2 0020000 79 #define HOST_CR3 0030000 80 #define HOST_FFDLY 0040000 81 #define HOST_FF0 0000000 82 #define HOST_FF1 0040000 83 #define HOST_BSDLY 0100000 84 #define HOST_BS0 0000000 85 #define HOST_BS1 0100000 86 #endif 87 88 #define HOST_VTDLY 0200000 89 #define HOST_VT0 0000000 90 #define HOST_VT1 0200000 91 92 #define HOST_B0 0000000 93 #define HOST_B50 0000001 94 #define HOST_B75 0000002 95 #define HOST_B110 0000003 96 #define HOST_B134 0000004 97 #define HOST_B150 0000005 98 #define HOST_B200 0000006 99 #define HOST_B300 0000007 100 #define HOST_B600 0000010 101 #define HOST_B1200 0000011 102 #define HOST_B1800 0000012 103 #define HOST_B2400 0000013 104 #define HOST_B4800 0000014 105 #define HOST_B9600 0000015 106 #define HOST_B19200 0000016 107 #define HOST_B38400 0000017 108 109 #define HOST_B57600 00020 110 #define HOST_B115200 00021 111 #define HOST_B230400 00022 112 #define HOST_B460800 00023 113 #define HOST_B500000 00024 114 #define HOST_B576000 00025 115 #define HOST_B921600 00026 116 #define HOST_B1000000 00027 117 #define HOST_B1152000 00030 118 #define HOST_B1500000 00031 119 #define HOST_B2000000 00032 120 #define HOST_B2500000 00033 121 #define HOST_B3000000 00034 122 #define HOST_B3500000 00035 123 #define HOST_B4000000 00036 124 125 #define HOST_CSIZE 00001400 126 #define HOST_CS5 00000000 127 #define HOST_CS6 00000400 128 #define HOST_CS7 00001000 129 #define HOST_CS8 00001400 130 #define HOST_CSTOPB 00002000 131 #define HOST_CREAD 00004000 132 #define HOST_PARENB 00010000 133 #define HOST_PARODD 00020000 134 #define HOST_HUPCL 00040000 135 #define HOST_CLOCAL 00100000 136 137 #define HOST_ECHOE 0x00000002 138 #define HOST_ECHOK 0x00000004 139 #define HOST_ECHO 0x00000008 140 #define HOST_ECHONL 0x00000010 141 #define HOST_ISIG 0x00000080 142 #define HOST_ICANON 0x00000100 143 #define HOST_IEXTEN 0x00000400 144 #define HOST_TOSTOP 0x00400000 145 #define HOST_NOFLSH 0x80000000 146 147 #define HOST_TCOOFF 0 148 #define HOST_TCOON 1 149 #define HOST_TCIOFF 2 150 #define HOST_TCION 3 151 152 #define HOST_TCIFLUSH 0 153 #define HOST_TCOFLUSH 1 154 #define HOST_TCIOFLUSH 2 155 156 #define HOST_TCSANOW 0 157 #define HOST_TCSADRAIN 1 158 #define HOST_TCSAFLUSH 2 159 160 #define HOST_EXTA 0000016 161 #define HOST_EXTB 0000017 162 #define HOST_CBAUD 00377 163 #define HOST_CBAUDEX 0000020 164 #define HOST_CIBAUD 077600000 165 #define HOST_CMSPAR 010000000000 166 #define HOST_CRTSCTS 020000000000 167 168 #define HOST_XCASE 0x00004000 169 #define HOST_ECHOCTL 0x00000040 170 #define HOST_ECHOPRT 0x00000020 171 #define HOST_ECHOKE 0x00000001 172 #define HOST_FLUSHO 0x00800000 173 #define HOST_PENDIN 0x20000000 174 #define HOST_EXTPROC 0x10000000 175 176 #define HOST_XTABS 00006000 177 #define HOST_TIOCSER_TEMT 1 178 179 #define _IOC(a,b,c,d) ( ((a)<<29) | ((b)<<8) | (c) | ((d)<<16) ) 180 #define _IOC_NONE 1U 181 #define _IOC_WRITE 4U 182 #define _IOC_READ 2U 183 184 #define _IO(a,b) _IOC(_IOC_NONE,(a),(b),0) 185 #define _IOW(a,b,c) _IOC(_IOC_WRITE,(a),(b),sizeof(c)) 186 #define _IOR(a,b,c) _IOC(_IOC_READ,(a),(b),sizeof(c)) 187 #define _IOWR(a,b,c) _IOC(_IOC_READ|_IOC_WRITE,(a),(b),sizeof(c)) 188 189 #define HOST_TCGETS _IOR('t', 19, char[44]) 190 #define HOST_TCSETS _IOW('t', 20, char[44]) 191 #define HOST_TCSETSW _IOW('t', 21, char[44]) 192 #define HOST_TCSETSF _IOW('t', 22, char[44]) 193