summaryrefslogtreecommitdiff
path: root/ext/pdo_firebird/php_pdo_firebird_int.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2013-03-14 05:42:27 +0000
committer <>2013-04-03 16:25:08 +0000
commitc4dd7a1a684490673e25aaf4fabec5df138854c4 (patch)
tree4d57c44caae4480efff02b90b9be86f44bf25409 /ext/pdo_firebird/php_pdo_firebird_int.h
downloadphp2-master.tar.gz
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'ext/pdo_firebird/php_pdo_firebird_int.h')
-rw-r--r--ext/pdo_firebird/php_pdo_firebird_int.h150
1 files changed, 150 insertions, 0 deletions
diff --git a/ext/pdo_firebird/php_pdo_firebird_int.h b/ext/pdo_firebird/php_pdo_firebird_int.h
new file mode 100644
index 0000000..9632edc
--- /dev/null
+++ b/ext/pdo_firebird/php_pdo_firebird_int.h
@@ -0,0 +1,150 @@
+/*
+ +----------------------------------------------------------------------+
+ | PHP Version 5 |
+ +----------------------------------------------------------------------+
+ | Copyright (c) 1997-2013 The PHP Group |
+ +----------------------------------------------------------------------+
+ | This source file is subject to version 3.01 of the PHP license, |
+ | that is bundled with this package in the file LICENSE, and is |
+ | available through the world-wide-web at the following url: |
+ | http://www.php.net/license/3_01.txt |
+ | If you did not receive a copy of the PHP license and are unable to |
+ | obtain it through the world-wide-web, please send a note to |
+ | license@php.net so we can mail you a copy immediately. |
+ +----------------------------------------------------------------------+
+ | Author: Ard Biesheuvel <abies@php.net> |
+ +----------------------------------------------------------------------+
+*/
+
+/* $Id$ */
+
+#ifndef PHP_PDO_FIREBIRD_INT_H
+#define PHP_PDO_FIREBIRD_INT_H
+
+#include <ibase.h>
+
+#ifdef SQLDA_VERSION
+#define PDO_FB_SQLDA_VERSION SQLDA_VERSION
+#else
+#define PDO_FB_SQLDA_VERSION 1
+#endif
+
+#define PDO_FB_DIALECT 3
+
+#define PDO_FB_DEF_DATE_FMT "%Y-%m-%d"
+#define PDO_FB_DEF_TIME_FMT "%H:%M:%S"
+#define PDO_FB_DEF_TIMESTAMP_FMT PDO_FB_DEF_DATE_FMT " " PDO_FB_DEF_TIME_FMT
+
+#define SHORT_MAX (1 << (8*sizeof(short)-1))
+
+#if SIZEOF_LONG == 8
+# define LL_MASK "l"
+# define LL_LIT(lit) lit ## L
+#else
+# ifdef PHP_WIN32
+# define LL_MASK "I64"
+# define LL_LIT(lit) lit ## I64
+# else
+# define LL_MASK "ll"
+# define LL_LIT(lit) lit ## LL
+# endif
+#endif
+
+/* Firebird API has a couple of missing const decls in its API */
+#define const_cast(s) ((char*)(s))
+
+#ifdef PHP_WIN32
+typedef void (__stdcall *info_func_t)(char*);
+#else
+typedef void (*info_func_t)(char*);
+#endif
+
+#ifndef min
+#define min(a,b) ((a)<(b)?(a):(b))
+#endif
+
+typedef struct {
+
+ /* the result of the last API call */
+ ISC_STATUS isc_status[20];
+
+ /* the connection handle */
+ isc_db_handle db;
+
+ /* the transaction handle */
+ isc_tr_handle tr;
+
+ /* the last error that didn't come from the API */
+ char const *last_app_error;
+
+ /* date and time format strings, can be set by the set_attribute method */
+ char *date_format;
+ char *time_format;
+ char *timestamp_format;
+
+ /* prepend table names on column names in fetch */
+ unsigned fetch_table_names:1;
+
+ unsigned _reserved:31;
+
+} pdo_firebird_db_handle;
+
+
+typedef struct {
+
+ /* the link that owns this statement */
+ pdo_firebird_db_handle *H;
+
+ /* the statement handle */
+ isc_stmt_handle stmt;
+
+ /* the name of the cursor (if it has one) */
+ char name[32];
+
+ /* the type of statement that was issued */
+ char statement_type:8;
+
+ /* whether EOF was reached for this statement */
+ unsigned exhausted:1;
+
+ /* successful isc_dsql_execute opens a cursor */
+ unsigned cursor_open:1;
+
+ unsigned _reserved:22;
+
+ /* the named params that were converted to ?'s by the driver */
+ HashTable *named_params;
+
+ /* allocated space to convert fields values to other types */
+ char **fetch_buf;
+
+ /* the input SQLDA */
+ XSQLDA *in_sqlda;
+
+ /* the output SQLDA */
+ XSQLDA out_sqlda; /* last member */
+
+} pdo_firebird_stmt;
+
+extern pdo_driver_t pdo_firebird_driver;
+
+extern struct pdo_stmt_methods firebird_stmt_methods;
+
+void _firebird_error(pdo_dbh_t *dbh, pdo_stmt_t *stmt, char const *file, long line TSRMLS_DC);
+
+enum {
+ PDO_FB_ATTR_DATE_FORMAT = PDO_ATTR_DRIVER_SPECIFIC,
+ PDO_FB_ATTR_TIME_FORMAT,
+ PDO_FB_ATTR_TIMESTAMP_FORMAT,
+};
+
+#endif /* PHP_PDO_FIREBIRD_INT_H */
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * End:
+ * vim600: noet sw=4 ts=4 fdm=marker
+ * vim<600: noet sw=4 ts=4
+ */