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