summaryrefslogtreecommitdiff
path: root/addon.h
diff options
context:
space:
mode:
authortgoodwin <tgoodwin>1998-07-08 10:47:26 +0000
committerToby Goodwin <toby@paccrat.org>2015-05-16 21:23:06 +0100
commit3173fedfe4988d304bebf0e598384cab76fe94e9 (patch)
tree3ed4b6d2ec1e401d7c824234a08760af09990ab9 /addon.h
parent51620813cfe54910ece7d9d1164d0806c7fc513f (diff)
Initial revision
Diffstat (limited to 'addon.h')
-rw-r--r--addon.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/addon.h b/addon.h
new file mode 100644
index 0000000..25f2312
--- /dev/null
+++ b/addon.h
@@ -0,0 +1,38 @@
+/*
+ This file is the interface to the rest of rc for any locally
+ defined addon builtins. By default there are none.
+ The interface consists of the following macro.
+
+ ADDONS A comma-separated list of pairs of function pointers
+ and string literals.
+
+ The addon functions must also have proper prototypes in this file.
+ The builtins all have the form:
+
+ void b_NAME(char **av);
+
+ Builtins report their exit status using set(TRUE) or set(FALSE).
+
+ Example:
+
+ #define ADDONS { b_test, "test" },
+ extern void b_test(char **av);
+*/
+
+#define ADDONS /* no addons by default */
+
+#ifdef DWS
+
+/*
+ This is what DaviD Sanderson (dws@cs.wisc.edu) uses.
+*/
+
+#undef ADDONS
+#define ADDONS { b_access, "access" },\
+ { b_test, "test" },\
+ { b_test, "[" },
+
+extern void b_access(char **av);
+extern void b_test(char **av);
+
+#endif