X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=php_psi.h;h=7673d4ee292669aa315ce8283e7ce3a2270a7d25;hp=f5859e3dacbe155f84a8672e1cc4bcd17f485803;hb=bd765bd31d30834ca633ffc120e2fce4e49912d7;hpb=e16c15d5936c3b57b05e49570fb9526920de8188 diff --git a/php_psi.h b/php_psi.h index f5859e3..7673d4e 100644 --- a/php_psi.h +++ b/php_psi.h @@ -20,7 +20,9 @@ extern zend_module_entry psi_module_entry; #include "context.h" -void psi_error(int type, const char *msg, ...); +void psi_error_wrapper(PSI_Token *t, int type, const char *msg, ...); +void psi_error(int type, const char *fn, unsigned ln, const char *msg, ...); +void psi_verror(int type, const char *fn, unsigned ln, const char *msg, va_list argv); static inline int psi_check_env(const char *var) { char *set = getenv(var); @@ -44,6 +46,7 @@ size_t psi_t_alignment(token_t t); size_t psi_t_size(token_t t); size_t psi_t_align(token_t t, size_t s); +size_t psi_offset_padding(size_t diff, size_t alignment); int psi_internal_type(impl_type *type); zend_internal_arg_info *psi_internal_arginfo(impl *impl); size_t psi_num_min_args(impl *impl); @@ -53,6 +56,7 @@ void psi_to_bool(zval *return_value, set_value *set, impl_val *ret_val); void psi_to_int(zval *return_value, set_value *set, impl_val *ret_val); void psi_to_double(zval *return_value, set_value *set, impl_val *ret_val); void psi_to_string(zval *return_value, set_value *set, impl_val *ret_val); +void psi_to_recursive(zval *return_value, set_value *set, impl_val *r_val); void psi_to_array(zval *return_value, set_value *set, impl_val *ret_val); void psi_to_object(zval *return_value, set_value *set, impl_val *ret_val);