diff options
Diffstat (limited to 'src/core/special-vars.h')
-rw-r--r-- | src/core/special-vars.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/core/special-vars.h b/src/core/special-vars.h new file mode 100644 index 00000000..c40a2fcb --- /dev/null +++ b/src/core/special-vars.h @@ -0,0 +1,27 @@ +#ifndef __SPECIAL_VARS_H +#define __SPECIAL_VARS_H + +typedef char* (*EXPANDO_FUNC) (void *server, void *item, int *free_ret); +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, void *server, void *item, char **arglist, int *free_ret, int *arg_used); + +/* parse the whole string. $ and \ chars are replaced */ +char *parse_special_string(const char *cmd, void *server, void *item, const char *data, int *arg_used); + +/* execute the commands in string - commands can be split with ';' */ +void eval_special_string(const char *cmd, const char *data, void *server, void *item); + +/* Create expando - overrides any existing ones. */ +void expando_create(const char *key, EXPANDO_FUNC func); +/* Destroy expando */ +void expando_destroy(const char *key, EXPANDO_FUNC func); + +void special_history_func_set(SPECIAL_HISTORY_FUNC func); + +void special_vars_init(void); +void special_vars_deinit(void); + +#endif |