1 /* expect_tcl.h - include file for using the expect library, libexpect.a 2 with Tcl (and optionally Tk) 3 4 Written by: Don Libes, libes@cme.nist.gov, NIST, 12/3/90 5 6 Design and implementation of this program was paid for by U.S. tax 7 dollars. Therefore it is public domain. However, the author and NIST 8 would appreciate credit if this program or parts of it are used. 9 10 */ 11 12 #ifndef _EXPECT_TCL_H 13 #define _EXPECT_TCL_H 14 15 #include <stdio.h> 16 #include "expect_comm.h" 17 18 /* 19 * This is a convenience macro used to initialize a thread local storage ptr. 20 * Stolen from tclInt.h 21 */ 22 #ifndef TCL_TSD_INIT 23 #define TCL_TSD_INIT(keyPtr) (ThreadSpecificData *)Tcl_GetThreadData((keyPtr), sizeof(ThreadSpecificData)) 24 #endif 25 26 EXTERN int exp_cmdlinecmds; 27 EXTERN int exp_interactive; 28 EXTERN FILE *exp_cmdfile; 29 EXTERN char *exp_cmdfilename; 30 EXTERN int exp_getpid; /* pid of Expect itself */ 31 EXTERN int exp_buffer_command_input; 32 33 EXTERN int exp_strict_write; 34 35 EXTERN int exp_tcl_debugger_available; 36 37 EXTERN Tcl_Interp *exp_interp; 38 39 #define Exp_Init Expect_Init 40 EXTERN int Expect_Init _ANSI_ARGS_((Tcl_Interp *)); /* for Tcl_AppInit apps */ 41 EXTERN void exp_parse_argv _ANSI_ARGS_((Tcl_Interp *,int argc,char **argv)); 42 EXTERN int exp_interpreter _ANSI_ARGS_((Tcl_Interp *,Tcl_Obj *)); 43 EXTERN int exp_interpret_cmdfile _ANSI_ARGS_((Tcl_Interp *,FILE *)); 44 EXTERN int exp_interpret_cmdfilename _ANSI_ARGS_((Tcl_Interp *,char *)); 45 EXTERN void exp_interpret_rcfiles _ANSI_ARGS_((Tcl_Interp *,int my_rc,int sys_rc)); 46 47 EXTERN char * exp_cook _ANSI_ARGS_((char *s,int *len)); 48 49 EXTERN void expCloseOnExec _ANSI_ARGS_((int)); 50 51 /* app-specific exit handler */ 52 EXTERN void (*exp_app_exit)_ANSI_ARGS_((Tcl_Interp *)); 53 EXTERN void exp_exit_handlers _ANSI_ARGS_((ClientData)); 54 55 EXTERN void exp_error _ANSI_ARGS_(TCL_VARARGS(Tcl_Interp *,interp)); 56 57 #endif /* _EXPECT_TCL_H */ 58