diff options
Diffstat (limited to 'mfd/mailfromd.h')
-rw-r--r-- | mfd/mailfromd.h | 13 |
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); |