X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2Fre-engine-Plugin.git;a=blobdiff_plain;f=Plugin.h;h=668aec9d95caa41ceb7d4edb71d188866ae1d5d8;hp=2124ad871a51822b04498f25e567b64ccbd1e47d;hb=dd88e700bfcc92fc03db9d994ec747ca1c14ade7;hpb=447aa9bcb55632cf669454868679169602a28fe2 diff --git a/Plugin.h b/Plugin.h index 2124ad8..668aec9 100644 --- a/Plugin.h +++ b/Plugin.h @@ -30,6 +30,20 @@ EXTERN_C I32 Plugin_numbered_buff_LENGTH(pTHX_ REGEXP * const, const SV * const, const I32); EXTERN_C SV * Plugin_named_buff_FETCH(pTHX_ REGEXP * const, SV * const, const U32); +EXTERN_C void Plugin_named_buff_STORE(pTHX_ REGEXP * const rx, + SV * const key, SV * const value, + const U32 flags); +EXTERN_C void Plugin_named_buff_DELETE(pTHX_ REGEXP * const rx, + SV * const key, const U32 flags); +EXTERN_C void Plugin_named_buff_CLEAR (pTHX_ REGEXP * const rx, const U32 flags); +EXTERN_C bool Plugin_named_buff_EXISTS (pTHX_ REGEXP * const rx, + SV * const key, const U32 flags); +EXTERN_C SV * Plugin_named_buff_FIRSTKEY (pTHX_ REGEXP * const rx, + const U32 flags); +EXTERN_C SV * Plugin_named_buff_NEXTKEY (pTHX_ REGEXP * const rx, + SV * const lastkey, const U32 flags); +EXTERN_C SV * Plugin_named_buff_SCALAR (pTHX_ REGEXP * const rx, + const U32 flags); EXTERN_C SV * Plugin_package(pTHX_ REGEXP * const); #ifdef USE_ITHREADS EXTERN_C void * Plugin_dupe(pTHX_ REGEXP * const, CLONE_PARAMS *); @@ -51,6 +65,13 @@ const regexp_engine engine_plugin = { Plugin_numbered_buff_STORE, Plugin_numbered_buff_LENGTH, Plugin_named_buff_FETCH, + Plugin_named_buff_STORE, + Plugin_named_buff_DELETE, + Plugin_named_buff_CLEAR, + Plugin_named_buff_EXISTS, + Plugin_named_buff_FIRSTKEY, + Plugin_named_buff_NEXTKEY, + Plugin_named_buff_SCALAR, Plugin_package, #if defined(USE_ITHREADS) Plugin_dupe, @@ -75,10 +96,18 @@ typedef struct replug { * Callbacks */ - SV * cb_free; - /* ->num_captures */ SV * cb_num_capture_buff_FETCH; SV * cb_num_capture_buff_STORE; SV * cb_num_capture_buff_LENGTH; + + /* ->named_captures */ + SV * cb_named_capture_buff_FETCH; + SV * cb_named_capture_buff_STORE; + SV * cb_named_capture_buff_DELETE; + SV * cb_named_capture_buff_CLEAR; + SV * cb_named_capture_buff_EXISTS; + SV * cb_named_capture_buff_FIRSTKEY; + SV * cb_named_capture_buff_NEXTKEY; + SV * cb_named_capture_buff_SCALAR; } *re__engine__Plugin;