externs.h revision 1.3 1 1.1 cgd /*
2 1.3 cgd * Copyright (c) 1988, 1990, 1993
3 1.3 cgd * The Regents of the University of California. All rights reserved.
4 1.1 cgd *
5 1.1 cgd * Redistribution and use in source and binary forms, with or without
6 1.1 cgd * modification, are permitted provided that the following conditions
7 1.1 cgd * are met:
8 1.1 cgd * 1. Redistributions of source code must retain the above copyright
9 1.1 cgd * notice, this list of conditions and the following disclaimer.
10 1.1 cgd * 2. Redistributions in binary form must reproduce the above copyright
11 1.1 cgd * notice, this list of conditions and the following disclaimer in the
12 1.1 cgd * documentation and/or other materials provided with the distribution.
13 1.1 cgd * 3. All advertising materials mentioning features or use of this software
14 1.1 cgd * must display the following acknowledgement:
15 1.1 cgd * This product includes software developed by the University of
16 1.1 cgd * California, Berkeley and its contributors.
17 1.1 cgd * 4. Neither the name of the University nor the names of its contributors
18 1.1 cgd * may be used to endorse or promote products derived from this software
19 1.1 cgd * without specific prior written permission.
20 1.1 cgd *
21 1.1 cgd * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22 1.1 cgd * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 1.1 cgd * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 1.1 cgd * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25 1.1 cgd * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 1.1 cgd * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 1.1 cgd * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 1.1 cgd * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 1.1 cgd * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 1.1 cgd * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 1.1 cgd * SUCH DAMAGE.
32 1.1 cgd *
33 1.3 cgd * from: @(#)externs.h 8.1 (Berkeley) 6/6/93
34 1.3 cgd * $Id: externs.h,v 1.3 1994/02/25 03:00:25 cgd Exp $
35 1.1 cgd */
36 1.1 cgd
37 1.1 cgd #ifndef BSD
38 1.1 cgd # define BSD 43
39 1.1 cgd #endif
40 1.1 cgd
41 1.3 cgd /*
42 1.3 cgd * ucb stdio.h defines BSD as something wierd
43 1.3 cgd */
44 1.3 cgd #if defined(sun) && defined(__svr4__)
45 1.3 cgd #define BSD 43
46 1.3 cgd #endif
47 1.3 cgd
48 1.3 cgd #ifndef USE_TERMIO
49 1.3 cgd # if BSD > 43 || defined(SYSV_TERMIO)
50 1.3 cgd # define USE_TERMIO
51 1.3 cgd # endif
52 1.1 cgd #endif
53 1.1 cgd
54 1.1 cgd #include <stdio.h>
55 1.1 cgd #include <setjmp.h>
56 1.3 cgd #if defined(CRAY) && !defined(NO_BSD_SETJMP)
57 1.3 cgd #include <bsdsetjmp.h>
58 1.3 cgd #endif
59 1.1 cgd #ifndef FILIO_H
60 1.1 cgd #include <sys/ioctl.h>
61 1.1 cgd #else
62 1.1 cgd #include <sys/filio.h>
63 1.1 cgd #endif
64 1.3 cgd #ifdef CRAY
65 1.3 cgd # include <errno.h>
66 1.3 cgd #endif /* CRAY */
67 1.1 cgd #ifdef USE_TERMIO
68 1.1 cgd # ifndef VINTR
69 1.1 cgd # ifdef SYSV_TERMIO
70 1.1 cgd # include <sys/termio.h>
71 1.1 cgd # else
72 1.1 cgd # include <sys/termios.h>
73 1.1 cgd # define termio termios
74 1.1 cgd # endif
75 1.1 cgd # endif
76 1.1 cgd #endif
77 1.1 cgd #if defined(NO_CC_T) || !defined(USE_TERMIO)
78 1.1 cgd # if !defined(USE_TERMIO)
79 1.1 cgd typedef char cc_t;
80 1.1 cgd # else
81 1.1 cgd typedef unsigned char cc_t;
82 1.1 cgd # endif
83 1.1 cgd #endif
84 1.1 cgd
85 1.1 cgd #ifndef NO_STRING_H
86 1.1 cgd #include <string.h>
87 1.1 cgd #endif
88 1.1 cgd #include <strings.h>
89 1.1 cgd
90 1.1 cgd #ifndef _POSIX_VDISABLE
91 1.1 cgd # ifdef sun
92 1.1 cgd # include <sys/param.h> /* pick up VDISABLE definition, mayby */
93 1.1 cgd # endif
94 1.1 cgd # ifdef VDISABLE
95 1.1 cgd # define _POSIX_VDISABLE VDISABLE
96 1.1 cgd # else
97 1.1 cgd # define _POSIX_VDISABLE ((cc_t)'\377')
98 1.1 cgd # endif
99 1.1 cgd #endif
100 1.1 cgd
101 1.1 cgd #define SUBBUFSIZE 256
102 1.1 cgd
103 1.3 cgd #ifndef CRAY
104 1.1 cgd extern int errno; /* outside this world */
105 1.3 cgd #endif /* !CRAY */
106 1.1 cgd
107 1.1 cgd #if !defined(P)
108 1.1 cgd # ifdef __STDC__
109 1.1 cgd # define P(x) x
110 1.1 cgd # else
111 1.1 cgd # define P(x) ()
112 1.1 cgd # endif
113 1.1 cgd #endif
114 1.1 cgd
115 1.1 cgd extern int
116 1.1 cgd autologin, /* Autologin enabled */
117 1.1 cgd skiprc, /* Don't process the ~/.telnetrc file */
118 1.1 cgd eight, /* use eight bit mode (binary in and/or out */
119 1.1 cgd flushout, /* flush output */
120 1.1 cgd connected, /* Are we connected to the other side? */
121 1.1 cgd globalmode, /* Mode tty should be in */
122 1.1 cgd In3270, /* Are we in 3270 mode? */
123 1.1 cgd telnetport, /* Are we connected to the telnet port? */
124 1.1 cgd localflow, /* Flow control handled locally */
125 1.3 cgd restartany, /* If flow control, restart output on any character */
126 1.1 cgd localchars, /* we recognize interrupt/quit */
127 1.1 cgd donelclchars, /* the user has set "localchars" */
128 1.1 cgd showoptions,
129 1.1 cgd net, /* Network file descriptor */
130 1.1 cgd tin, /* Terminal input file descriptor */
131 1.1 cgd tout, /* Terminal output file descriptor */
132 1.1 cgd crlf, /* Should '\r' be mapped to <CR><LF> (or <CR><NUL>)? */
133 1.1 cgd autoflush, /* flush output when interrupting? */
134 1.1 cgd autosynch, /* send interrupt characters with SYNCH? */
135 1.1 cgd SYNCHing, /* Is the stream in telnet SYNCH mode? */
136 1.1 cgd donebinarytoggle, /* the user has put us in binary */
137 1.1 cgd dontlecho, /* do we suppress local echoing right now? */
138 1.1 cgd crmod,
139 1.1 cgd netdata, /* Print out network data flow */
140 1.1 cgd prettydump, /* Print "netdata" output in user readable format */
141 1.1 cgd #if defined(unix)
142 1.1 cgd #if defined(TN3270)
143 1.1 cgd cursesdata, /* Print out curses data flow */
144 1.1 cgd apitrace, /* Trace API transactions */
145 1.1 cgd #endif /* defined(TN3270) */
146 1.1 cgd termdata, /* Print out terminal data flow */
147 1.1 cgd #endif /* defined(unix) */
148 1.1 cgd debug; /* Debug level */
149 1.1 cgd
150 1.1 cgd extern cc_t escape; /* Escape to command mode */
151 1.1 cgd extern cc_t rlogin; /* Rlogin mode escape character */
152 1.1 cgd #ifdef KLUDGELINEMODE
153 1.1 cgd extern cc_t echoc; /* Toggle local echoing */
154 1.1 cgd #endif
155 1.1 cgd
156 1.1 cgd extern char
157 1.1 cgd *prompt; /* Prompt for command. */
158 1.1 cgd
159 1.1 cgd extern char
160 1.1 cgd doopt[],
161 1.1 cgd dont[],
162 1.1 cgd will[],
163 1.1 cgd wont[],
164 1.1 cgd options[], /* All the little options */
165 1.1 cgd *hostname; /* Who are we connected to? */
166 1.1 cgd
167 1.1 cgd /*
168 1.1 cgd * We keep track of each side of the option negotiation.
169 1.1 cgd */
170 1.1 cgd
171 1.1 cgd #define MY_STATE_WILL 0x01
172 1.1 cgd #define MY_WANT_STATE_WILL 0x02
173 1.1 cgd #define MY_STATE_DO 0x04
174 1.1 cgd #define MY_WANT_STATE_DO 0x08
175 1.1 cgd
176 1.1 cgd /*
177 1.1 cgd * Macros to check the current state of things
178 1.1 cgd */
179 1.1 cgd
180 1.1 cgd #define my_state_is_do(opt) (options[opt]&MY_STATE_DO)
181 1.1 cgd #define my_state_is_will(opt) (options[opt]&MY_STATE_WILL)
182 1.1 cgd #define my_want_state_is_do(opt) (options[opt]&MY_WANT_STATE_DO)
183 1.1 cgd #define my_want_state_is_will(opt) (options[opt]&MY_WANT_STATE_WILL)
184 1.1 cgd
185 1.1 cgd #define my_state_is_dont(opt) (!my_state_is_do(opt))
186 1.1 cgd #define my_state_is_wont(opt) (!my_state_is_will(opt))
187 1.1 cgd #define my_want_state_is_dont(opt) (!my_want_state_is_do(opt))
188 1.1 cgd #define my_want_state_is_wont(opt) (!my_want_state_is_will(opt))
189 1.1 cgd
190 1.1 cgd #define set_my_state_do(opt) {options[opt] |= MY_STATE_DO;}
191 1.1 cgd #define set_my_state_will(opt) {options[opt] |= MY_STATE_WILL;}
192 1.1 cgd #define set_my_want_state_do(opt) {options[opt] |= MY_WANT_STATE_DO;}
193 1.1 cgd #define set_my_want_state_will(opt) {options[opt] |= MY_WANT_STATE_WILL;}
194 1.1 cgd
195 1.1 cgd #define set_my_state_dont(opt) {options[opt] &= ~MY_STATE_DO;}
196 1.1 cgd #define set_my_state_wont(opt) {options[opt] &= ~MY_STATE_WILL;}
197 1.1 cgd #define set_my_want_state_dont(opt) {options[opt] &= ~MY_WANT_STATE_DO;}
198 1.1 cgd #define set_my_want_state_wont(opt) {options[opt] &= ~MY_WANT_STATE_WILL;}
199 1.1 cgd
200 1.1 cgd /*
201 1.1 cgd * Make everything symetrical
202 1.1 cgd */
203 1.1 cgd
204 1.1 cgd #define HIS_STATE_WILL MY_STATE_DO
205 1.1 cgd #define HIS_WANT_STATE_WILL MY_WANT_STATE_DO
206 1.1 cgd #define HIS_STATE_DO MY_STATE_WILL
207 1.1 cgd #define HIS_WANT_STATE_DO MY_WANT_STATE_WILL
208 1.1 cgd
209 1.1 cgd #define his_state_is_do my_state_is_will
210 1.1 cgd #define his_state_is_will my_state_is_do
211 1.1 cgd #define his_want_state_is_do my_want_state_is_will
212 1.1 cgd #define his_want_state_is_will my_want_state_is_do
213 1.1 cgd
214 1.1 cgd #define his_state_is_dont my_state_is_wont
215 1.1 cgd #define his_state_is_wont my_state_is_dont
216 1.1 cgd #define his_want_state_is_dont my_want_state_is_wont
217 1.1 cgd #define his_want_state_is_wont my_want_state_is_dont
218 1.1 cgd
219 1.1 cgd #define set_his_state_do set_my_state_will
220 1.1 cgd #define set_his_state_will set_my_state_do
221 1.1 cgd #define set_his_want_state_do set_my_want_state_will
222 1.1 cgd #define set_his_want_state_will set_my_want_state_do
223 1.1 cgd
224 1.1 cgd #define set_his_state_dont set_my_state_wont
225 1.1 cgd #define set_his_state_wont set_my_state_dont
226 1.1 cgd #define set_his_want_state_dont set_my_want_state_wont
227 1.1 cgd #define set_his_want_state_wont set_my_want_state_dont
228 1.1 cgd
229 1.1 cgd
230 1.1 cgd extern FILE
231 1.1 cgd *NetTrace; /* Where debugging output goes */
232 1.1 cgd extern unsigned char
233 1.1 cgd NetTraceFile[]; /* Name of file where debugging output goes */
234 1.1 cgd extern void
235 1.1 cgd SetNetTrace P((char *)); /* Function to change where debugging goes */
236 1.1 cgd
237 1.1 cgd extern jmp_buf
238 1.1 cgd peerdied,
239 1.1 cgd toplevel; /* For error conditions. */
240 1.1 cgd
241 1.1 cgd extern void
242 1.1 cgd command P((int, char *, int)),
243 1.1 cgd Dump P((int, unsigned char *, int)),
244 1.1 cgd init_3270 P((void)),
245 1.1 cgd printoption P((char *, int, int)),
246 1.1 cgd printsub P((int, unsigned char *, int)),
247 1.1 cgd sendnaws P((void)),
248 1.1 cgd setconnmode P((int)),
249 1.1 cgd setcommandmode P((void)),
250 1.1 cgd setneturg P((void)),
251 1.1 cgd sys_telnet_init P((void)),
252 1.1 cgd telnet P((char *)),
253 1.1 cgd tel_enter_binary P((int)),
254 1.1 cgd TerminalFlushOutput P((void)),
255 1.1 cgd TerminalNewMode P((int)),
256 1.1 cgd TerminalRestoreState P((void)),
257 1.1 cgd TerminalSaveState P((void)),
258 1.1 cgd tninit P((void)),
259 1.1 cgd upcase P((char *)),
260 1.1 cgd willoption P((int)),
261 1.1 cgd wontoption P((int));
262 1.1 cgd
263 1.1 cgd extern void
264 1.3 cgd send_do P((int, int)),
265 1.3 cgd send_dont P((int, int)),
266 1.3 cgd send_will P((int, int)),
267 1.3 cgd send_wont P((int, int));
268 1.3 cgd
269 1.3 cgd extern void
270 1.1 cgd lm_will P((unsigned char *, int)),
271 1.1 cgd lm_wont P((unsigned char *, int)),
272 1.1 cgd lm_do P((unsigned char *, int)),
273 1.1 cgd lm_dont P((unsigned char *, int)),
274 1.1 cgd lm_mode P((unsigned char *, int, int));
275 1.1 cgd
276 1.1 cgd extern void
277 1.1 cgd slc_init P((void)),
278 1.1 cgd slcstate P((void)),
279 1.1 cgd slc_mode_export P((void)),
280 1.1 cgd slc_mode_import P((int)),
281 1.1 cgd slc_import P((int)),
282 1.1 cgd slc_export P((void)),
283 1.1 cgd slc P((unsigned char *, int)),
284 1.1 cgd slc_check P((void)),
285 1.1 cgd slc_start_reply P((void)),
286 1.1 cgd slc_add_reply P((int, int, int)),
287 1.1 cgd slc_end_reply P((void));
288 1.1 cgd extern int
289 1.1 cgd slc_update P((void));
290 1.1 cgd
291 1.1 cgd extern void
292 1.1 cgd env_opt P((unsigned char *, int)),
293 1.1 cgd env_opt_start P((void)),
294 1.1 cgd env_opt_start_info P((void)),
295 1.1 cgd env_opt_add P((unsigned char *)),
296 1.1 cgd env_opt_end P((int));
297 1.1 cgd
298 1.1 cgd extern unsigned char
299 1.3 cgd *env_default P((int, int)),
300 1.1 cgd *env_getvalue P((unsigned char *));
301 1.1 cgd
302 1.1 cgd extern int
303 1.1 cgd get_status P((void)),
304 1.1 cgd dosynch P((void));
305 1.1 cgd
306 1.1 cgd extern cc_t
307 1.1 cgd *tcval P((int));
308 1.1 cgd
309 1.1 cgd #ifndef USE_TERMIO
310 1.1 cgd
311 1.1 cgd extern struct tchars ntc;
312 1.1 cgd extern struct ltchars nltc;
313 1.1 cgd extern struct sgttyb nttyb;
314 1.1 cgd
315 1.1 cgd # define termEofChar ntc.t_eofc
316 1.1 cgd # define termEraseChar nttyb.sg_erase
317 1.1 cgd # define termFlushChar nltc.t_flushc
318 1.1 cgd # define termIntChar ntc.t_intrc
319 1.1 cgd # define termKillChar nttyb.sg_kill
320 1.1 cgd # define termLiteralNextChar nltc.t_lnextc
321 1.1 cgd # define termQuitChar ntc.t_quitc
322 1.1 cgd # define termSuspChar nltc.t_suspc
323 1.1 cgd # define termRprntChar nltc.t_rprntc
324 1.1 cgd # define termWerasChar nltc.t_werasc
325 1.1 cgd # define termStartChar ntc.t_startc
326 1.1 cgd # define termStopChar ntc.t_stopc
327 1.1 cgd # define termForw1Char ntc.t_brkc
328 1.1 cgd extern cc_t termForw2Char;
329 1.1 cgd extern cc_t termAytChar;
330 1.1 cgd
331 1.1 cgd # define termEofCharp (cc_t *)&ntc.t_eofc
332 1.1 cgd # define termEraseCharp (cc_t *)&nttyb.sg_erase
333 1.1 cgd # define termFlushCharp (cc_t *)&nltc.t_flushc
334 1.1 cgd # define termIntCharp (cc_t *)&ntc.t_intrc
335 1.1 cgd # define termKillCharp (cc_t *)&nttyb.sg_kill
336 1.1 cgd # define termLiteralNextCharp (cc_t *)&nltc.t_lnextc
337 1.1 cgd # define termQuitCharp (cc_t *)&ntc.t_quitc
338 1.1 cgd # define termSuspCharp (cc_t *)&nltc.t_suspc
339 1.1 cgd # define termRprntCharp (cc_t *)&nltc.t_rprntc
340 1.1 cgd # define termWerasCharp (cc_t *)&nltc.t_werasc
341 1.1 cgd # define termStartCharp (cc_t *)&ntc.t_startc
342 1.1 cgd # define termStopCharp (cc_t *)&ntc.t_stopc
343 1.1 cgd # define termForw1Charp (cc_t *)&ntc.t_brkc
344 1.1 cgd # define termForw2Charp (cc_t *)&termForw2Char
345 1.1 cgd # define termAytCharp (cc_t *)&termAytChar
346 1.1 cgd
347 1.1 cgd # else
348 1.1 cgd
349 1.1 cgd extern struct termio new_tc;
350 1.1 cgd
351 1.1 cgd # define termEofChar new_tc.c_cc[VEOF]
352 1.1 cgd # define termEraseChar new_tc.c_cc[VERASE]
353 1.1 cgd # define termIntChar new_tc.c_cc[VINTR]
354 1.1 cgd # define termKillChar new_tc.c_cc[VKILL]
355 1.1 cgd # define termQuitChar new_tc.c_cc[VQUIT]
356 1.1 cgd
357 1.1 cgd # ifndef VSUSP
358 1.1 cgd extern cc_t termSuspChar;
359 1.1 cgd # else
360 1.1 cgd # define termSuspChar new_tc.c_cc[VSUSP]
361 1.1 cgd # endif
362 1.1 cgd # if defined(VFLUSHO) && !defined(VDISCARD)
363 1.1 cgd # define VDISCARD VFLUSHO
364 1.1 cgd # endif
365 1.1 cgd # ifndef VDISCARD
366 1.1 cgd extern cc_t termFlushChar;
367 1.1 cgd # else
368 1.1 cgd # define termFlushChar new_tc.c_cc[VDISCARD]
369 1.1 cgd # endif
370 1.1 cgd # ifndef VWERASE
371 1.1 cgd extern cc_t termWerasChar;
372 1.1 cgd # else
373 1.1 cgd # define termWerasChar new_tc.c_cc[VWERASE]
374 1.1 cgd # endif
375 1.1 cgd # ifndef VREPRINT
376 1.1 cgd extern cc_t termRprntChar;
377 1.1 cgd # else
378 1.1 cgd # define termRprntChar new_tc.c_cc[VREPRINT]
379 1.1 cgd # endif
380 1.1 cgd # ifndef VLNEXT
381 1.1 cgd extern cc_t termLiteralNextChar;
382 1.1 cgd # else
383 1.1 cgd # define termLiteralNextChar new_tc.c_cc[VLNEXT]
384 1.1 cgd # endif
385 1.1 cgd # ifndef VSTART
386 1.1 cgd extern cc_t termStartChar;
387 1.1 cgd # else
388 1.1 cgd # define termStartChar new_tc.c_cc[VSTART]
389 1.1 cgd # endif
390 1.1 cgd # ifndef VSTOP
391 1.1 cgd extern cc_t termStopChar;
392 1.1 cgd # else
393 1.1 cgd # define termStopChar new_tc.c_cc[VSTOP]
394 1.1 cgd # endif
395 1.1 cgd # ifndef VEOL
396 1.1 cgd extern cc_t termForw1Char;
397 1.1 cgd # else
398 1.1 cgd # define termForw1Char new_tc.c_cc[VEOL]
399 1.1 cgd # endif
400 1.1 cgd # ifndef VEOL2
401 1.1 cgd extern cc_t termForw2Char;
402 1.1 cgd # else
403 1.1 cgd # define termForw2Char new_tc.c_cc[VEOL]
404 1.1 cgd # endif
405 1.1 cgd # ifndef VSTATUS
406 1.1 cgd extern cc_t termAytChar;
407 1.1 cgd #else
408 1.1 cgd # define termAytChar new_tc.c_cc[VSTATUS]
409 1.1 cgd #endif
410 1.1 cgd
411 1.1 cgd # if !defined(CRAY) || defined(__STDC__)
412 1.1 cgd # define termEofCharp &termEofChar
413 1.1 cgd # define termEraseCharp &termEraseChar
414 1.1 cgd # define termIntCharp &termIntChar
415 1.1 cgd # define termKillCharp &termKillChar
416 1.1 cgd # define termQuitCharp &termQuitChar
417 1.1 cgd # define termSuspCharp &termSuspChar
418 1.1 cgd # define termFlushCharp &termFlushChar
419 1.1 cgd # define termWerasCharp &termWerasChar
420 1.1 cgd # define termRprntCharp &termRprntChar
421 1.1 cgd # define termLiteralNextCharp &termLiteralNextChar
422 1.1 cgd # define termStartCharp &termStartChar
423 1.1 cgd # define termStopCharp &termStopChar
424 1.1 cgd # define termForw1Charp &termForw1Char
425 1.1 cgd # define termForw2Charp &termForw2Char
426 1.1 cgd # define termAytCharp &termAytChar
427 1.1 cgd # else
428 1.1 cgd /* Work around a compiler bug */
429 1.1 cgd # define termEofCharp 0
430 1.1 cgd # define termEraseCharp 0
431 1.1 cgd # define termIntCharp 0
432 1.1 cgd # define termKillCharp 0
433 1.1 cgd # define termQuitCharp 0
434 1.1 cgd # define termSuspCharp 0
435 1.1 cgd # define termFlushCharp 0
436 1.1 cgd # define termWerasCharp 0
437 1.1 cgd # define termRprntCharp 0
438 1.1 cgd # define termLiteralNextCharp 0
439 1.1 cgd # define termStartCharp 0
440 1.1 cgd # define termStopCharp 0
441 1.1 cgd # define termForw1Charp 0
442 1.1 cgd # define termForw2Charp 0
443 1.1 cgd # define termAytCharp 0
444 1.1 cgd # endif
445 1.1 cgd #endif
446 1.1 cgd
447 1.1 cgd
448 1.1 cgd /* Ring buffer structures which are shared */
449 1.1 cgd
450 1.1 cgd extern Ring
451 1.1 cgd netoring,
452 1.1 cgd netiring,
453 1.1 cgd ttyoring,
454 1.1 cgd ttyiring;
455 1.1 cgd
456 1.1 cgd /* Tn3270 section */
457 1.1 cgd #if defined(TN3270)
458 1.1 cgd
459 1.1 cgd extern int
460 1.1 cgd HaveInput, /* Whether an asynchronous I/O indication came in */
461 1.1 cgd noasynchtty, /* Don't do signals on I/O (SIGURG, SIGIO) */
462 1.1 cgd noasynchnet, /* Don't do signals on I/O (SIGURG, SIGIO) */
463 1.1 cgd sigiocount, /* Count of SIGIO receptions */
464 1.1 cgd shell_active; /* Subshell is active */
465 1.1 cgd
466 1.1 cgd extern char
467 1.1 cgd *Ibackp, /* Oldest byte of 3270 data */
468 1.1 cgd Ibuf[], /* 3270 buffer */
469 1.1 cgd *Ifrontp, /* Where next 3270 byte goes */
470 1.1 cgd tline[],
471 1.1 cgd *transcom; /* Transparent command */
472 1.1 cgd
473 1.3 cgd extern int
474 1.1 cgd settranscom P((int, char**));
475 1.1 cgd
476 1.1 cgd extern void
477 1.3 cgd inputAvailable P((int));
478 1.1 cgd #endif /* defined(TN3270) */
479