avoid adding a ref to the object of the iterator actually living inside
[m6w6/ext-pq] / src / php_pq_callback.h
1 /*
2 +--------------------------------------------------------------------+
3 | PECL :: pq |
4 +--------------------------------------------------------------------+
5 | Redistribution and use in source and binary forms, with or without |
6 | modification, are permitted provided that the conditions mentioned |
7 | in the accompanying LICENSE file are met. |
8 +--------------------------------------------------------------------+
9 | Copyright (c) 2013, Michael Wallner <mike@php.net> |
10 +--------------------------------------------------------------------+
11 */
12
13 #ifndef PHP_PQ_CALLBACK_H
14 #define PHP_PQ_CALLBACK_H
15
16 #include <Zend/zend_interfaces.h>
17
18 typedef struct php_pq_callback {
19 zend_fcall_info fci;
20 zend_fcall_info_cache fcc;
21 struct php_pq_callback *recursion;
22 } php_pq_callback_t;
23
24 void php_pq_callback_dtor(php_pq_callback_t *cb);
25 void php_pq_callback_addref(php_pq_callback_t *cb);
26 zval *php_pq_callback_to_zval(php_pq_callback_t *cb);
27 zend_bool php_pq_callback_is_locked(php_pq_callback_t *cb TSRMLS_DC);
28 void php_pq_callback_recurse(php_pq_callback_t *old, php_pq_callback_t *new TSRMLS_DC);
29
30 #endif
31
32 /*
33 * Local variables:
34 * tab-width: 4
35 * c-basic-offset: 4
36 * End:
37 * vim600: noet sw=4 ts=4 fdm=marker
38 * vim<600: noet sw=4 ts=4
39 */