X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2Fre-engine-Hooks.git;a=blobdiff_plain;f=re_defs.h;h=6e749d3f97735a7d03af64a8fdcaa80be1003327;hp=f9510b8d216e01e820ef4b02ad618b2caaf4f0fc;hb=4a9aed6a870d6a954c42bac71334dd440780b226;hpb=be51951333b8f0da55af1243a039e74bb15dedcd diff --git a/re_defs.h b/re_defs.h index f9510b8..6e749d3 100644 --- a/re_defs.h +++ b/re_defs.h @@ -1,8 +1,30 @@ +#ifndef REH_HAS_PERL +# define REH_HAS_PERL(R, V, S) (PERL_REVISION > (R) || (PERL_REVISION == (R) && (PERL_VERSION > (V) || (PERL_VERSION == (V) && (PERL_SUBVERSION >= (S)))))) +#endif + +EXTERN_C void reh_save_re_context(pTHX); +EXTERN_C regnode *reh_regnext(pTHX_ register regnode *); +#if REH_HAS_PERL(5, 11, 0) +EXTERN_C REGEXP *reh_pregcomp(pTHX_ SV * const, const U32); +#else +EXTERN_C REGEXP *reh_pregcomp(pTHX_ const SV * const, const U32); +#endif +#if REH_HAS_PERL(5, 11, 2) +EXTERN_C REGEXP *reh_reg_temp_copy(pTHX_ REGEXP *, REGEXP *); +#else +EXTERN_C REGEXP *reh_reg_temp_copy(pTHX_ REGEXP *); +#endif +#if REH_HAS_PERL(5, 15, 7) +EXTERN_C SV *reh__invlist_contents(pTHX_ SV* const); +#endif + +EXTERN_C const struct regexp_engine reh_regexp_engine; + EXTERN_C void reh_call_comp_begin_hook(pTHX_ regexp *); -EXTERN_C void reh_call_comp_hook(pTHX_ regexp *, regnode *); -EXTERN_C void reh_call_exec_hook(pTHX_ regexp *, regnode *, regmatch_info *, regmatch_state *); +EXTERN_C void reh_call_comp_node_hook(pTHX_ regexp *, regnode *); +EXTERN_C void reh_call_exec_node_hook(pTHX_ regexp *, regnode *, regmatch_info *, regmatch_state *); -#define REH_CALL_COMP_BEGIN_HOOK(a) reh_call_comp_begin_hook(aTHX_ (a)) -#define REH_CALL_REGCOMP_HOOK(a, b) reh_call_comp_hook(aTHX_ (a), (b)) -#define REH_CALL_REGEXEC_HOOK(a, b, c, d) reh_call_exec_hook(aTHX_ (a), (b), (c), (d)) +#define REH_CALL_COMP_BEGIN_HOOK(a) reh_call_comp_begin_hook(aTHX_ (a)) +#define REH_CALL_COMP_NODE_HOOK(a, b) reh_call_comp_node_hook(aTHX_ (a), (b)) +#define REH_CALL_EXEC_NODE_HOOK(a, b, c, d) reh_call_exec_node_hook(aTHX_ (a), (b), (c), (d))