X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-propro;a=blobdiff_plain;f=php_propro.h;h=4fc39c564021b9953303f869501942a1394ea332;hp=5d01740f305723d5dbf81bbdd9ecf6ee5ed380a6;hb=921871c048332818704008ce7b67f8f2e32d3cf4;hpb=b401faa6060bd887e9cc00d0f30fb30a18546e0c diff --git a/php_propro.h b/php_propro.h index 5d01740..4fc39c5 100644 --- a/php_propro.h +++ b/php_propro.h @@ -16,44 +16,21 @@ extern zend_module_entry propro_module_entry; #define phpext_propro_ptr &propro_module_entry -#define PHP_PROPRO_VERSION "0.1.0" +#define PHP_PROPRO_VERSION "2.1.0" #ifdef PHP_WIN32 # define PHP_PROPRO_API __declspec(dllexport) #elif defined(__GNUC__) && __GNUC__ >= 4 -# define PHP_PROPRO_API __attribute__ ((visibility("default"))) +# define PHP_PROPRO_API extern __attribute__ ((visibility("default"))) #else -# define PHP_PROPRO_API +# define PHP_PROPRO_API extern #endif #ifdef ZTS # include #endif -typedef struct php_property_proxy { - zval *container; - char *member_str; - size_t member_len; -} php_property_proxy_t; - -typedef struct php_property_proxy_object { - zend_object zo; - zend_object_value zv; - php_property_proxy_t *proxy; - struct php_property_proxy_object *parent; -} php_property_proxy_object_t; - -PHP_PROPRO_API php_property_proxy_t *php_property_proxy_init(zval *container, - const char *member_str, size_t member_len TSRMLS_DC); -PHP_PROPRO_API void php_property_proxy_free(php_property_proxy_t **proxy); - -PHP_PROPRO_API zend_class_entry *php_property_proxy_get_class_entry(void); - -PHP_PROPRO_API zend_object_value php_property_proxy_object_new( - zend_class_entry *ce TSRMLS_DC); -PHP_PROPRO_API zend_object_value php_property_proxy_object_new_ex( - zend_class_entry *ce, php_property_proxy_t *proxy, - php_property_proxy_object_t **ptr TSRMLS_DC); +#define PHP_PROPRO_PTR(zo) (void*)(((char*)(zo))-(zo)->handlers->offset) #endif /* PHP_PROPRO_H */