summaryrefslogtreecommitdiff
path: root/src/core/special-vars.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/special-vars.h')
-rw-r--r--src/core/special-vars.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/core/special-vars.h b/src/core/special-vars.h
index 1b8b3e20..deb4de40 100644
--- a/src/core/special-vars.h
+++ b/src/core/special-vars.h
@@ -1,19 +1,23 @@
#ifndef __SPECIAL_VARS_H
#define __SPECIAL_VARS_H
+#include "signals.h"
#include "servers.h"
+#define PARSE_FLAG_GETNAME 0x01 /* return argument name instead of it's value */
+#define PARSE_FLAG_ISSET_ANY 0x02 /* arg_used field specifies that at least one of the $variables was non-empty */
+
typedef char* (*SPECIAL_HISTORY_FUNC)
(const char *text, void *item, int *free_ret);
/* Parse and expand text after '$' character. return value has to be
g_free()'d if `free_ret' is TRUE. */
char *parse_special(char **cmd, SERVER_REC *server, void *item,
- char **arglist, int *free_ret, int *arg_used);
+ char **arglist, int *free_ret, int *arg_used, int flags);
/* parse the whole string. $ and \ chars are replaced */
char *parse_special_string(const char *cmd, SERVER_REC *server, void *item,
- const char *data, int *arg_used);
+ const char *data, int *arg_used, int flags);
/* execute the commands in string - commands can be split with ';' */
void eval_special_string(const char *cmd, const char *data,
@@ -21,4 +25,9 @@ void eval_special_string(const char *cmd, const char *data,
void special_history_func_set(SPECIAL_HISTORY_FUNC func);
+void special_vars_add_signals(const char *text,
+ int funccount, SIGNAL_FUNC *funcs);
+void special_vars_remove_signals(const char *text,
+ int funccount, SIGNAL_FUNC *funcs);
+
#endif