X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2Fre-engine-Hooks.git;a=blobdiff_plain;f=re_defs.h;h=6e749d3f97735a7d03af64a8fdcaa80be1003327;hp=b9e1ac2536ce05ba688b2e03a0c276833b411558;hb=4fed3fb749dc39acd325575d5efc0bfde0bcc101;hpb=3873fbc39d250734131e096da47add0cf601d194 diff --git a/re_defs.h b/re_defs.h index b9e1ac2..6e749d3 100644 --- a/re_defs.h +++ b/re_defs.h @@ -1,6 +1,28 @@ +#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_COMP_NODE_HOOK(a, b) reh_call_comp_node_hook(aTHX_ (a), (b))