typedef struct {
const char *name;
STRLEN namelen;
- Perl_ppaddr_t pp;
- sub_op_check_t check;
+ const char *proto;
+ STRLEN protolen;
+ sub_op_check_t call;
+ sub_op_check_t ref;
void *ud;
} sub_op_config_t;
-void sub_op_register(pTHX_ const sub_op_config_t *c);
+#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, 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 */