X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2Fre-engine-Hooks.git;a=blobdiff_plain;f=re_defs.h;h=1df3739f4371ec1748d587a2f407ec0b2648ab83;hp=f9510b8d216e01e820ef4b02ad618b2caaf4f0fc;hb=HEAD;hpb=be51951333b8f0da55af1243a039e74bb15dedcd diff --git a/re_defs.h b/re_defs.h index f9510b8..1df3739 100644 --- a/re_defs.h +++ b/re_defs.h @@ -1,8 +1,28 @@ +#include "xsh/caps.h" /* XSH_HAS_PERL() */ + +EXTERN_C void reh_save_re_context(pTHX); +EXTERN_C regnode *reh_regnext(pTHX_ register regnode *); +#if XSH_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 XSH_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 XSH_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))