|
Last change
on this file was 18, checked in by bird, 23 years ago |
|
Initial revision
|
-
Property cvs2svn:cvs-rev
set to
1.1
-
Property svn:eol-style
set to
native
-
Property svn:executable
set to
*
|
|
File size:
6.0 KB
|
| Line | |
|---|
| 1 | ;
|
|---|
| 2 | ; TERMIO.INC -- General terminal interface
|
|---|
| 3 | ;
|
|---|
| 4 | ; Copyright (c) 1991-1995 by Eberhard Mattes
|
|---|
| 5 | ;
|
|---|
| 6 | ; This file is part of emx.
|
|---|
| 7 | ;
|
|---|
| 8 | ; emx is free software; you can redistribute it and/or modify it
|
|---|
| 9 | ; under the terms of the GNU General Public License as published by
|
|---|
| 10 | ; the Free Software Foundation; either version 2, or (at your option)
|
|---|
| 11 | ; any later version.
|
|---|
| 12 | ;
|
|---|
| 13 | ; emx is distributed in the hope that it will be useful,
|
|---|
| 14 | ; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|---|
| 15 | ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|---|
| 16 | ; GNU General Public License for more details.
|
|---|
| 17 | ;
|
|---|
| 18 | ; You should have received a copy of the GNU General Public License
|
|---|
| 19 | ; along with emx; see the file COPYING. If not, write to
|
|---|
| 20 | ; the Free Software Foundation, 59 Temple Place - Suite 330,
|
|---|
| 21 | ; Boston, MA 02111-1307, USA.
|
|---|
| 22 | ;
|
|---|
| 23 | ; See emx.asm for a special exception.
|
|---|
| 24 | ;
|
|---|
| 25 |
|
|---|
| 26 | ;
|
|---|
| 27 | ; cf. /emx/include/sys/termio.h and /emx/include/sys/ioctl.h
|
|---|
| 28 | ;
|
|---|
| 29 |
|
|---|
| 30 | TCGETA = 1
|
|---|
| 31 | TCSETA = 2
|
|---|
| 32 | TCSETAW = 3
|
|---|
| 33 | TCSETAF = 4
|
|---|
| 34 | TCFLSH = 5
|
|---|
| 35 | TCSBRK = 6
|
|---|
| 36 | TCXONC = 7
|
|---|
| 37 | _TCGA = 8 ; Used internally for tcgetattr()
|
|---|
| 38 | _TCSANOW = 9 ; Used internally for tcsetattr()
|
|---|
| 39 | _TCSADRAIN = 10 ; Used internally for tcsetattr()
|
|---|
| 40 | _TCSAFLUSH = 11 ; Used internally for tcsetattr()
|
|---|
| 41 | FIONREAD = 16
|
|---|
| 42 | FGETHTYPE = 32
|
|---|
| 43 |
|
|---|
| 44 | VINTR = 0
|
|---|
| 45 | VQUIT = 1
|
|---|
| 46 | VERASE = 2
|
|---|
| 47 | VKILL = 3
|
|---|
| 48 | VEOF = 4
|
|---|
| 49 | VEOL = 5
|
|---|
| 50 | VMIN = 6
|
|---|
| 51 | VTIME = 7
|
|---|
| 52 | VSUSP = 8 ; termios
|
|---|
| 53 | VSTOP = 9 ; termios
|
|---|
| 54 | VSTART = 10 ; termios
|
|---|
| 55 |
|
|---|
| 56 | NCC = 8 ; termio
|
|---|
| 57 | NCCS = 11 ; termios
|
|---|
| 58 |
|
|---|
| 59 | IGNBRK = 0001H
|
|---|
| 60 | BRKINT = 0002H
|
|---|
| 61 | IGNPAR = 0004H
|
|---|
| 62 | PARMRK = 0008H
|
|---|
| 63 | INPCK = 0010H
|
|---|
| 64 | ISTRIP = 0020H
|
|---|
| 65 | INLCR = 0040H
|
|---|
| 66 | IGNCR = 0080H
|
|---|
| 67 | ICRNL = 0100H
|
|---|
| 68 | IUCLC = 0200H
|
|---|
| 69 | IXON = 0400H
|
|---|
| 70 | IXANY = 0800H
|
|---|
| 71 | IXOFF = 1000H
|
|---|
| 72 | IDELETE = 8000H
|
|---|
| 73 |
|
|---|
| 74 | OPOST = 0001H
|
|---|
| 75 | OLCUC = 0002H
|
|---|
| 76 | ONLCR = 0004H
|
|---|
| 77 | OCRNL = 0008H
|
|---|
| 78 | ONOCR = 0010H
|
|---|
| 79 | ONLRET = 0020H
|
|---|
| 80 | OFILL = 0040H
|
|---|
| 81 | OFDEL = 0080H
|
|---|
| 82 | NLDLY = 0100H ; Mask
|
|---|
| 83 | NL0 = 0000H
|
|---|
| 84 | NL1 = 0100H
|
|---|
| 85 | CRDLY = 0600H ; Mask
|
|---|
| 86 | _CR0 = 0000H
|
|---|
| 87 | _CR1 = 0200H
|
|---|
| 88 | _CR2 = 0400H
|
|---|
| 89 | _CR3 = 0600H
|
|---|
| 90 | TABDLY = 1800H ; Mask
|
|---|
| 91 | TAB0 = 0000H
|
|---|
| 92 | TAB1 = 0800H
|
|---|
| 93 | TAB2 = 1000H
|
|---|
| 94 | TAB3 = 1800H
|
|---|
| 95 | BSDLY = 2000H ; Mask
|
|---|
| 96 | BS0 = 0000H
|
|---|
| 97 | BS1 = 2000H
|
|---|
| 98 | VTDLY = 4000H ; Mask
|
|---|
| 99 | VT0 = 0000H
|
|---|
| 100 | VT1 = 4000H
|
|---|
| 101 | FFDLY = 8000H ; Mask
|
|---|
| 102 | FF0 = 0000H
|
|---|
| 103 | FF1 = 8000H
|
|---|
| 104 |
|
|---|
| 105 | CBAUD = 000FH ; Mask
|
|---|
| 106 | B0 = 0000H
|
|---|
| 107 | B50 = 0001H
|
|---|
| 108 | B75 = 0002H
|
|---|
| 109 | B110 = 0003H
|
|---|
| 110 | B134 = 0004H
|
|---|
| 111 | B150 = 0005H
|
|---|
| 112 | B200 = 0006H
|
|---|
| 113 | B300 = 0007H
|
|---|
| 114 | B600 = 0008H
|
|---|
| 115 | B1200 = 0009H
|
|---|
| 116 | B1800 = 000AH
|
|---|
| 117 | B2400 = 000BH
|
|---|
| 118 | B4800 = 000CH
|
|---|
| 119 | B9600 = 000DH
|
|---|
| 120 | B19200 = 000EH
|
|---|
| 121 | B38400 = 000FH
|
|---|
| 122 | CSIZE = 0030H ; Mask
|
|---|
| 123 | CS5 = 0000H
|
|---|
| 124 | CS6 = 0010H
|
|---|
| 125 | CS7 = 0020H
|
|---|
| 126 | CS8 = 0030H
|
|---|
| 127 | CSTOPB = 0040H
|
|---|
| 128 | CREAD = 0080H
|
|---|
| 129 | PARENB = 0100H
|
|---|
| 130 | PARODD = 0200H
|
|---|
| 131 | HUPCL = 0400H
|
|---|
| 132 | CLOCAL = 0800H
|
|---|
| 133 | LOBLK = 1000H
|
|---|
| 134 |
|
|---|
| 135 | ISIG = 0001H
|
|---|
| 136 | ICANON = 0002H
|
|---|
| 137 | XCASE = 0004H
|
|---|
| 138 | IECHO = 0008H
|
|---|
| 139 | ECHOE = 0010H
|
|---|
| 140 | ECHOK = 0020H
|
|---|
| 141 | ECHONL = 0040H
|
|---|
| 142 | NOFLSH = 0080H
|
|---|
| 143 | IDEFAULT = 8000H
|
|---|
| 144 |
|
|---|
| 145 |
|
|---|
| 146 | ;
|
|---|
| 147 | ; ioctl()
|
|---|
| 148 | ;
|
|---|
| 149 | TERMIO STRUCT
|
|---|
| 150 | C_IFLAG DD ?
|
|---|
| 151 | C_OFLAG DD ?
|
|---|
| 152 | C_CFLAG DD ?
|
|---|
| 153 | C_LFLAG DD ?
|
|---|
| 154 | C_LINE DD ?
|
|---|
| 155 | C_CC DB NCC DUP (?)
|
|---|
| 156 | TERMIO ENDS
|
|---|
| 157 |
|
|---|
| 158 | TERMIOS STRUCT
|
|---|
| 159 | C_IFLAG DD ?
|
|---|
| 160 | C_OFLAG DD ?
|
|---|
| 161 | C_CFLAG DD ?
|
|---|
| 162 | C_LFLAG DD ?
|
|---|
| 163 | C_CC DB NCCS DUP (?)
|
|---|
| 164 | ALIGN 4
|
|---|
| 165 | C_RESERVED DD 4 DUP (?)
|
|---|
| 166 | TERMIOS ENDS
|
|---|
| 167 |
|
|---|
| 168 | MY_TERMIO STRUCT
|
|---|
| 169 | C_IFLAG DD ?
|
|---|
| 170 | C_OFLAG DD ?
|
|---|
| 171 | C_CFLAG DD ?
|
|---|
| 172 | C_LFLAG DD ?
|
|---|
| 173 | C_CC DB NCCS DUP (?)
|
|---|
| 174 | MY_TERMIO ENDS
|
|---|
| 175 |
|
|---|
| 176 | ;
|
|---|
| 177 | ; cf. /emx/include/sys/fcntl.h
|
|---|
| 178 | ;
|
|---|
| 179 | F_GETFL = 1
|
|---|
| 180 | F_SETFL = 2
|
|---|
| 181 | F_GETFD = 3
|
|---|
| 182 | F_SETFD = 4
|
|---|
| 183 |
|
|---|
| 184 | O_NDELAY = 04H
|
|---|
| 185 | O_APPEND = 08H
|
|---|
| 186 |
|
|---|
| 187 | IFNDEF __TERMIO
|
|---|
| 188 |
|
|---|
| 189 | SV_DATA SEGMENT
|
|---|
| 190 |
|
|---|
| 191 | EXTRN STDIN_TERMIO:MY_TERMIO
|
|---|
| 192 | EXTRN STDIN_FL:DWORD
|
|---|
| 193 |
|
|---|
| 194 | SV_DATA ENDS
|
|---|
| 195 |
|
|---|
| 196 |
|
|---|
| 197 | SV_CODE SEGMENT
|
|---|
| 198 |
|
|---|
| 199 | EXTRN TERMIO_INIT:NEAR
|
|---|
| 200 | EXTRN TERMIO_READ:NEAR
|
|---|
| 201 | EXTRN STDIN_AVAIL:NEAR
|
|---|
| 202 | EXTRN KBD_FLUSH:NEAR
|
|---|
| 203 | EXTRN TERMIO_GET:NEAR
|
|---|
| 204 | EXTRN TERMIO_SET:NEAR
|
|---|
| 205 | EXTRN TERMIO_FLUSH:NEAR
|
|---|
| 206 | EXTRN TERMIOS_GET:NEAR
|
|---|
| 207 | EXTRN TERMIOS_SET:NEAR
|
|---|
| 208 | EXTRN TERMIOS_FLUSH:NEAR
|
|---|
| 209 |
|
|---|
| 210 | SV_CODE ENDS
|
|---|
| 211 |
|
|---|
| 212 | INIT_CODE SEGMENT
|
|---|
| 213 |
|
|---|
| 214 | EXTRN POLL_KEYBOARD:NEAR
|
|---|
| 215 | EXTRN INIT_TERMIO:NEAR
|
|---|
| 216 |
|
|---|
| 217 | INIT_CODE ENDS
|
|---|
| 218 |
|
|---|
| 219 | ENDIF
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.