summaryrefslogtreecommitdiff
path: root/cmt/cmtcmd.c
diff options
context:
space:
mode:
Diffstat (limited to 'cmt/cmtcmd.c')
-rw-r--r--cmt/cmtcmd.c53
1 files changed, 53 insertions, 0 deletions
diff --git a/cmt/cmtcmd.c b/cmt/cmtcmd.c
new file mode 100644
index 0000000..2881467
--- /dev/null
+++ b/cmt/cmtcmd.c
@@ -0,0 +1,53 @@
+/* cmtcmd.c -- routines for the moxc side of the command interface */
+
+#include "switches.h"
+#include "stdio.h"
+#ifdef AMIGA
+#include "exec/types.h"
+#include "exec/exec.h"
+#endif
+#include "cmtcmd.h"
+#include "cext.h"
+#include "userio.h"
+#include "string.h"
+
+#define HASHELEM(p) ((p).symbol_name)
+#define HASHVAL 50
+#define HASHENTRIES 50
+#define HASHENTER lookup
+#define HASHNOCOPY
+
+#include "hashrout.h"
+
+void defvar(name, addr)
+ char *name;
+ int *addr;
+{
+ int i = lookup(name);
+ HASHENTRY(i).symb_type = var_symb_type;
+ HASHENTRY(i).ptr.intptr = addr;
+}
+
+
+void defun(name, addr)
+ char *name;
+ int (*addr)();
+{
+ int i = lookup(name);
+ HASHENTRY(i).symb_type = fn_symb_type;
+ HASHENTRY(i).ptr.routine = addr;
+}
+
+
+void defvec(name, addr, size)
+ char *name;
+ int *addr;
+ int size;
+{
+ int i = lookup(name);
+ HASHENTRY(i).symb_type = vec_symb_type;
+ HASHENTRY(i).size = size;
+ HASHENTRY(i).ptr.intptr = addr;
+}
+
+