X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-pq;a=blobdiff_plain;f=src%2Fphp_pq_misc.h;h=c4fed18dde4d3530cceaa456d628603fbada311f;hp=9967f1f78e73d362b1d6be8fa1382d86f6812cc0;hb=a06db6d217fc8ba0fd9b8273a9e595477d59afcc;hpb=7d954192543192f2ef9b0db27f22b7807de31749 diff --git a/src/php_pq_misc.h b/src/php_pq_misc.h index 9967f1f..c4fed18 100644 --- a/src/php_pq_misc.h +++ b/src/php_pq_misc.h @@ -16,10 +16,27 @@ #include -typedef int STATUS; /* SUCCESS/FAILURE */ +#if PHP_VERSION_ID < 50500 +#undef SUCCESS +#undef FAILURE +typedef enum { + SUCCESS = 0, + FAILURE = -1 +} ZEND_RESULT_CODE; +#endif #include "php_pqres.h" +/* clear result object associated with a result handle */ +extern void php_pq_clear_res(PGresult *r); +/* clear any asynchronous results */ +extern void php_pq_clear_conn(PGconn *conn); +/* safe wrappers to clear any asynchronous wrappers before querying synchronously */ +extern PGresult *php_pq_exec(PGconn *conn, const char *query); +extern PGresult *php_pq_exec_params(PGconn *conn, const char *command, int nParams, const Oid *paramTypes, const char *const * paramValues, const int *paramLengths, const int *paramFormats, int resultFormat); +extern PGresult *php_pq_prepare(PGconn *conn, const char *stmtName, const char *query, int nParams, const Oid *paramTypes); +extern PGresult *php_pq_exec_prepared(PGconn *conn, const char *stmtName, int nParams, const char *const * paramValues, const int *paramLengths, const int *paramFormats, int resultFormat); + /* TSRM morony */ #if PHP_VERSION_ID >= 50700 # define z_is_true(z) zend_is_true(z TSRMLS_CC) @@ -28,27 +45,27 @@ typedef int STATUS; /* SUCCESS/FAILURE */ #endif /* trim LF from EOL */ -char *php_pq_rtrim(char *e); +extern char *php_pq_rtrim(char *e); /* R, W, RW */ -const char *php_pq_strmode(long mode); +extern const char *php_pq_strmode(long mode); /* compare array index */ -int php_pq_compare_index(const void *lptr, const void *rptr TSRMLS_DC); +extern int php_pq_compare_index(const void *lptr, const void *rptr TSRMLS_DC); -#define PHP_PQerrorMessage(c) rtrim(PQerrorMessage((c))) -#define PHP_PQresultErrorMessage(r) rtrim(PQresultErrorMessage((r))) +#define PHP_PQerrorMessage(c) php_pq_rtrim(PQerrorMessage((c))) +#define PHP_PQresultErrorMessage(r) php_pq_rtrim(PQresultErrorMessage((r))) -zend_class_entry *php_pqdt_class_entry; -zval *php_pqdt_from_string(char *datetime_str, size_t datetime_len, char *fmt, zval *zv TSRMLS_DC); -void php_pqdt_to_string(zval *zdt, const char *format, char **str_buf, size_t *str_len TSRMLS_DC); +extern zend_class_entry *php_pqdt_class_entry; +extern zval *php_pqdt_from_string(zval *zv, char *input_fmt, char *dt_str, size_t dt_len, char *output_fmt, zval *ztimezone TSRMLS_DC); +extern void php_pqdt_to_string(zval *zdt, const char *format, char **str_buf, size_t *str_len TSRMLS_DC); -zend_class_entry *php_pqconv_class_entry; +extern zend_class_entry *php_pqconv_class_entry; -HashTable *php_pq_parse_array(php_pqres_t *res, const char *val_str, size_t val_len, Oid typ TSRMLS_DC); +extern HashTable *php_pq_parse_array(php_pqres_t *res, const char *val_str, size_t val_len, Oid typ TSRMLS_DC); -PHP_MINIT_FUNCTION(pq_misc); +extern PHP_MINIT_FUNCTION(pq_misc); #endif