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