133685Sbostic /* 233685Sbostic * Copyright (c) 1988 Regents of the University of California. 333685Sbostic * All rights reserved. 433685Sbostic * 533685Sbostic * Redistribution and use in source and binary forms are permitted 634898Sbostic * provided that the above copyright notice and this paragraph are 734898Sbostic * duplicated in all such forms and that any documentation, 834898Sbostic * advertising materials, and other materials related to such 934898Sbostic * distribution and use acknowledge that the software was developed 1034898Sbostic * by the University of California, Berkeley. The name of the 1134898Sbostic * University may not be used to endorse or promote products derived 1234898Sbostic * from this software without specific prior written permission. 1334898Sbostic * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 1434898Sbostic * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 1534898Sbostic * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 1633685Sbostic * 17*36241Sminshall * @(#)externs.h 1.12 (Berkeley) 11/18/88 1833685Sbostic */ 1933685Sbostic 2032141Sminshall #include <stdio.h> 2132141Sminshall #include <setjmp.h> 2232141Sminshall 2332141Sminshall #define SUBBUFSIZE 100 2432141Sminshall 2532141Sminshall extern int errno; /* outside this world */ 2632141Sminshall 2733802Sminshall extern char 2833802Sminshall *strcat(), 2933802Sminshall *strcpy(); /* outside this world */ 3033802Sminshall 3132141Sminshall extern int 3233802Sminshall flushout, /* flush output */ 3333802Sminshall connected, /* Are we connected to the other side? */ 3433802Sminshall globalmode, /* Mode tty should be in */ 3533802Sminshall In3270, /* Are we in 3270 mode? */ 3633802Sminshall telnetport, /* Are we connected to the telnet port? */ 3733802Sminshall localchars, /* we recognize interrupt/quit */ 3833802Sminshall donelclchars, /* the user has set "localchars" */ 3933802Sminshall showoptions, 4033802Sminshall net, 4133802Sminshall tout, /* Terminal output file descriptor */ 4233802Sminshall crlf, /* Should '\r' be mapped to <CR><LF> (or <CR><NUL>)? */ 4333802Sminshall autoflush, /* flush output when interrupting? */ 4433802Sminshall autosynch, /* send interrupt characters with SYNCH? */ 4533802Sminshall SYNCHing, /* Is the stream in telnet SYNCH mode? */ 4633802Sminshall donebinarytoggle, /* the user has put us in binary */ 4733802Sminshall dontlecho, /* do we suppress local echoing right now? */ 4833802Sminshall crmod, 4933802Sminshall netdata, /* Print out network data flow */ 5033802Sminshall debug; /* Debug level */ 5132141Sminshall 5232141Sminshall extern char 5333802Sminshall echoc, /* Toggle local echoing */ 5433802Sminshall escape, /* Escape to command mode */ 5533802Sminshall doopt[], 5633802Sminshall dont[], 5733802Sminshall will[], 5833802Sminshall wont[], 5933802Sminshall hisopts[], 6033802Sminshall myopts[], 6133802Sminshall *hostname, /* Who are we connected to? */ 6233802Sminshall *prompt; /* Prompt for command. */ 6332141Sminshall 6432141Sminshall extern FILE 6533802Sminshall *NetTrace; /* Where debugging output goes */ 6632141Sminshall 6732141Sminshall extern jmp_buf 6833802Sminshall peerdied, 6933802Sminshall toplevel; /* For error conditions. */ 7032141Sminshall 7132141Sminshall extern void 7234848Sminshall command(), 7334313Sminshall #if !defined(NOT43) 7433802Sminshall dosynch(), 7534313Sminshall #endif /* !defined(NOT43) */ 7634848Sminshall Dump(), 7734848Sminshall init_3270(), 7834848Sminshall printoption(), 7934848Sminshall printsub(), 8033802Sminshall setconnmode(), 8134848Sminshall setcommandmode(), 8234848Sminshall setneturg(), 8334848Sminshall sys_telnet_init(), 8434848Sminshall telnet(), 8534848Sminshall TerminalFlushOutput(), 8634848Sminshall TerminalNewMode(), 8734848Sminshall TerminalRestoreState(), 8834848Sminshall TerminalSaveState(), 8934848Sminshall tninit(), 9034848Sminshall upcase(), 9134848Sminshall willoption(), 9234848Sminshall wontoption(); 9332141Sminshall 9434313Sminshall #if defined(NOT43) 9534313Sminshall extern int 9634313Sminshall dosynch(); 9734313Sminshall #endif /* defined(NOT43) */ 9834313Sminshall 9932141Sminshall extern char 10032141Sminshall termEofChar, 10132141Sminshall termEraseChar, 10232141Sminshall termFlushChar, 10332141Sminshall termIntChar, 10432141Sminshall termKillChar, 10532141Sminshall termLiteralNextChar, 10632141Sminshall termQuitChar; 10732381Sminshall 10832381Sminshall /* Ring buffer structures which are shared */ 10932381Sminshall 11032381Sminshall extern Ring 11133802Sminshall netoring, 11233802Sminshall netiring, 11333802Sminshall ttyoring, 11433802Sminshall ttyiring; 11533802Sminshall 11633802Sminshall /* Tn3270 section */ 11733802Sminshall #if defined(TN3270) 11833802Sminshall 11933802Sminshall extern int 12033802Sminshall HaveInput, /* Whether an asynchronous I/O indication came in */ 121*36241Sminshall noasynchtty, /* Don't do signals on I/O (SIGURG, SIGIO) */ 122*36241Sminshall noasynchnet, /* Don't do signals on I/O (SIGURG, SIGIO) */ 123*36241Sminshall sigiocount, /* Count of SIGIO receptions */ 12433802Sminshall shell_active; /* Subshell is active */ 12533802Sminshall 12633802Sminshall extern char 12733802Sminshall *Ibackp, /* Oldest byte of 3270 data */ 12833802Sminshall Ibuf[], /* 3270 buffer */ 12933802Sminshall *Ifrontp, /* Where next 3270 byte goes */ 13033802Sminshall tline[], 13133802Sminshall *transcom; /* Transparent command */ 13233802Sminshall 13333802Sminshall extern int 13433802Sminshall settranscom(); 13533802Sminshall 13633802Sminshall extern void 13733802Sminshall inputAvailable(); 13833802Sminshall #endif /* defined(TN3270) */ 139