-#define RETVAL_OBJVAL(ov, addref) \
- ZVAL_OBJVAL(return_value, ov, addref)
-#define RETURN_OBJVAL(ov, addref) \
- RETVAL_OBJVAL(ov, addref); \
- return
-#define ZVAL_OBJVAL(zv, ov, addref) \
- (zv)->type = IS_OBJECT; \
- (zv)->value.obj = (ov);\
- if (addref && Z_OBJ_HT_P(zv)->add_ref) { \
- Z_OBJ_HT_P(zv)->add_ref((zv) TSRMLS_CC); \
- }
-/* return property */
-#define RETVAL_PROP(CE, n) RETVAL_PROP_EX(CE, getThis(), n)
-#define RETURN_PROP(CE, n) RETURN_PROP_EX(CE, getThis(), n)
-#define RETVAL_PROP_EX(CE, this, n) \
- { \
- zval *__prop = zend_read_property(CE, this, ZEND_STRL(n), 0 TSRMLS_CC); \
- RETVAL_ZVAL(__prop, 1, 0); \
- }
-#define RETURN_PROP_EX(CE, this, n) \
- { \
- zval *__prop = zend_read_property(CE, this, ZEND_STRL(n), 0 TSRMLS_CC); \
- RETURN_ZVAL(__prop, 1, 0); \
- }
-#define RETVAL_SPROP(CE, n) \
- { \
- zval *__prop = zend_read_static_property(CE, ZEND_STRL(n), 0 TSRMLS_CC); \
- RETVAL_ZVAL(__prop, 1, 0); \
- }
-#define RETURN_SPROP(CE, n) \
- { \
- zval *__prop = zend_read_static_property(CE, ZEND_STRL(n), 0 TSRMLS_CC); \
- RETURN_ZVAL(__prop, 1, 0); \
- }
-
-#define Z_OBJ_DELREF(z) \
- if (Z_OBJ_HT(z)->del_ref) { \
- Z_OBJ_HT(z)->del_ref(&(z) TSRMLS_CC); \
- }
-#define Z_OBJ_ADDREF(z) \
- if (Z_OBJ_HT(z)->add_ref) { \
- Z_OBJ_HT(z)->add_ref(&(z) TSRMLS_CC); \
- }
-#define Z_OBJ_DELREF_P(z) \
- if (Z_OBJ_HT_P(z)->del_ref) { \
- Z_OBJ_HT_P(z)->del_ref((z) TSRMLS_CC); \
- }
-#define Z_OBJ_ADDREF_P(z) \
- if (Z_OBJ_HT_P(z)->add_ref) { \
- Z_OBJ_HT_P(z)->add_ref((z) TSRMLS_CC); \
- }
-#define Z_OBJ_DELREF_PP(z) \
- if (Z_OBJ_HT_PP(z)->del_ref) { \
- Z_OBJ_HT_PP(z)->del_ref(*(z) TSRMLS_CC); \
- }
-#define Z_OBJ_ADDREF_PP(z) \
- if (Z_OBJ_HT_PP(z)->add_ref) { \
- Z_OBJ_HT_PP(z)->add_ref(*(z) TSRMLS_CC); \
- }
-
-#define PHP_HTTP_BEGIN_ARGS_EX(class, method, ret_ref, req_args) ZEND_BEGIN_ARG_INFO_EX(args_for_ ##class## _ ##method , 0, ret_ref, req_args)
-#define PHP_HTTP_BEGIN_ARGS_AR(class, method, ret_ref, req_args) ZEND_BEGIN_ARG_INFO_EX(args_for_ ##class## _ ##method , 1, ret_ref, req_args)
-#define PHP_HTTP_END_ARGS }
-#define PHP_HTTP_EMPTY_ARGS_EX(class, method, ret_ref) PHP_HTTP_BEGIN_ARGS_EX(class, method, ret_ref, 0) PHP_HTTP_END_ARGS
-#define PHP_HTTP_ARGS(class, method) args_for_ ##class## _ ##method
-#define PHP_HTTP_ARG_VAL(name, pass_ref) ZEND_ARG_INFO(pass_ref, name)
-#define PHP_HTTP_ARG_OBJ(class, name, allow_null) ZEND_ARG_OBJ_INFO(0, name, class, allow_null)