libtcl.h 852 B

123456789101112131415161718192021222324252627282930313233
  1. #ifndef _LIBTCL_H
  2. #define _LIBTCL_H
  3. #include "common.h"
  4. #include "dl.h"
  5. #include <bdlib/src/String.h>
  6. #ifdef HAVE_LIBTCL
  7. #include ".defs/libtcl_pre.h"
  8. #include <tcl.h>
  9. #include ".defs/libtcl_post.h"
  10. typedef int (*Tcl_Eval_t)(Tcl_Interp*, const char*);
  11. typedef Tcl_Command (*Tcl_CreateCommand_t)(Tcl_Interp*, const char*, Tcl_CmdProc*, ClientData, Tcl_CmdDeleteProc*);
  12. typedef const char* (*Tcl_GetStringResult_t)(Tcl_Interp*);
  13. typedef void (*Tcl_DeleteInterp_t)(Tcl_Interp*);
  14. typedef Tcl_Interp* (*Tcl_CreateInterp_t)(void);
  15. typedef void (*Tcl_FindExecutable_t)(const char*);
  16. typedef int (*Tcl_Init_t)(Tcl_Interp*);
  17. #define STDVAR (ClientData cd, Tcl_Interp *interp, int argc, const char *argv[])
  18. extern Tcl_Interp *global_interp;
  19. bd::String tcl_eval(const bd::String&);
  20. #endif
  21. int load_libtcl();
  22. int unload_libtcl();
  23. #endif /* !_LIBTCL_H */