typedef struct php_pq_callback {
zend_fcall_info fci;
zend_fcall_info_cache fcc;
- void *data;
+ struct php_pq_callback *recursion;
} php_pq_callback_t;
-void php_pq_callback_dtor(php_pq_callback_t *cb);
-void php_pq_callback_addref(php_pq_callback_t *cb);
-zval *php_pq_callback_to_zval(php_pq_callback_t *cb);
+extern void php_pq_callback_dtor(php_pq_callback_t *cb);
+extern void php_pq_callback_addref(php_pq_callback_t *cb);
+extern zval *php_pq_callback_to_zval(php_pq_callback_t *cb, zval *tmp);
+extern zval *php_pq_callback_to_zval_no_addref(php_pq_callback_t *cb, zval *tmp);
+extern zend_bool php_pq_callback_is_locked(php_pq_callback_t *cb);
+extern void php_pq_callback_recurse(php_pq_callback_t *old, php_pq_callback_t *new);
+extern zend_bool php_pq_callback_is_enabled(php_pq_callback_t *cb);
+extern void php_pq_callback_disable(php_pq_callback_t *cb);
+extern void php_pq_callback_recurse_ex(php_pq_callback_t *old, php_pq_callback_t *new);
+extern zend_bool php_pq_callback_is_recurrent(php_pq_callback_t *cb);
#endif