home *** CD-ROM | disk | FTP | other *** search
- /* tcla.h - tool command language -- amiga, header file */
-
- /* the structure we send around amongst our Amiga Tcl message ports... */
-
- #include <exec/libraries.h>
- #include <exec/ports.h>
-
- struct AmigaTclMessage {
- struct Message message;
- char *request;
- char *result;
- char *callback;
- char *termptr;
- int returnval;
- int errorline;
- };
-
- struct TclaBase {
- struct Library ml_Lib;
- unsigned long ml_SegList; /* seg list of mylib itself*/
- long ml_value;
- };
-
- void *ckalloc(size_t len);
- void ckfree(void *what);
- void Tcl_AddErrorInfo(Tcl_Interp *interp, char *message);
- char Tcl_Backslash(char *src, int *readPtr);
- char *Tcl_Concat(int argc, char **argv);
- void Tcl_CreateCommand(Tcl_Interp *interp, char *cmdName, int (*proc)(),
- int *clientData, void (*deleteProc)());
- Tcl_Interp *Tcl_CreateInterp(void);
- int *Tcl_CreateTrace(Tcl_Interp *interp, int level, void (*proc)(),
- int *clientData);
- void Tcl_DeleteCommand(Tcl_Interp *interp, char *cmdName);
- void Tcl_DeleteInterp(Tcl_Interp *interp);
- void Tcl_DeleteTrace(Tcl_Interp *interp, int *trace);
- int Tcl_Eval(Tcl_Interp *interp, char *cmd, int flags, char **termPtr);
- int Tcl_Expr(Tcl_Interp *interp, char *string, int *valuePtr);
- char *Tcl_GetVar(Tcl_Interp *interp, char *varName, int global);
- char *Tcl_Merge(int argc, char **argv);
- char *Tcl_ParseVar(Tcl_Interp *interp, char *string, char **termPtr);
- void Tcl_Return(Tcl_Interp *interp, char *string, int status);
- void Tcl_SetVar(Tcl_Interp *interp, char *varName, char *newValue,
- int global);
- int Tcl_SplitList(Tcl_Interp *interp, char *list, int *argcPtr,
- char ***argvPtr);
- int Tcl_StringMatch(char *string, char *pattern);
- void Tcl_WatchInterp(Tcl_Interp *interp, void (*proc)(), int *clientData);
- void *LocateResource(char *groupname, char *itemname);
- int ConnectResource(char *groupname, char *resourcename, void *data);
- void *DisconnectResource(char *groupname, char *resourcename);
- struct TclaHeader *Tcla_Init(Tcl_Interp *interp, char *progname, char *portname);
- int Tcla_Send(char *program, char *message, char **result);
- void Tcla_AddEventLoop(Tcl_Interp *interp, struct TclaHeader *thp, void (*func)(), long *waitmask_ptr);
- void Tcla_CleanupRoutine(struct TclaHeader *TclaHead, void (*cleanup_routine)(void));
- void Tcla_PanicRoutine(struct TclaHeader *TclaHead, void (*panic_routine)(char *));
- void Tcla_LowMemRoutine(struct TclaHeader *TclaHead, int (*lowmem_routine)(long));
-
-
- #pragma amicall(TclaBase, 0x1e, ckalloc(d0))
- #pragma amicall(TclaBase, 0x24, ckfree(a0))
- #pragma amicall(TclaBase, 0x2a, Tcl_AddErrorInfo(a0,a1))
- #pragma amicall(TclaBase, 0x30, Tcl_Backslash(a0,a1))
- #pragma amicall(TclaBase, 0x36, Tcl_Concat(d0,a0))
- #pragma amicall(TclaBase, 0x3c, Tcl_CreateCommand(a0,a1,a2,a3,d0))
- #pragma amicall(TclaBase, 0x42, Tcl_CreateInterp())
- #pragma amicall(TclaBase, 0x48, Tcl_CreateTrace(a0,d0,a1,a2))
- #pragma amicall(TclaBase, 0x4e, Tcl_DeleteCommand(a0,a1))
- #pragma amicall(TclaBase, 0x54, Tcl_DeleteInterp(a0))
- #pragma amicall(TclaBase, 0x5a, Tcl_DeleteTrace(a0,a1))
- #pragma amicall(TclaBase, 0x60, Tcl_Eval(a0,a1,d0,a2))
- #pragma amicall(TclaBase, 0x66, Tcl_Expr(a0,a1,a2))
- #pragma amicall(TclaBase, 0x6c, Tcl_GetVar(a0,a1,d0))
- #pragma amicall(TclaBase, 0x72, Tcl_Merge(d0,a0))
- #pragma amicall(TclaBase, 0x78, Tcl_ParseVar(a0,a1,a2))
- #pragma amicall(TclaBase, 0x7e, Tcl_Return(a0,a1,d0))
- #pragma amicall(TclaBase, 0x84, Tcl_SetVar(a0,a1,a2,d0))
- #pragma amicall(TclaBase, 0x8a, Tcl_SplitList(a0,a1,a2,a3))
- #pragma amicall(TclaBase, 0x90, Tcl_StringMatch(a0,a1))
- #pragma amicall(TclaBase, 0x96, Tcl_WatchInterp(a0,a1,a2))
- #pragma amicall(TclaBase, 0x9c, LocateResource(a0,a1))
- #pragma amicall(TclaBase, 0xa2, ConnectResource(a0,a1,a2))
- #pragma amicall(TclaBase, 0xa8, DisconnectResource(a0,a1))
- #pragma amicall(TclaBase, 0xae, Tcla_Init(a0,a1,a2))
- #pragma amicall(TclaBase, 0xb4, Tcla_Send(a0,a1,a2))
- #pragma amicall(TclaBase, 0xba, Tcla_AddEventLoop(a0,a1,a2,a3))
- #pragma amicall(TclaBase, 0xc0, Tcla_CleanupRoutine(a0,a1))
- #pragma amicall(TclaBase, 0xc6, Tcla_PanicRoutine(a0,a1))
- #pragma amicall(TclaBase, 0xcc, Tcla_LowMemRoutine(a0,a1))
-