X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=sub_op.h;h=45ece3f999666aa510275bd54cd57aac785c1f80;hb=0eb003f3bbeeada878cab10f7dabc020c775b666;hp=c594f036e681fb4ad21a9c09d52fed32cf21ef04;hpb=c987524f0641ca6a25d5e3072c9d1a2ecef2f57c;p=perl%2Fmodules%2FSub-Op.git diff --git a/sub_op.h b/sub_op.h index c594f03..45ece3f 100644 --- a/sub_op.h +++ b/sub_op.h @@ -9,14 +9,19 @@ typedef OP *(*sub_op_check_t)(pTHX_ OP *, void *); typedef struct { const char *name; STRLEN namelen; - Perl_ppaddr_t pp; + const char *proto; + STRLEN protolen; sub_op_check_t check; + sub_op_check_t ref; void *ud; } sub_op_config_t; +#define SUB_OP_REGISTER_STEAL 1 + void sub_op_init (sub_op_config_t *c); -void sub_op_register(pTHX_ const sub_op_config_t *c); +void sub_op_register(pTHX_ const sub_op_config_t *c, U32 flags); sub_op_config_t *sub_op_dup (pTHX_ const sub_op_config_t *c); void sub_op_free (pTHX_ sub_op_config_t *c); +OP * sub_op_study (const OP *o, OP **last_arg_p, OP **rv2cv_p); #endif /* SUB_OP_H */