1 #include "xsh/caps.h" /* XSH_HAS_PERL() */
3 EXTERN_C void reh_save_re_context(pTHX);
4 EXTERN_C regnode *reh_regnext(pTHX_ register regnode *);
5 #if XSH_HAS_PERL(5, 11, 0)
6 EXTERN_C REGEXP *reh_pregcomp(pTHX_ SV * const, const U32);
8 EXTERN_C REGEXP *reh_pregcomp(pTHX_ const SV * const, const U32);
10 #if XSH_HAS_PERL(5, 11, 2)
11 EXTERN_C REGEXP *reh_reg_temp_copy(pTHX_ REGEXP *, REGEXP *);
13 EXTERN_C REGEXP *reh_reg_temp_copy(pTHX_ REGEXP *);
15 #if XSH_HAS_PERL(5, 15, 7)
16 EXTERN_C SV *reh__invlist_contents(pTHX_ SV* const);
19 EXTERN_C const struct regexp_engine reh_regexp_engine;
21 EXTERN_C void reh_call_comp_begin_hook(pTHX_ regexp *);
22 EXTERN_C void reh_call_comp_node_hook(pTHX_ regexp *, regnode *);
23 EXTERN_C void reh_call_exec_node_hook(pTHX_ regexp *, regnode *, regmatch_info *, regmatch_state *);
25 #define REH_CALL_COMP_BEGIN_HOOK(a) reh_call_comp_begin_hook(aTHX_ (a))
26 #define REH_CALL_COMP_NODE_HOOK(a, b) reh_call_comp_node_hook(aTHX_ (a), (b))
27 #define REH_CALL_EXEC_NODE_HOOK(a, b, c, d) reh_call_exec_node_hook(aTHX_ (a), (b), (c), (d))