externs.h revision 1.7 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.7 jtk * $NetBSD: externs.h,v 1.7 1996/02/24 07:32:00 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.7 jtk debug, /* Debug level */
146 1.7 jtk clienteof; /* Client received EOF */
147 1.1 cgd
148 1.1 cgd extern cc_t escape; /* Escape to command mode */
149 1.1 cgd extern cc_t rlogin; /* Rlogin mode escape character */
150 1.1 cgd #ifdef KLUDGELINEMODE
151 1.1 cgd extern cc_t echoc; /* Toggle local echoing */
152 1.1 cgd #endif
153 1.1 cgd
154 1.1 cgd extern char
155 1.1 cgd *prompt; /* Prompt for command. */
156 1.1 cgd
157 1.1 cgd extern char
158 1.1 cgd doopt[],
159 1.1 cgd dont[],
160 1.1 cgd will[],
161 1.1 cgd wont[],
162 1.1 cgd options[], /* All the little options */
163 1.1 cgd *hostname; /* Who are we connected to? */
164 1.1 cgd
165 1.1 cgd /*
166 1.1 cgd * We keep track of each side of the option negotiation.
167 1.1 cgd */
168 1.1 cgd
169 1.1 cgd #define MY_STATE_WILL 0x01
170 1.1 cgd #define MY_WANT_STATE_WILL 0x02
171 1.1 cgd #define MY_STATE_DO 0x04
172 1.1 cgd #define MY_WANT_STATE_DO 0x08
173 1.1 cgd
174 1.1 cgd /*
175 1.1 cgd * Macros to check the current state of things
176 1.1 cgd */
177 1.1 cgd
178 1.1 cgd #define my_state_is_do(opt) (options[opt]&MY_STATE_DO)
179 1.1 cgd #define my_state_is_will(opt) (options[opt]&MY_STATE_WILL)
180 1.1 cgd #define my_want_state_is_do(opt) (options[opt]&MY_WANT_STATE_DO)
181 1.1 cgd #define my_want_state_is_will(opt) (options[opt]&MY_WANT_STATE_WILL)
182 1.1 cgd
183 1.1 cgd #define my_state_is_dont(opt) (!my_state_is_do(opt))
184 1.1 cgd #define my_state_is_wont(opt) (!my_state_is_will(opt))
185 1.1 cgd #define my_want_state_is_dont(opt) (!my_want_state_is_do(opt))
186 1.1 cgd #define my_want_state_is_wont(opt) (!my_want_state_is_will(opt))
187 1.1 cgd
188 1.1 cgd #define set_my_state_do(opt) {options[opt] |= MY_STATE_DO;}
189 1.1 cgd #define set_my_state_will(opt) {options[opt] |= MY_STATE_WILL;}
190 1.1 cgd #define set_my_want_state_do(opt) {options[opt] |= MY_WANT_STATE_DO;}
191 1.1 cgd #define set_my_want_state_will(opt) {options[opt] |= MY_WANT_STATE_WILL;}
192 1.1 cgd
193 1.1 cgd #define set_my_state_dont(opt) {options[opt] &= ~MY_STATE_DO;}
194 1.1 cgd #define set_my_state_wont(opt) {options[opt] &= ~MY_STATE_WILL;}
195 1.1 cgd #define set_my_want_state_dont(opt) {options[opt] &= ~MY_WANT_STATE_DO;}
196 1.1 cgd #define set_my_want_state_wont(opt) {options[opt] &= ~MY_WANT_STATE_WILL;}
197 1.1 cgd
198 1.1 cgd /*
199 1.1 cgd * Make everything symetrical
200 1.1 cgd */
201 1.1 cgd
202 1.1 cgd #define HIS_STATE_WILL MY_STATE_DO
203 1.1 cgd #define HIS_WANT_STATE_WILL MY_WANT_STATE_DO
204 1.1 cgd #define HIS_STATE_DO MY_STATE_WILL
205 1.1 cgd #define HIS_WANT_STATE_DO MY_WANT_STATE_WILL
206 1.1 cgd
207 1.1 cgd #define his_state_is_do my_state_is_will
208 1.1 cgd #define his_state_is_will my_state_is_do
209 1.1 cgd #define his_want_state_is_do my_want_state_is_will
210 1.1 cgd #define his_want_state_is_will my_want_state_is_do
211 1.1 cgd
212 1.1 cgd #define his_state_is_dont my_state_is_wont
213 1.1 cgd #define his_state_is_wont my_state_is_dont
214 1.1 cgd #define his_want_state_is_dont my_want_state_is_wont
215 1.1 cgd #define his_want_state_is_wont my_want_state_is_dont
216 1.1 cgd
217 1.1 cgd #define set_his_state_do set_my_state_will
218 1.1 cgd #define set_his_state_will set_my_state_do
219 1.1 cgd #define set_his_want_state_do set_my_want_state_will
220 1.1 cgd #define set_his_want_state_will set_my_want_state_do
221 1.1 cgd
222 1.1 cgd #define set_his_state_dont set_my_state_wont
223 1.1 cgd #define set_his_state_wont set_my_state_dont
224 1.1 cgd #define set_his_want_state_dont set_my_want_state_wont
225 1.1 cgd #define set_his_want_state_wont set_my_want_state_dont
226 1.1 cgd
227 1.1 cgd
228 1.1 cgd extern FILE
229 1.1 cgd *NetTrace; /* Where debugging output goes */
230 1.1 cgd extern unsigned char
231 1.1 cgd NetTraceFile[]; /* Name of file where debugging output goes */
232 1.1 cgd extern void
233 1.1 cgd SetNetTrace P((char *)); /* Function to change where debugging goes */
234 1.1 cgd
235 1.1 cgd extern jmp_buf
236 1.1 cgd peerdied,
237 1.1 cgd toplevel; /* For error conditions. */
238 1.1 cgd
239 1.1 cgd extern void
240 1.1 cgd command P((int, char *, int)),
241 1.1 cgd Dump P((int, unsigned char *, int)),
242 1.1 cgd init_3270 P((void)),
243 1.1 cgd printoption P((char *, int, int)),
244 1.1 cgd printsub P((int, unsigned char *, int)),
245 1.1 cgd sendnaws P((void)),
246 1.1 cgd setconnmode P((int)),
247 1.1 cgd setcommandmode P((void)),
248 1.1 cgd setneturg P((void)),
249 1.1 cgd sys_telnet_init P((void)),
250 1.1 cgd telnet P((char *)),
251 1.1 cgd tel_enter_binary P((int)),
252 1.1 cgd TerminalFlushOutput P((void)),
253 1.1 cgd TerminalNewMode P((int)),
254 1.1 cgd TerminalRestoreState P((void)),
255 1.1 cgd TerminalSaveState P((void)),
256 1.1 cgd tninit P((void)),
257 1.1 cgd upcase P((char *)),
258 1.1 cgd willoption P((int)),
259 1.1 cgd wontoption P((int));
260 1.1 cgd
261 1.1 cgd extern void
262 1.3 cgd send_do P((int, int)),
263 1.3 cgd send_dont P((int, int)),
264 1.3 cgd send_will P((int, int)),
265 1.3 cgd send_wont P((int, int));
266 1.3 cgd
267 1.3 cgd extern void
268 1.1 cgd lm_will P((unsigned char *, int)),
269 1.1 cgd lm_wont P((unsigned char *, int)),
270 1.1 cgd lm_do P((unsigned char *, int)),
271 1.1 cgd lm_dont P((unsigned char *, int)),
272 1.1 cgd lm_mode P((unsigned char *, int, int));
273 1.1 cgd
274 1.1 cgd extern void
275 1.1 cgd slc_init P((void)),
276 1.1 cgd slcstate P((void)),
277 1.1 cgd slc_mode_export P((void)),
278 1.1 cgd slc_mode_import P((int)),
279 1.1 cgd slc_import P((int)),
280 1.1 cgd slc_export P((void)),
281 1.1 cgd slc P((unsigned char *, int)),
282 1.1 cgd slc_check P((void)),
283 1.1 cgd slc_start_reply P((void)),
284 1.1 cgd slc_add_reply P((int, int, int)),
285 1.1 cgd slc_end_reply P((void));
286 1.1 cgd extern int
287 1.1 cgd slc_update P((void));
288 1.1 cgd
289 1.1 cgd extern void
290 1.1 cgd env_opt P((unsigned char *, int)),
291 1.1 cgd env_opt_start P((void)),
292 1.1 cgd env_opt_start_info P((void)),
293 1.1 cgd env_opt_add P((unsigned char *)),
294 1.1 cgd env_opt_end P((int));
295 1.1 cgd
296 1.1 cgd extern unsigned char
297 1.3 cgd *env_default P((int, int)),
298 1.1 cgd *env_getvalue P((unsigned char *));
299 1.1 cgd
300 1.1 cgd extern int
301 1.1 cgd get_status P((void)),
302 1.1 cgd dosynch P((void));
303 1.1 cgd
304 1.1 cgd extern cc_t
305 1.1 cgd *tcval P((int));
306 1.1 cgd
307 1.1 cgd #ifndef USE_TERMIO
308 1.1 cgd
309 1.1 cgd extern struct tchars ntc;
310 1.1 cgd extern struct ltchars nltc;
311 1.1 cgd extern struct sgttyb nttyb;
312 1.1 cgd
313 1.1 cgd # define termEofChar ntc.t_eofc
314 1.1 cgd # define termEraseChar nttyb.sg_erase
315 1.1 cgd # define termFlushChar nltc.t_flushc
316 1.1 cgd # define termIntChar ntc.t_intrc
317 1.1 cgd # define termKillChar nttyb.sg_kill
318 1.1 cgd # define termLiteralNextChar nltc.t_lnextc
319 1.1 cgd # define termQuitChar ntc.t_quitc
320 1.1 cgd # define termSuspChar nltc.t_suspc
321 1.1 cgd # define termRprntChar nltc.t_rprntc
322 1.1 cgd # define termWerasChar nltc.t_werasc
323 1.1 cgd # define termStartChar ntc.t_startc
324 1.1 cgd # define termStopChar ntc.t_stopc
325 1.1 cgd # define termForw1Char ntc.t_brkc
326 1.1 cgd extern cc_t termForw2Char;
327 1.1 cgd extern cc_t termAytChar;
328 1.1 cgd
329 1.1 cgd # define termEofCharp (cc_t *)&ntc.t_eofc
330 1.1 cgd # define termEraseCharp (cc_t *)&nttyb.sg_erase
331 1.1 cgd # define termFlushCharp (cc_t *)&nltc.t_flushc
332 1.1 cgd # define termIntCharp (cc_t *)&ntc.t_intrc
333 1.1 cgd # define termKillCharp (cc_t *)&nttyb.sg_kill
334 1.1 cgd # define termLiteralNextCharp (cc_t *)&nltc.t_lnextc
335 1.1 cgd # define termQuitCharp (cc_t *)&ntc.t_quitc
336 1.1 cgd # define termSuspCharp (cc_t *)&nltc.t_suspc
337 1.1 cgd # define termRprntCharp (cc_t *)&nltc.t_rprntc
338 1.1 cgd # define termWerasCharp (cc_t *)&nltc.t_werasc
339 1.1 cgd # define termStartCharp (cc_t *)&ntc.t_startc
340 1.1 cgd # define termStopCharp (cc_t *)&ntc.t_stopc
341 1.1 cgd # define termForw1Charp (cc_t *)&ntc.t_brkc
342 1.1 cgd # define termForw2Charp (cc_t *)&termForw2Char
343 1.1 cgd # define termAytCharp (cc_t *)&termAytChar
344 1.1 cgd
345 1.1 cgd # else
346 1.1 cgd
347 1.1 cgd extern struct termio new_tc;
348 1.1 cgd
349 1.1 cgd # define termEofChar new_tc.c_cc[VEOF]
350 1.1 cgd # define termEraseChar new_tc.c_cc[VERASE]
351 1.1 cgd # define termIntChar new_tc.c_cc[VINTR]
352 1.1 cgd # define termKillChar new_tc.c_cc[VKILL]
353 1.1 cgd # define termQuitChar new_tc.c_cc[VQUIT]
354 1.1 cgd
355 1.1 cgd # ifndef VSUSP
356 1.1 cgd extern cc_t termSuspChar;
357 1.1 cgd # else
358 1.1 cgd # define termSuspChar new_tc.c_cc[VSUSP]
359 1.1 cgd # endif
360 1.1 cgd # if defined(VFLUSHO) && !defined(VDISCARD)
361 1.1 cgd # define VDISCARD VFLUSHO
362 1.1 cgd # endif
363 1.1 cgd # ifndef VDISCARD
364 1.1 cgd extern cc_t termFlushChar;
365 1.1 cgd # else
366 1.1 cgd # define termFlushChar new_tc.c_cc[VDISCARD]
367 1.1 cgd # endif
368 1.1 cgd # ifndef VWERASE
369 1.1 cgd extern cc_t termWerasChar;
370 1.1 cgd # else
371 1.1 cgd # define termWerasChar new_tc.c_cc[VWERASE]
372 1.1 cgd # endif
373 1.1 cgd # ifndef VREPRINT
374 1.1 cgd extern cc_t termRprntChar;
375 1.1 cgd # else
376 1.1 cgd # define termRprntChar new_tc.c_cc[VREPRINT]
377 1.1 cgd # endif
378 1.1 cgd # ifndef VLNEXT
379 1.1 cgd extern cc_t termLiteralNextChar;
380 1.1 cgd # else
381 1.1 cgd # define termLiteralNextChar new_tc.c_cc[VLNEXT]
382 1.1 cgd # endif
383 1.1 cgd # ifndef VSTART
384 1.1 cgd extern cc_t termStartChar;
385 1.1 cgd # else
386 1.1 cgd # define termStartChar new_tc.c_cc[VSTART]
387 1.1 cgd # endif
388 1.1 cgd # ifndef VSTOP
389 1.1 cgd extern cc_t termStopChar;
390 1.1 cgd # else
391 1.1 cgd # define termStopChar new_tc.c_cc[VSTOP]
392 1.1 cgd # endif
393 1.1 cgd # ifndef VEOL
394 1.1 cgd extern cc_t termForw1Char;
395 1.1 cgd # else
396 1.1 cgd # define termForw1Char new_tc.c_cc[VEOL]
397 1.1 cgd # endif
398 1.1 cgd # ifndef VEOL2
399 1.1 cgd extern cc_t termForw2Char;
400 1.1 cgd # else
401 1.1 cgd # define termForw2Char new_tc.c_cc[VEOL]
402 1.1 cgd # endif
403 1.1 cgd # ifndef VSTATUS
404 1.1 cgd extern cc_t termAytChar;
405 1.1 cgd #else
406 1.1 cgd # define termAytChar new_tc.c_cc[VSTATUS]
407 1.1 cgd #endif
408 1.1 cgd
409 1.1 cgd # if !defined(CRAY) || defined(__STDC__)
410 1.1 cgd # define termEofCharp &termEofChar
411 1.1 cgd # define termEraseCharp &termEraseChar
412 1.1 cgd # define termIntCharp &termIntChar
413 1.1 cgd # define termKillCharp &termKillChar
414 1.1 cgd # define termQuitCharp &termQuitChar
415 1.1 cgd # define termSuspCharp &termSuspChar
416 1.1 cgd # define termFlushCharp &termFlushChar
417 1.1 cgd # define termWerasCharp &termWerasChar
418 1.1 cgd # define termRprntCharp &termRprntChar
419 1.1 cgd # define termLiteralNextCharp &termLiteralNextChar
420 1.1 cgd # define termStartCharp &termStartChar
421 1.1 cgd # define termStopCharp &termStopChar
422 1.1 cgd # define termForw1Charp &termForw1Char
423 1.1 cgd # define termForw2Charp &termForw2Char
424 1.1 cgd # define termAytCharp &termAytChar
425 1.1 cgd # else
426 1.1 cgd /* Work around a compiler bug */
427 1.1 cgd # define termEofCharp 0
428 1.1 cgd # define termEraseCharp 0
429 1.1 cgd # define termIntCharp 0
430 1.1 cgd # define termKillCharp 0
431 1.1 cgd # define termQuitCharp 0
432 1.1 cgd # define termSuspCharp 0
433 1.1 cgd # define termFlushCharp 0
434 1.1 cgd # define termWerasCharp 0
435 1.1 cgd # define termRprntCharp 0
436 1.1 cgd # define termLiteralNextCharp 0
437 1.1 cgd # define termStartCharp 0
438 1.1 cgd # define termStopCharp 0
439 1.1 cgd # define termForw1Charp 0
440 1.1 cgd # define termForw2Charp 0
441 1.1 cgd # define termAytCharp 0
442 1.1 cgd # endif
443 1.1 cgd #endif
444 1.1 cgd
445 1.1 cgd
446 1.1 cgd /* Ring buffer structures which are shared */
447 1.1 cgd
448 1.1 cgd extern Ring
449 1.1 cgd netoring,
450 1.1 cgd netiring,
451 1.1 cgd ttyoring,
452 1.1 cgd ttyiring;
453 1.1 cgd
454 1.1 cgd /* Tn3270 section */
455 1.1 cgd #if defined(TN3270)
456 1.1 cgd
457 1.1 cgd extern int
458 1.1 cgd HaveInput, /* Whether an asynchronous I/O indication came in */
459 1.1 cgd noasynchtty, /* Don't do signals on I/O (SIGURG, SIGIO) */
460 1.1 cgd noasynchnet, /* Don't do signals on I/O (SIGURG, SIGIO) */
461 1.1 cgd sigiocount, /* Count of SIGIO receptions */
462 1.1 cgd shell_active; /* Subshell is active */
463 1.1 cgd
464 1.1 cgd extern char
465 1.1 cgd *Ibackp, /* Oldest byte of 3270 data */
466 1.1 cgd Ibuf[], /* 3270 buffer */
467 1.1 cgd *Ifrontp, /* Where next 3270 byte goes */
468 1.1 cgd tline[],
469 1.1 cgd *transcom; /* Transparent command */
470 1.1 cgd
471 1.3 cgd extern int
472 1.1 cgd settranscom P((int, char**));
473 1.1 cgd
474 1.1 cgd extern void
475 1.3 cgd inputAvailable P((int));
476 1.1 cgd #endif /* defined(TN3270) */
477