#include <sys/types.h>
#include <sys/file.h>
#include <sys/time.h>
#include <sys/wait.h>
#include <sys/ioctl.h>
#include <termios.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <pwd.h>
#include <ctype.h>
#include <setjmp.h>
#include <unistd.h>
#include <errno.h>
#include <limits.h>
#ifndef EXTERN
#define EXTERN extern
#endif
EXTERN char *DV;
EXTERN char *EL;
EXTERN char *CM;
EXTERN char *IE;
EXTERN char *OE;
EXTERN char *CU;
EXTERN char *AT;
EXTERN char *PN;
EXTERN char *DI;
EXTERN char *PA;
EXTERN char *PH;
EXTERN char *RM;
EXTERN char *HO;
EXTERN long BR;
EXTERN long FS;
EXTERN short DU;
EXTERN short HW;
EXTERN char *ES;
EXTERN char *EX;
EXTERN char *FO;
EXTERN char *RC;
EXTERN char *RE;
EXTERN char *PR;
EXTERN long DL;
EXTERN long CL;
EXTERN long ET;
EXTERN long LD;
EXTERN short HD;
typedef
struct {
char *v_name;
char v_type;
char v_access;
char *v_abrev;
char *v_value;
}
value_t;
#define STRING 01
#define BOOL 02
#define NUMBER 04
#define CHAR 010
#define WRITE 01
#define READ 02
#define CHANGED 01
#define PUBLIC 1
#define PRIVATE 03
#define ROOT 05
#define TRUE 1
#define FALSE 0
#define ENVIRON 020
#define IREMOTE 040
#define INIT 0100
#define TMASK 017
typedef
struct {
char *acu_name;
int (*acu_dialer)(char *, char *);
void (*acu_disconnect)(void);
void (*acu_abort)(void);
}
acu_t;
#define equal(a, b) (strcmp(a,b)==0)
#define value(v) vtable[v].v_value
#define lvalue(v) (long)(intptr_t)vtable[v].v_value
#define number(v) ((long)(intptr_t)(v))
#define boolean(v) ((short)(intptr_t)(v))
#define character(v) ((char)(intptr_t)(v))
#define setnumber(v,n) do { (v) = (char *)(intptr_t)(n); } while (0)
#define setboolean(v,n) do { (v) = (char *)(intptr_t)(n); } while (0)
#define setcharacter(v,n) do { (v) = (char *)(intptr_t)(n); } while (0)
typedef
struct {
char e_char;
char e_flags;
char *e_help;
void (*e_func)(int);
}
esctable_t;
#define NORM 00
#define EXP 01
#define PRIV 02
extern int vflag;
extern int noesc;
extern value_t vtable[];
#ifndef ACULOG
#define logent(a, b, c, d)
#define loginit()
#endif
#define BEAUTIFY 0
#define BAUDRATE 1
#define DIALTIMEOUT 2
#define EOFREAD 3
#define EOFWRITE 4
#define EOL 5
#define ESCAPE 6
#define EXCEPTIONS 7
#define FORCE 8
#define FRAMESIZE 9
#define HOST 10
#define LOG 11
#define PHONES 12
#define PROMPT 13
#define RAISE 14
#define RAISECHAR 15
#define RECORD 16
#define REMOTE 17
#define SCRIPT 18
#define TABEXPAND 19
#define VERBOSE 20
#define SHELL 21
#define HOME 22
#define ECHOCHECK 23
#define DISCONNECT 24
#define TAND 25
#define LDELAY 26
#define CDELAY 27
#define ETIMEOUT 28
#define RAWFTP 29
#define HALFDUPLEX 30
#define LECHO 31
#define PARITY 32
#define HARDWAREFLOW 33
#define LINEDISC 34
#define DC 35
#define NOVAL ((value_t *)NULL)
#define NOACU ((acu_t *)NULL)
#define NOSTR ((char *)NULL)
#define NOFILE ((FILE *)NULL)
#define NOPWD ((struct passwd *)0)
EXTERN struct termios term;
EXTERN struct termios defterm;
EXTERN struct termios defchars;
EXTERN int gotdefterm;
EXTERN FILE *fscript;
EXTERN int fildes[2];
EXTERN int repdes[2];
EXTERN int FD;
EXTERN int AC;
EXTERN int vflag;
EXTERN int noesc;
EXTERN int sfd;
EXTERN pid_t tipin_pid;
EXTERN pid_t tipout_pid;
EXTERN uid_t uid, euid;
EXTERN gid_t gid, egid;
EXTERN int stop;
EXTERN int quit;
EXTERN int intflag;
EXTERN int stoprompt;
EXTERN int timedout;
EXTERN int cumode;
EXTERN int bits8;
#define STRIP_PAR (bits8 ? 0377 : 0177)
EXTERN char fname[PATH_MAX];
EXTERN char copyname[PATH_MAX];
EXTERN char ccc;
EXTERN char *uucplock;
EXTERN int odisc;
extern int disc;
extern char *__progname;
char *con(void);
char *ctrl(char);
char *expand(char *);
char *getremote(char *);
char *interp(char *);
int any(int, char *);
int biz22w_dialer(char *, char *);
int biz22f_dialer(char *, char *);
int biz31w_dialer(char *, char *);
int biz31f_dialer(char *, char *);
int cour_dialer(char *, char *);
int df02_dialer(char *, char *);
int df03_dialer(char *, char *);
int dn_dialer(char *, char *);
int hay_dialer(char *, char *);
int prompt(char *, char *, size_t);
size_t size(char *);
int t3000_dialer(char *, char *);
int ttysetup(int);
int uu_lock(char *);
int uu_unlock(char *);
int v3451_dialer(char *, char *);
int v831_dialer(char *, char *);
int ven_dialer(char *, char *);
int vstring(char *, char *);
long hunt(char *);
void biz22_disconnect(void);
void biz22_abort(void);
void biz31_disconnect(void);
void biz31_abort(void);
void chdirectory(int);
void cleanup(int);
void consh(int);
void cour_abort(void);
void cour_disconnect(void);
void cu_put(int);
void cu_take(int);
void cumain(int, char **);
void daemon_uid(void);
void df_abort(void);
void df_disconnect(void);
void disconnect(char *);
void dn_abort(void);
void dn_disconnect(void);
void finish(int);
void genbrk(int);
void getfl(int);
void hay_abort(void);
void hay_disconnect(void);
void help(int);
void listvariables(int);
void logent(char *, char *, char *, char *);
void loginit(void);
void parwrite(int, char *, size_t);
void pipefile(int);
void pipeout(int);
void raw(void);
void sendfile(int);
void setparity(char *);
void setscript(void);
void shell(int);
void shell_uid(void);
void suspend(int);
void t3000_disconnect(void);
void t3000_abort(void);
void timeout(int);
void tipabort(char *);
void tipout(void);
void user_uid(void);
void unexcl(void);
void unraw(void);
void v3451_abort(void);
void v3451_disconnect(void);
void v831_disconnect(void);
void v831_abort(void);
void variable(int);
void ven_disconnect(void);
void ven_abort(void);
void vinit(void);
void vlex(char *);