#ifndef _EXPECT_H
#define _EXPECT_H
#include "expect_comm.h"
enum exp_type {
exp_end = 0,
exp_glob,
exp_exact,
exp_regexp,
exp_compiled,
exp_null,
exp_bogus
};
struct exp_case {
char *pattern;
regexp *re;
enum exp_type type;
int value;
};
EXTERN char *exp_buffer;
EXTERN char *exp_buffer_end;
EXTERN char *exp_match;
EXTERN char *exp_match_end;
EXTERN int exp_match_max;
EXTERN int exp_timeout;
EXTERN int exp_full_buffer;
EXTERN int exp_remove_nulls;
EXTERN int exp_pty_timeout;
EXTERN int exp_pid;
EXTERN int exp_autoallocpty;
EXTERN int exp_pty[2];
EXTERN char *exp_pty_slave_name;
EXTERN char *exp_stty_init;
EXTERN int exp_ttycopy;
EXTERN int exp_ttyinit;
EXTERN int exp_console;
EXTERN jmp_buf exp_readenv;
EXTERN int exp_reading;
#define EXP_ABORT 1
#define EXP_RESTART 2
EXTERN int exp_logfile_all;
EXTERN FILE *exp_debugfile;
EXTERN FILE *exp_logfile;
EXTERN int exp_disconnect _ANSI_ARGS_((void));
EXTERN FILE *exp_popen _ANSI_ARGS_((char *command));
EXTERN void (*exp_child_exec_prelude) _ANSI_ARGS_((void));
#ifndef EXP_DEFINE_FNS
EXTERN int exp_spawnl _ANSI_ARGS_(TCL_VARARGS(char *,file));
EXTERN int exp_expectl _ANSI_ARGS_(TCL_VARARGS(int,fd));
EXTERN int exp_fexpectl _ANSI_ARGS_(TCL_VARARGS(FILE *,fp));
#endif
EXTERN int exp_spawnv _ANSI_ARGS_((char *file, char *argv[]));
EXTERN int exp_expectv _ANSI_ARGS_((int fd, struct exp_case *cases));
EXTERN int exp_fexpectv _ANSI_ARGS_((FILE *fp, struct exp_case *cases));
EXTERN int exp_spawnfd _ANSI_ARGS_((int fd));
#endif