]> git.vpit.fr Git - perl/modules/re-engine-Hooks.git/blob - re_defs.h
Add support for perl 5.14.3
[perl/modules/re-engine-Hooks.git] / re_defs.h
1 #ifndef REH_HAS_PERL
2 # define REH_HAS_PERL(R, V, S) (PERL_REVISION > (R) || (PERL_REVISION == (R) && (PERL_VERSION > (V) || (PERL_VERSION == (V) && (PERL_SUBVERSION >= (S))))))
3 #endif
4
5 EXTERN_C void     reh_save_re_context(pTHX);
6 EXTERN_C regnode *reh_regnext(pTHX_ register regnode *);
7 #if REH_HAS_PERL(5, 11, 0)
8 EXTERN_C REGEXP  *reh_pregcomp(pTHX_ SV * const, const U32);
9 #else
10 EXTERN_C REGEXP  *reh_pregcomp(pTHX_ const SV * const, const U32);
11 #endif
12 #if REH_HAS_PERL(5, 11, 2)
13 EXTERN_C REGEXP  *reh_reg_temp_copy(pTHX_ REGEXP *, REGEXP *);
14 #else
15 EXTERN_C REGEXP  *reh_reg_temp_copy(pTHX_ REGEXP *);
16 #endif
17 #if REH_HAS_PERL(5, 15, 7)
18 EXTERN_C SV      *reh__invlist_contents(pTHX_ SV* const);
19 #endif
20
21 EXTERN_C const struct regexp_engine reh_regexp_engine;
22
23 EXTERN_C void reh_call_comp_begin_hook(pTHX_ regexp *);
24 EXTERN_C void reh_call_comp_node_hook(pTHX_ regexp *, regnode *);
25 EXTERN_C void reh_call_exec_node_hook(pTHX_ regexp *, regnode *, regmatch_info *, regmatch_state *);
26
27 #define REH_CALL_COMP_BEGIN_HOOK(a)         reh_call_comp_begin_hook(aTHX_ (a))
28 #define REH_CALL_COMP_NODE_HOOK(a, b)       reh_call_comp_node_hook(aTHX_ (a), (b))
29 #define REH_CALL_EXEC_NODE_HOOK(a, b, c, d) reh_call_exec_node_hook(aTHX_ (a), (b), (c), (d))
30