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