#ifndef EXTERN
#define EXTERN extern
#endif
EXTERN char options[256];
EXTERN char do_dont_resp[256];
EXTERN char will_wont_resp[256];
EXTERN int linemode;
#ifdef LINEMODE
EXTERN int uselinemode;
EXTERN int editmode;
EXTERN int useeditmode;
EXTERN int alwayslinemode;
EXTERN int lmodetype;
#endif
EXTERN int flowmode;
EXTERN int restartany;
#ifdef DIAGNOSTICS
EXTERN int diagnostic;
#endif
#ifdef BFTPDAEMON
EXTERN int bftpd;
#endif
#ifdef AUTHENTICATION
EXTERN int auth_level;
#endif
EXTERN slcfun slctab[NSLC + 1];
EXTERN char *terminaltype;
EXTERN char ptyobuf[BUFSIZ+NETSLOP], *pfrontp, *pbackp;
EXTERN char netibuf[BUFSIZ], *netip;
EXTERN char netobuf[BUFSIZ], *nfrontp, *nbackp;
EXTERN char *neturg;
EXTERN int pcc, ncc;
EXTERN int pty, net;
EXTERN char line[32];
EXTERN int SYNCHing;
EXTERN void
_termstat(void),
add_slc(char, char, cc_t),
check_slc(void),
change_slc(char, char, cc_t),
cleanup(int),
clientstat(int, int, int),
copy_termbuf(char *, size_t),
deferslc(void),
defer_terminit(void),
do_opt_slc(unsigned char *, int),
doeof(void),
dooption(int),
dontoption(int),
edithost(char *, char *),
fatal(int, const char *),
fatalperror(int, const char *),
get_slc_defaults(void),
init_env(void),
init_termbuf(void),
interrupt(void),
localstat(void),
flowstat(void),
netclear(void),
netflush(void),
#ifdef DIAGNOSTICS
printoption(const char *, int),
printdata(const char *, char *, int),
printsub(char, unsigned char *, int),
#endif
process_slc(unsigned char, unsigned char, cc_t),
ptyflush(void),
putchr(int),
putf(char *, char *),
recv_ayt(void),
send_do(int, int),
send_dont(int, int),
send_slc(void),
send_status(void),
send_will(int, int),
send_wont(int, int),
sendbrk(void),
sendsusp(void),
set_termbuf(void),
start_login(char *, int, char *),
start_slc(int),
#ifdef AUTHENTICATION
start_slave(char *),
#else
start_slave(char *, int, char *),
#endif
suboption(void),
telrcv(void),
ttloop(void),
tty_binaryin(int),
tty_binaryout(int);
EXTERN int
end_slc(unsigned char **),
getnpty(void),
#ifndef convex
getpty(int *),
#endif
login_tty(int),
spcset(int, cc_t *, cc_t **),
stilloob(int),
terminit(void),
termstat(void),
tty_flowmode(void),
tty_restartany(void),
tty_isbinaryin(void),
tty_isbinaryout(void),
tty_iscrnl(void),
tty_isecho(void),
tty_isediting(void),
tty_islitecho(void),
tty_isnewmap(void),
tty_israw(void),
tty_issofttab(void),
tty_istrapsig(void),
tty_linemode(void);
EXTERN void
tty_rspeed(int),
tty_setecho(int),
tty_setedit(int),
tty_setlinemode(int),
tty_setlitecho(int),
tty_setsig(int),
tty_setsofttab(int),
tty_tspeed(int),
willoption(int),
wontoption(int);
int output_data(const char *, ...) __printflike(1, 2);
void output_datalen(const char *, int);
void startslave(char *, int, char *);
#ifdef ENCRYPTION
extern void (*encrypt_output)(unsigned char *, int);
extern int (*decrypt_input)(int);
EXTERN char *nclearto;
#endif
EXTERN struct {
int
system,
echotoggle,
modenegotiated,
didnetreceive,
ttypesubopt,
tspeedsubopt,
environsubopt,
oenvironsubopt,
xdisplocsubopt,
baseline,
gotDM;
} clocks;
#ifndef DEFAULT_IM
# ifdef ultrix
# define DEFAULT_IM "\r\n\r\nULTRIX (%h) (%t)\r\n\r\r\n\r"
# else
# ifdef __FreeBSD__
# define DEFAULT_IM "\r\n\r\nFreeBSD (%h) (%t)\r\n\r\r\n\r"
# else
# ifdef __HAIKU__
# define DEFAULT_IM "\r\n\r\nHaiku (%h) (%t)\r\n\r\r\n\r"
# else
# define DEFAULT_IM "\r\n\r\n4.4 BSD UNIX (%h) (%t)\r\n\r\r\n\r"
# endif
# endif
# endif
#endif