#ifndef FUNCTION_H_ #define FUNCTION_H_ #include "data.h" int register_builtin_function(const char *name, int (*handler)(node_t **, int), bool eval_args); int register_user_function(const char *name, char **parameters, int param_count, node_t *body); int register_registry_function(const char *name, command_func_t func); int register_function(const char *name, command_func_t func); unified_function_t *find_unified_function(const char *name); node_t *execute_unified_function(exec_context_t *ctx, const char *name, node_t **args, int arg_count); command_func_t find_function(const char *name); int execute_command(const char *name); node_t *execute_function_call_in_context(exec_context_t *ctx, node_t *call); #endif