Last change
on this file was 18, checked in by bird, 22 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.