home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_progs / ui_utils / tcl_447.lzh / TCL / TCL.LZH / tcl / includes / tcla.h < prev   
Encoding:
C/C++ Source or Header  |  1990-05-04  |  4.0 KB  |  90 lines

  1. /* tcla.h - tool command language -- amiga, header file */
  2.  
  3. /* the structure we send around amongst our Amiga Tcl message ports... */
  4.  
  5. #include <exec/libraries.h>
  6. #include <exec/ports.h>
  7.  
  8. struct AmigaTclMessage {
  9.     struct Message message;
  10.     char *request;
  11.     char *result;
  12.     char *callback;
  13.     char *termptr;
  14.     int returnval;
  15.     int errorline;
  16. };
  17.  
  18. struct TclaBase {
  19.     struct Library            ml_Lib;
  20.     unsigned long            ml_SegList;    /* seg list of mylib itself*/
  21.     long                    ml_value;
  22. };
  23.  
  24. void *ckalloc(size_t len);
  25. void ckfree(void *what);
  26. void Tcl_AddErrorInfo(Tcl_Interp  *interp, char *message);
  27. char Tcl_Backslash(char *src, int *readPtr);
  28. char *Tcl_Concat(int argc, char **argv);
  29. void Tcl_CreateCommand(Tcl_Interp  *interp, char *cmdName, int (*proc)(), 
  30.     int *clientData, void (*deleteProc)());
  31. Tcl_Interp *Tcl_CreateInterp(void);
  32. int *Tcl_CreateTrace(Tcl_Interp  *interp, int level, void (*proc)(), 
  33.     int *clientData);
  34. void Tcl_DeleteCommand(Tcl_Interp  *interp, char *cmdName);
  35. void Tcl_DeleteInterp(Tcl_Interp  *interp);
  36. void Tcl_DeleteTrace(Tcl_Interp  *interp, int *trace);
  37. int Tcl_Eval(Tcl_Interp  *interp, char *cmd, int flags, char **termPtr);
  38. int Tcl_Expr(Tcl_Interp  *interp, char *string, int *valuePtr);
  39. char *Tcl_GetVar(Tcl_Interp  *interp, char *varName, int global);
  40. char *Tcl_Merge(int argc, char **argv);
  41. char *Tcl_ParseVar(Tcl_Interp  *interp, char *string, char **termPtr);
  42. void Tcl_Return(Tcl_Interp  *interp, char *string, int status);
  43. void Tcl_SetVar(Tcl_Interp  *interp, char *varName, char *newValue, 
  44.     int global);
  45. int Tcl_SplitList(Tcl_Interp  *interp, char *list, int *argcPtr, 
  46.     char ***argvPtr);
  47. int Tcl_StringMatch(char *string, char *pattern);
  48. void Tcl_WatchInterp(Tcl_Interp  *interp, void (*proc)(), int *clientData);
  49. void *LocateResource(char *groupname, char *itemname);
  50. int ConnectResource(char *groupname, char *resourcename, void *data);
  51. void *DisconnectResource(char *groupname, char *resourcename);
  52. struct TclaHeader *Tcla_Init(Tcl_Interp *interp, char *progname, char *portname);
  53. int Tcla_Send(char *program, char *message, char **result);
  54. void Tcla_AddEventLoop(Tcl_Interp *interp, struct TclaHeader *thp, void (*func)(), long *waitmask_ptr);
  55. void Tcla_CleanupRoutine(struct TclaHeader *TclaHead, void (*cleanup_routine)(void));
  56. void Tcla_PanicRoutine(struct TclaHeader *TclaHead, void (*panic_routine)(char *));
  57. void Tcla_LowMemRoutine(struct TclaHeader *TclaHead, int (*lowmem_routine)(long));
  58.  
  59.  
  60. #pragma amicall(TclaBase, 0x1e, ckalloc(d0))
  61. #pragma amicall(TclaBase, 0x24, ckfree(a0))
  62. #pragma amicall(TclaBase, 0x2a, Tcl_AddErrorInfo(a0,a1))
  63. #pragma amicall(TclaBase, 0x30, Tcl_Backslash(a0,a1))
  64. #pragma amicall(TclaBase, 0x36, Tcl_Concat(d0,a0))
  65. #pragma amicall(TclaBase, 0x3c, Tcl_CreateCommand(a0,a1,a2,a3,d0))
  66. #pragma amicall(TclaBase, 0x42, Tcl_CreateInterp())
  67. #pragma amicall(TclaBase, 0x48, Tcl_CreateTrace(a0,d0,a1,a2))
  68. #pragma amicall(TclaBase, 0x4e, Tcl_DeleteCommand(a0,a1))
  69. #pragma amicall(TclaBase, 0x54, Tcl_DeleteInterp(a0))
  70. #pragma amicall(TclaBase, 0x5a, Tcl_DeleteTrace(a0,a1))
  71. #pragma amicall(TclaBase, 0x60, Tcl_Eval(a0,a1,d0,a2))
  72. #pragma amicall(TclaBase, 0x66, Tcl_Expr(a0,a1,a2))
  73. #pragma amicall(TclaBase, 0x6c, Tcl_GetVar(a0,a1,d0))
  74. #pragma amicall(TclaBase, 0x72, Tcl_Merge(d0,a0))
  75. #pragma amicall(TclaBase, 0x78, Tcl_ParseVar(a0,a1,a2))
  76. #pragma amicall(TclaBase, 0x7e, Tcl_Return(a0,a1,d0))
  77. #pragma amicall(TclaBase, 0x84, Tcl_SetVar(a0,a1,a2,d0))
  78. #pragma amicall(TclaBase, 0x8a, Tcl_SplitList(a0,a1,a2,a3))
  79. #pragma amicall(TclaBase, 0x90, Tcl_StringMatch(a0,a1))
  80. #pragma amicall(TclaBase, 0x96, Tcl_WatchInterp(a0,a1,a2))
  81. #pragma amicall(TclaBase, 0x9c, LocateResource(a0,a1))
  82. #pragma amicall(TclaBase, 0xa2, ConnectResource(a0,a1,a2))
  83. #pragma amicall(TclaBase, 0xa8, DisconnectResource(a0,a1))
  84. #pragma amicall(TclaBase, 0xae, Tcla_Init(a0,a1,a2))
  85. #pragma amicall(TclaBase, 0xb4, Tcla_Send(a0,a1,a2))
  86. #pragma amicall(TclaBase, 0xba, Tcla_AddEventLoop(a0,a1,a2,a3))
  87. #pragma amicall(TclaBase, 0xc0, Tcla_CleanupRoutine(a0,a1))
  88. #pragma amicall(TclaBase, 0xc6, Tcla_PanicRoutine(a0,a1))
  89. #pragma amicall(TclaBase, 0xcc, Tcla_LowMemRoutine(a0,a1))
  90.