summaryrefslogtreecommitdiffstats
path: root/grammar/rainerscript.h
diff options
context:
space:
mode:
Diffstat (limited to 'grammar/rainerscript.h')
-rw-r--r--grammar/rainerscript.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/grammar/rainerscript.h b/grammar/rainerscript.h
index b7abf153..5d9eff7f 100644
--- a/grammar/rainerscript.h
+++ b/grammar/rainerscript.h
@@ -3,6 +3,13 @@
#include <stdio.h>
#include <libestr.h>
+#define CNFFUNC_MAX_ARGS 32
+ /**< maximum number of arguments that any function can have (among
+ * others, this is used to size data structures).
+ */
+
+extern int Debug; /* 1 if in debug mode, 0 otherwise -- to be enhanced */
+
enum cnfobjType {
CNFOBJ_ACTION,
CNFOBJ_GLOBAL,
@@ -125,11 +132,21 @@ struct cnffparamlst {
struct cnfexpr *expr;
};
+enum cnffuncid {
+ CNFFUNC_INVALID = 0, /**< defunct entry, do not use (should normally not be present) */
+ CNFFUNC_NAME = 1, /**< use name to call function (for future use) */
+ CNFFUNC_STRLEN,
+ CNFFUNC_GETENV,
+ CNFFUNC_TOLOWER,
+ CNFFUNC_CSTR,
+ CNFFUNC_CNUM
+};
+
struct cnffunc {
unsigned nodetype;
es_str_t *fname;
unsigned short nParams;
- unsigned short *fID; /* function ID for built-ins, 0 means use name */
+ enum cnffuncid fID; /* function ID for built-ins, 0 means use name */
struct cnfexpr *expr[];
};