aboutsummaryrefslogtreecommitdiff
path: root/mfd/mailfromd.h
diff options
context:
space:
mode:
Diffstat (limited to 'mfd/mailfromd.h')
-rw-r--r--mfd/mailfromd.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/mfd/mailfromd.h b/mfd/mailfromd.h
index 43502e99..8e54d0c3 100644
--- a/mfd/mailfromd.h
+++ b/mfd/mailfromd.h
@@ -506,6 +506,11 @@ typedef unsigned long prog_counter_t; /* Program counter */
/* Data types */
+#define MFD_BUILTIN_CAPTURE 0x01 /* Builtin needs message capturing */
+#define MFD_BUILTIN_VARIADIC 0x02 /* Builtin is variadic */
+#define MFD_BUILTIN_NO_PROMOTE 0x04 /* For variadic functions:
+ do not promote varargs to string */
+
struct builtin {
char *name; /* Built-in function name */
void (*handler) (eval_environ_t); /* C handler */
@@ -516,9 +521,7 @@ struct builtin {
data_type_t rettype; /* Return type */
unsigned statemask; /* States where the function can
be used */
- int capture; /* Does it need message capturing */
- int varargs; /* Does it take optional number of
- arguments */
+ int flags; /* Flags */
};
struct function { /* User-defined function */
@@ -613,9 +616,9 @@ void print_used_macros(void);
void va_builtin_install (char *name, void (*handler) (eval_environ_t),
data_type_t rettype, size_t argcount, ...);
void va_builtin_install_ex (char *name, void (*handler) (eval_environ_t),
- unsigned statemsk, int capture,
+ unsigned statemsk,
data_type_t rettype, size_t argcount,
- size_t optcount, int varargs, ...);
+ size_t optcount, int flags, ...);
const struct builtin *builtin_lookup(const char *name);
struct variable *variable_install(const char *name);

Return to:

Send suggestions and report system problems to the System administrator.