56c500eebe
See http://www.freebsd.org/~newton/freebsd-svr4 for limitations, capabilities, history and TO-DO list.
223 lines
6.1 KiB
C
223 lines
6.1 KiB
C
/*
|
|
* Copyright (c) 1998 Mark Newton
|
|
* Copyright (c) 1994 Christos Zoulas
|
|
* All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions
|
|
* are met:
|
|
* 1. Redistributions of source code must retain the above copyright
|
|
* notice, this list of conditions and the following disclaimer.
|
|
* 2. Redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
* documentation and/or other materials provided with the distribution.
|
|
* 3. The name of the author may not be used to endorse or promote products
|
|
* derived from this software without specific prior written permission
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
|
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
*/
|
|
|
|
#ifndef _SVR4_TERMIOS_H_
|
|
#define _SVR4_TERMIOS_H_
|
|
|
|
#define SVR4_POSIX_VDISABLE 0
|
|
#define SVR4_NCC 8
|
|
#define SVR4_NCCS 19
|
|
|
|
typedef u_long svr4_tcflag_t;
|
|
typedef u_char svr4_cc_t;
|
|
typedef u_long svr4_speed_t;
|
|
|
|
struct svr4_termios {
|
|
svr4_tcflag_t c_iflag;
|
|
svr4_tcflag_t c_oflag;
|
|
svr4_tcflag_t c_cflag;
|
|
svr4_tcflag_t c_lflag;
|
|
svr4_cc_t c_cc[SVR4_NCCS];
|
|
};
|
|
|
|
struct svr4_termio {
|
|
u_short c_iflag;
|
|
u_short c_oflag;
|
|
u_short c_cflag;
|
|
u_short c_lflag;
|
|
char c_line;
|
|
u_char c_cc[SVR4_NCC];
|
|
};
|
|
|
|
/* control characters */
|
|
#define SVR4_VINTR 0
|
|
#define SVR4_VQUIT 1
|
|
#define SVR4_VERASE 2
|
|
#define SVR4_VKILL 3
|
|
#define SVR4_VEOF 4
|
|
#define SVR4_VEOL 5
|
|
#define SVR4_VEOL2 6
|
|
#define SVR4_VMIN 4
|
|
#define SVR4_VTIME 5
|
|
#define SVR4_VSWTCH 7
|
|
#define SVR4_VSTART 8
|
|
#define SVR4_VSTOP 9
|
|
#define SVR4_VSUSP 10
|
|
#define SVR4_VDSUSP 11
|
|
#define SVR4_VREPRINT 12
|
|
#define SVR4_VDISCARD 13
|
|
#define SVR4_VWERASE 14
|
|
#define SVR4_VLNEXT 15
|
|
|
|
/* Input modes */
|
|
#define SVR4_IGNBRK 00000001
|
|
#define SVR4_BRKINT 00000002
|
|
#define SVR4_IGNPAR 00000004
|
|
#define SVR4_PARMRK 00000010
|
|
#define SVR4_INPCK 00000020
|
|
#define SVR4_ISTRIP 00000040
|
|
#define SVR4_INLCR 00000100
|
|
#define SVR4_IGNCR 00000200
|
|
#define SVR4_ICRNL 00000400
|
|
#define SVR4_IUCLC 00001000
|
|
#define SVR4_IXON 00002000
|
|
#define SVR4_IXANY 00004000
|
|
#define SVR4_IXOFF 00010000
|
|
#define SVR4_IMAXBEL 00020000
|
|
#define SVR4_DOSMODE 00100000
|
|
|
|
/* Output modes */
|
|
#define SVR4_OPOST 00000001
|
|
#define SVR4_OLCUC 00000002
|
|
#define SVR4_ONLCR 00000004
|
|
#define SVR4_OCRNL 00000010
|
|
#define SVR4_ONOCR 00000020
|
|
#define SVR4_ONLRET 00000040
|
|
#define SVR4_OFILL 00000100
|
|
#define SVR4_OFDEL 00000200
|
|
#define SVR4_NLDLY 00000400
|
|
#define SVR4_NL0 00000000
|
|
#define SVR4_NL1 00000400
|
|
#define SVR4_CRDLY 00003000
|
|
#define SVR4_CR0 00000000
|
|
#define SVR4_CR1 00001000
|
|
#define SVR4_CR2 00002000
|
|
#define SVR4_CR3 00003000
|
|
#define SVR4_TABDLY 00014000
|
|
#define SVR4_TAB0 00000000
|
|
#define SVR4_TAB1 00004000
|
|
#define SVR4_TAB2 00010000
|
|
#define SVR4_TAB3 00014000
|
|
#define SVR4_XTABS 00014000
|
|
#define SVR4_BSDLY 00020000
|
|
#define SVR4_BS0 00000000
|
|
#define SVR4_BS1 00020000
|
|
#define SVR4_VTDLY 00040000
|
|
#define SVR4_VT0 00000000
|
|
#define SVR4_VT1 00040000
|
|
#define SVR4_FFDLY 00100000
|
|
#define SVR4_FF0 00000000
|
|
#define SVR4_FF1 00100000
|
|
#define SVR4_PAGEOUT 00200000
|
|
#define SVR4_WRAP 00400000
|
|
|
|
/* Control modes */
|
|
#define SVR4_CBAUD 00000017
|
|
#define SVR4_CSIZE 00000060
|
|
#define SVR4_CS5 00000000
|
|
#define SVR4_CS6 00000200
|
|
#define SVR4_CS7 00000040
|
|
#define SVR4_CS8 00000006
|
|
#define SVR4_CSTOPB 00000100
|
|
#define SVR4_CREAD 00000200
|
|
#define SVR4_PARENB 00000400
|
|
#define SVR4_PARODD 00001000
|
|
#define SVR4_HUPCL 00002000
|
|
#define SVR4_CLOCAL 00004000
|
|
#define SVR4_RCV1EN 00010000
|
|
#define SVR4_XMT1EN 00020000
|
|
#define SVR4_LOBLK 00040000
|
|
#define SVR4_XCLUDE 00100000
|
|
#define SVR4_CIBAUD 03600000
|
|
#define SVR4_PAREXT 04000000
|
|
|
|
/* line discipline modes */
|
|
#define SVR4_ISIG 00000001
|
|
#define SVR4_ICANON 00000002
|
|
#define SVR4_XCASE 00000004
|
|
#define SVR4_ECHO 00000010
|
|
#define SVR4_ECHOE 00000020
|
|
#define SVR4_ECHOK 00000040
|
|
#define SVR4_ECHONL 00000100
|
|
#define SVR4_NOFLSH 00000200
|
|
#define SVR4_TOSTOP 00000400
|
|
#define SVR4_ECHOCTL 00001000
|
|
#define SVR4_ECHOPRT 00002000
|
|
#define SVR4_ECHOKE 00004000
|
|
#define SVR4_DEFECHO 00010000
|
|
#define SVR4_FLUSHO 00020000
|
|
#define SVR4_PENDIN 00040000
|
|
#define SVR4_IEXTEN 00100000
|
|
|
|
#define SVR4_TIOC ('T' << 8)
|
|
|
|
#define SVR4_TCGETA (SVR4_TIOC| 1)
|
|
#define SVR4_TCSETA (SVR4_TIOC| 2)
|
|
#define SVR4_TCSETAW (SVR4_TIOC| 3)
|
|
#define SVR4_TCSETAF (SVR4_TIOC| 4)
|
|
#define SVR4_TCSBRK (SVR4_TIOC| 5)
|
|
#define SVR4_TCXONC (SVR4_TIOC| 6)
|
|
#define SVR4_TCFLSH (SVR4_TIOC| 7)
|
|
#define SVR4_TIOCKBON (SVR4_TIOC| 8)
|
|
#define SVR4_TIOCKBOF (SVR4_TIOC| 9)
|
|
#define SVR4_KBENABLED (SVR4_TIOC|10)
|
|
#define SVR4_TCGETS (SVR4_TIOC|13)
|
|
#define SVR4_TCSETS (SVR4_TIOC|14)
|
|
#define SVR4_TCSETSW (SVR4_TIOC|15)
|
|
#define SVR4_TCSETSF (SVR4_TIOC|16)
|
|
#define SVR4_TCDSET (SVR4_TIOC|32)
|
|
#define SVR4_RTS_TOG (SVR4_TIOC|33)
|
|
#define SVR4_TCGETSC (SVR4_TIOC|34)
|
|
#define SVR4_TCSETSC (SVR4_TIOC|35)
|
|
#define SVR4_TCMOUSE (SVR4_TIOC|36)
|
|
#define SVR4_TIOCGWINSZ (SVR4_TIOC|104)
|
|
#define SVR4_TIOCSWINSZ (SVR4_TIOC|103)
|
|
|
|
struct svr4_winsize {
|
|
u_short ws_row;
|
|
u_short ws_col;
|
|
u_short ws_xpixel;
|
|
u_short ws_ypixel;
|
|
};
|
|
|
|
#define SVR4_B0 0
|
|
#define SVR4_B50 1
|
|
#define SVR4_B75 2
|
|
#define SVR4_B110 3
|
|
#define SVR4_B134 4
|
|
#define SVR4_B150 5
|
|
#define SVR4_B200 6
|
|
#define SVR4_B300 7
|
|
#define SVR4_B600 8
|
|
#define SVR4_B1200 9
|
|
#define SVR4_B1800 10
|
|
#define SVR4_B2400 11
|
|
#define SVR4_B4800 12
|
|
#define SVR4_B9600 13
|
|
#define SVR4_B19200 14
|
|
#define SVR4_B38400 15
|
|
#define SVR4_B57600 16
|
|
#define SVR4_B76800 17
|
|
#define SVR4_B115200 18
|
|
#define SVR4_B153600 19
|
|
#define SVR4_B230400 20
|
|
#define SVR4_B307200 21
|
|
#define SVR4_B460800 22
|
|
|
|
#endif /* !_SVR4_TERMIOS_H_ */
|