X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-pq;a=blobdiff_plain;f=src%2Fphp_pqconn.h;h=1eb9b7b61297423eb56e73dd69e05b57d00f8cdd;hp=4f4b56c9d3dd34d543bfadead1e3459c211a5f58;hb=13b06e992c066b4cf1f381273b4f5f5e15764293;hpb=359b3471d6ed843d8ecf9d5fb0b85f06af446800 diff --git a/src/php_pqconn.h b/src/php_pqconn.h index 4f4b56c..1eb9b7b 100644 --- a/src/php_pqconn.h +++ b/src/php_pqconn.h @@ -18,7 +18,9 @@ #define PHP_PQCONN_PERSISTENT 0x02 #include +#include "php_pq_object.h" #include "php_pq_callback.h" +#include "php_pq_object.h" #include "php_pq_params.h" typedef struct php_pqconn { @@ -26,6 +28,7 @@ typedef struct php_pqconn { int (*poller)(PGconn *); php_resource_factory_t factory; HashTable listeners; + HashTable statements; HashTable converters; HashTable eventhandlers; php_pq_callback_t onevent; @@ -38,31 +41,28 @@ typedef struct php_pqconn { } php_pqconn_t; typedef struct php_pqconn_object { - zend_object zo; - zend_object_value zv; - HashTable *prophandler; - php_pqconn_t *intern; + PHP_PQ_OBJ_DECL(php_pqconn_t *) } php_pqconn_object_t; typedef struct php_pqconn_resource_factory_data { char *dsn; - long flags; + uint32_t flags; } php_pqconn_resource_factory_data_t; -php_resource_factory_ops_t *php_pqconn_get_resource_factory_ops(void); +extern php_resource_factory_ops_t *php_pqconn_get_resource_factory_ops(void); -zend_class_entry *php_pqconn_class_entry; -zend_object_value php_pqconn_create_object_ex(zend_class_entry *ce, php_pqconn_t *intern, php_pqconn_object_t **ptr TSRMLS_DC); -void php_pqconn_notify_listeners(php_pqconn_object_t *obj TSRMLS_DC); -STATUS php_pqconn_prepare(zval *object, php_pqconn_object_t *obj, const char *name, const char *query, php_pq_params_t *params TSRMLS_DC); -STATUS php_pqconn_prepare_async(zval *object, php_pqconn_object_t *obj, const char *name, const char *query, php_pq_params_t *params TSRMLS_DC); -STATUS php_pqconn_start_transaction(zval *zconn, php_pqconn_object_t *conn_obj, long isolation, zend_bool readonly, zend_bool deferrable TSRMLS_DC); -STATUS php_pqconn_start_transaction_async(zval *zconn, php_pqconn_object_t *conn_obj, long isolation, zend_bool readonly, zend_bool deferrable TSRMLS_DC); -STATUS php_pqconn_declare(zval *object, php_pqconn_object_t *obj, const char *decl TSRMLS_DC); -STATUS php_pqconn_declare_async(zval *object, php_pqconn_object_t *obj, const char *decl TSRMLS_DC); +extern zend_class_entry *php_pqconn_class_entry; +extern php_pqconn_object_t *php_pqconn_create_object_ex(zend_class_entry *ce, php_pqconn_t *intern); +extern void php_pqconn_notify_listeners(php_pqconn_object_t *obj); +extern ZEND_RESULT_CODE php_pqconn_prepare(zval *object, php_pqconn_object_t *obj, const char *name, const char *query, php_pq_params_t *params); +extern ZEND_RESULT_CODE php_pqconn_prepare_async(zval *object, php_pqconn_object_t *obj, const char *name, const char *query, php_pq_params_t *params); +extern ZEND_RESULT_CODE php_pqconn_start_transaction(zval *zconn, php_pqconn_object_t *conn_obj, long isolation, zend_bool readonly, zend_bool deferrable); +extern ZEND_RESULT_CODE php_pqconn_start_transaction_async(zval *zconn, php_pqconn_object_t *conn_obj, long isolation, zend_bool readonly, zend_bool deferrable); +extern ZEND_RESULT_CODE php_pqconn_declare(zval *object, php_pqconn_object_t *obj, const char *decl); +extern ZEND_RESULT_CODE php_pqconn_declare_async(zval *object, php_pqconn_object_t *obj, const char *decl); -PHP_MINIT_FUNCTION(pqconn); -PHP_MSHUTDOWN_FUNCTION(pqconn); +extern PHP_MINIT_FUNCTION(pqconn); +extern PHP_MSHUTDOWN_FUNCTION(pqconn); #endif