X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Fcontext.h;h=73d13cdf167806de3a2ae02ad3309c456096619f;hp=dc350fbf6d19bd1814f76d769fbf1b3fa4cbc0f6;hb=c9384515a81cb64d345b299908b2852f51bb8e6e;hpb=9bcb1df0786a8193d65949c857baaba2f4296e84 diff --git a/src/context.h b/src/context.h index dc350fb..73d13cd 100644 --- a/src/context.h +++ b/src/context.h @@ -43,11 +43,12 @@ enum psi_context_query { }; struct psi_context_ops { + ZEND_RESULT_CODE (*load)(void); + void (*free)(void); void (*init)(struct psi_context *C); void (*dtor)(struct psi_context *C); zend_function_entry *(*compile)(struct psi_context *C); - void (*call)(struct psi_context *C, struct psi_call_frame *frame, struct psi_decl *psi_decl, void *rval, void **args); - void (*call_va)(struct psi_context *C, struct psi_call_frame *frame, struct psi_decl *psi_decl, void *rval, void **args, size_t va_count, void **va_types); + void (*call)(struct psi_call_frame *frame); void *(*query)(struct psi_context *C, enum psi_context_query q, void *arg); }; @@ -72,7 +73,6 @@ struct psi_context_call_data { struct psi_context *psi_context_init(struct psi_context *C, struct psi_context_ops *ops, psi_error_cb error, unsigned flags); void psi_context_build(struct psi_context *C, const char *path); -bool psi_context_add_data(struct psi_context *C, struct psi_data *P); zend_function_entry *psi_context_compile(struct psi_context *C); ZEND_RESULT_CODE psi_context_call(struct psi_context *C, zend_execute_data *execute_data, zval *return_value, struct psi_impl *impl); void psi_context_dump(struct psi_context *C, int fd);