-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);
-zend_bool php_pq_callback_is_locked(php_pq_callback_t *cb TSRMLS_DC);
-void php_pq_callback_recurse(php_pq_callback_t *old, php_pq_callback_t *new TSRMLS_DC);
+#define PHP_PQ_CALLBACK_INIT {{0},{0},NULL}
+
+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);