132141Sminshall #include <stdio.h> 232141Sminshall #include <setjmp.h> 332141Sminshall 432141Sminshall #define SUBBUFSIZE 100 532141Sminshall 632141Sminshall extern int errno; /* outside this world */ 732141Sminshall 832141Sminshall extern int 932141Sminshall flushout, /* flush output */ 1032141Sminshall connected, /* Are we connected to the other side? */ 1132141Sminshall globalmode, /* Mode tty should be in */ 1232141Sminshall In3270, /* Are we in 3270 mode? */ 1332141Sminshall telnetport, /* Are we connected to the telnet port? */ 1432141Sminshall localchars, /* we recognize interrupt/quit */ 1532141Sminshall donelclchars, /* the user has set "localchars" */ 1632141Sminshall showoptions, 1732141Sminshall net, 1832141Sminshall tin, 1932141Sminshall tout, 2032141Sminshall crlf, /* Should '\r' be mapped to <CR><LF> (or <CR><NUL>)? */ 2132141Sminshall autoflush, /* flush output when interrupting? */ 2232141Sminshall autosynch, /* send interrupt characters with SYNCH? */ 2332141Sminshall donebinarytoggle, /* the user has put us in binary */ 2432141Sminshall dontlecho, /* do we suppress local echoing right now? */ 2532141Sminshall crmod, 2632141Sminshall netdata, /* Print out network data flow */ 2732141Sminshall debug; /* Debug level */ 2832141Sminshall 2932141Sminshall extern char 3032141Sminshall echoc, /* Toggle local echoing */ 3132141Sminshall escape, /* Escape to command mode */ 3232141Sminshall doopt[], 3332141Sminshall dont[], 3432141Sminshall will[], 3532141Sminshall wont[], 3632141Sminshall hisopts[], 3732141Sminshall myopts[], 3832141Sminshall subbuffer[SUBBUFSIZE], 3932141Sminshall *hostname, /* Who are we connected to? */ 40*32381Sminshall *prompt; /* Prompt for command. */ 4132141Sminshall 4232141Sminshall extern FILE 4332141Sminshall *NetTrace; /* Where debugging output goes */ 4432141Sminshall 4532141Sminshall extern jmp_buf 4632141Sminshall peerdied, 4732141Sminshall toplevel; /* For error conditions. */ 4832141Sminshall 4932141Sminshall extern void 5032141Sminshall intr(), 5132141Sminshall intr2(), 5232141Sminshall deadpeer(), 5332141Sminshall dosynch(), 5432141Sminshall doflush(), 5532141Sminshall setconnmode(), 5632141Sminshall setcommandmode(); 5732141Sminshall 5832141Sminshall extern char 5932141Sminshall termEofChar, 6032141Sminshall termEraseChar, 6132141Sminshall termFlushChar, 6232141Sminshall termIntChar, 6332141Sminshall termKillChar, 6432141Sminshall termLiteralNextChar, 6532141Sminshall termQuitChar; 66*32381Sminshall 67*32381Sminshall /* Ring buffer structures which are shared */ 68*32381Sminshall 69*32381Sminshall extern Ring 70*32381Sminshall netoring, 71*32381Sminshall netiring, 72*32381Sminshall ttyoring, 73*32381Sminshall ttyiring; 74