X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-pq;a=blobdiff_plain;f=src%2Fphp_pqconn.h;h=03ad9c88d5265133a66ed96f36b54e3d53e35b60;hp=1e5c822dbf1866583a804ec320c0b1d56051a9b5;hb=9d64e781a870ed359d744b4c2dbba4c6c11c44f1;hpb=9f5cecf26bd70a92ed013f31afec59e272623ac1 diff --git a/src/php_pqconn.h b/src/php_pqconn.h index 1e5c822..03ad9c8 100644 --- a/src/php_pqconn.h +++ b/src/php_pqconn.h @@ -19,15 +19,22 @@ #include #include "php_pq_callback.h" +#include "php_pq_params.h" typedef struct php_pqconn { PGconn *conn; int (*poller)(PGconn *); php_resource_factory_t factory; HashTable listeners; + HashTable converters; HashTable eventhandlers; php_pq_callback_t onevent; unsigned unbuffered:1; + unsigned default_fetch_type:2; + unsigned default_txn_isolation:2; + unsigned default_txn_readonly:1; + unsigned default_txn_deferrable:1; + unsigned default_auto_convert:16; } php_pqconn_t; typedef struct php_pqconn_object { @@ -42,17 +49,20 @@ typedef struct php_pqconn_resource_factory_data { long 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, HashTable *typest TSRMLS_DC); -STATUS php_pqconn_prepare_async(zval *object, php_pqconn_object_t *obj, const char *name, const char *query, HashTable *typest 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); +extern zend_class_entry *php_pqconn_class_entry; +extern zend_object_value php_pqconn_create_object_ex(zend_class_entry *ce, php_pqconn_t *intern, php_pqconn_object_t **ptr TSRMLS_DC); +extern void php_pqconn_notify_listeners(php_pqconn_object_t *obj TSRMLS_DC); +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 TSRMLS_DC); +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 TSRMLS_DC); +extern ZEND_RESULT_CODE php_pqconn_start_transaction(zval *zconn, php_pqconn_object_t *conn_obj, long isolation, zend_bool readonly, zend_bool deferrable TSRMLS_DC); +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 TSRMLS_DC); +extern ZEND_RESULT_CODE php_pqconn_declare(zval *object, php_pqconn_object_t *obj, const char *decl TSRMLS_DC); +extern ZEND_RESULT_CODE php_pqconn_declare_async(zval *object, php_pqconn_object_t *obj, const char *decl TSRMLS_DC); -PHP_MINIT_FUNCTION(pqconn); +extern PHP_MINIT_FUNCTION(pqconn); +extern PHP_MSHUTDOWN_FUNCTION(pqconn); #endif