#ifndef RE_ENGINE_HOOKS_H
#define RE_ENGINE_HOOKS_H 1
-typedef void (*reh_comp_hook)(pTHX_ regexp *, regnode *);
-typedef void (*reh_exec_hook)(pTHX_ regexp *, regnode *, regmatch_info *, regmatch_state *);
+typedef void (*reh_comp_node_hook)(pTHX_ regexp *, regnode *);
+typedef void (*reh_exec_node_hook)(pTHX_ regexp *, regnode *, regmatch_info *, regmatch_state *);
-void reh_register(pTHX_ const char *key, reh_comp_hook comp, reh_exec_hook exec);
-#define reh_register(K, C, E) reh_register(aTHX_ (K), (C), (E))
+typedef struct {
+ reh_comp_node_hook comp_node;
+ reh_exec_node_hook exec_node;
+} reh_config;
+
+void reh_register(pTHX_ const char *, reh_config *);
+#define reh_register(K, C) reh_register(aTHX_ (K), (C))
#endif /* RE_ENGINE_HOOKS_H */